2014-05-01 43 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 } ?> 

如果你想,雖然發表您的隱藏層的標記,還是要做到這一點,你是如何做的,也許我們可以找到爲什麼它不工作。

相關問題