我想知道是否有一种方法可以在以下代码中改进我的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
,则会显示该个人资料吗?
我可以在一个语句中使用||
和&&
吗?
答案 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; ?>