2016-04-23 35 views
1

我想知道是否有改進的方式我如果在下面的代碼Else語句:瑞風的if else語句 - 或 - 結束 - 的WordPress/PHP的

<?php if (ms_has_membership(01)): ?> 

     // HTML - USER PROFILE 

<?php global $current_user; 
     get_currentuserinfo(); 
     elseif (is_user_logged_in() && $current_user->ID == $post->post_author): ?> 

     // HTML - USER PROFILE - (Same as above)      

<?php else: ?> 

     // LINK - Upgrade Your Subscription 

<?php endif; ?> 

基本上,我需要說的是,如果用戶具有所需的成員資格(在第一條語句中,用戶配置文件將可見)

如果用戶沒有所需的成員資格,但已登錄並正在訪問他自己的配置文件(作者),則只有他自己的配置文件將被訪問

而如果用戶是t登錄,也不是作者,也沒有有效的成員資格,不會顯示任何配置文件,而是顯示升級訂閱的鏈接。

我的問題是,用戶配置文件的HTML很長,我不想在第二個語句中再次重複整個事情。

那麼,有沒有辦法細化語句,所以它讀取:

如果用戶在登錄AND有一個有效會員OR是和作者,然後顯示個人資料?

我可以在一條單獨的聲明中使用||&&嗎?

+0

' ID == $後> post_author)):?> // HTML - USER PROFILE // LINK - 升級您的訂閱 <?php endif; ?>' –

回答

1

正如你所說: - 那麼有沒有一種方法來優化語句,所以它顯示:如果用戶登錄並有一個有效的成員資格或是和作者,然後顯示配置文件?

你可以做到這一點在以下方式: -

<?php 
    global $current_user; 
    get_currentuserinfo(); 
?> 
<?php if (is_user_logged_in() && (ms_has_membership(01) || $current_user->ID == $post->post_author) ): ?> 

     // HTML - USER PROFILE      

<?php else: ?> 

     // LINK - Upgrade Your Subscription 

<?php endif; ?> 
+0

我明白了,我其實並沒有想到我可以一起參加這些活動。 –