2016-04-23 57 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

我明白了,我其实并没有想到我可以一起参加这些活动。 –