优化如果其他语句 - 或 - 结束 - Wordpress / Php

时间:2016-04-23 06:24:45

标签: php wordpress

我想知道是否有一种方法可以在以下代码中改进我的If Else语句:

<?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; ?>

基本上,我需要说的是,如果用户具有所需的成员资格(在第一个语句中,则用户个人资料将可见。

如果用户没有所需的会员资格,但已登录并正在访问他自己的个人资料(是作者),则只能访问自己的个人资料。

如果用户未登录,也没有作者,也没有有效的成员资格,则不会显示任何配置文件,而是会显示升级订阅的链接。

我的问题是用户个人资料的HTML很长,我不想在第二个陈述中再次重复整个事情。

那么有没有办法优化语句,所以它的内容如下:

如果用户已登录AND并且作者有OR,则会显示该个人资料吗?

我可以在一个语句中使用||&&吗?

1 个答案:

答案 0 :(得分: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; ?>