如何查看评论是否有回复?

时间:2018-04-18 作者:Mido

我想要一个函数来检查注释id是否有子项(回复)。

2 个回复
最合适的回答,由SO网友:birgire 整理而成

下面是一个如何构造此类自定义函数的示例:

/**
 * Check if a comment has children.
 *
 * @param  int $comment_id Comment ID
 * @return bool            Has comment children.
 */
function has_comment_children_wpse( $comment_id ) {
    return get_comments( [ \'parent\' => $comment_id, \'count\' => true ] ) > 0;
}
使用get_comments() 与的函数count 属性(返回注释数)和parent 属性来查找子级。

SO网友:scmccarthy22

如果您想检查某条评论在get\\u comments()查询中是否有回复(子项),这里还有另一种方法。(您可能不希望在get\\u comments()查询中使用birgire的方法,因为您将在另一个get\\u comments()查询中执行get\\u comments()查询。

我的方法是使用WP\\u comment\\u query类的get\\u children()方法:

$args = array(
\'order\'       => \'DESC\',
\'status\'      => \'approve\',
);

$comments = get_comments( $args );          
foreach ( $comments as $comment ) {
    $content = $comment->comment_content;
    $comment_children = $comment->get_children();

    if($comment_children){
        //code for comment with children
    } else {
        //code for comment without children 
    }
}
?>

结束