多个if语句问题

时间:2016-10-15 21:37:29

标签: php if-statement statements

我遇到多个if语句的问题。我正在使用&&,但它似乎只适用于第一个语句。 代码是这样的:

global $post;
$args = array( 'post_id' => $post->ID );
$comment = get_comments( $args );
$user = wp_get_current_user();
if ( 3 <= count( $comment ) && $post->post_author == $user->ID) {
    echo do_shortcode( '[button]' );
} else {
    comment_form();
}

它基本上是统计数据,如果少于3条评论然后显示评论表单,但如果有超过3条并且是帖子作者然后显示一个按钮。按钮显示但仅当有超过3条评论时。它不会检查它是否只是帖子作者,就像我想要的那样。

2 个答案:

答案 0 :(得分:0)

您所描述的是两个应该显示按钮的情况。因此必须有两种方法才能进入if-block。您必须使用逻辑或运算符||重构if语句。

例如:

if($post->post_author == $user->ID || 3 <= count($comment)) {
    echo do_shortcode( '[button]' );
} else { 
    comment_form();
}

答案 1 :(得分:0)

我不得不像这样更改代码才能让它工作。

&#13;
&#13;
global $post,$current_user;
$args = array( 'post_id' => $post->ID );
$comment = get_comments( $args );
  get_currentuserinfo();
  if ($post->post_author == $current_user->ID ) {
    echo do_shortcode( '[button]' );
} elseif ( 3 <= count( $comment ) ) {
// blank
} else {
    comment_form();
}
&#13;
&#13;
&#13;