2014-05-01 44 views
0

在wordpress上构建网站 试图使登录用户只能看到几个div。我已经在样式表中设置了display:none,这里是我如何使它对登录用户可见。没有工作,但...jquery(或css)在php中仅显示登录用户的div(wordpress)

<?php 
if (is_user_logged_in()) { 
?> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$(".single_add_to_cart_button").css('display','block'); 
$(".add_to_cart_button").css('display','block'); 
}); 
</script> 
<? } ?> 

如果任何人能想到的其他ways-将不胜感激,以及

+0

您可以发布您的div的标记(HTML)? – SharkofMirkwood

回答

1

只要is_user_logged_in()实际上工作,我喜欢只输出一个类到身体。然后可以以多种方式使用此类(包括js和css)。

喜欢的东西:

<body<?php echo (is_user_logged_in() ? ' class="logged-in"' : ''); ?>> 

这将产生两种

<body> 

或者

<body class="logged-in"> 

而且一些CSS是这样的:

.single_add_to_cart_button { 
    display: none; 
} 
.logged-in .single_add_to_cart_button { 
    display: block; 
} 

对于JS,你可以检查

if ($('body').hasClass('logged-in')) { 
    // Do whatever 
} 
+0

完美!谢谢! – user3594249

+0

帮了我很多,谢谢! –

0

要做到这一点,最好的方法是具有未授权的用户隐藏div来忘记 - 任何人如果他们想要,可以取消隐藏这些内容,在某些情况下,根据系统的其他部分,这些内容可能会非常糟糕。这也意味着你必须运行JavaScript来使事情和PHP一样工作。

你真正应该做的只是检查用户是否使用PHP登录,并且在这种情况下只输出div。 事情是这样的:

<?php 
if (is_user_logged_in()) { 
?> 
<div class="blah..."> 
Content here 
</div> 
<?php } ?> 

如果你想,虽然发表您的隐藏层的标记,还是要做到这一点,你是如何做的,也许我们可以找到为什么它不工作。

相关问题