web-dev-qa-db-ja.com

コメントの返信数を表示する

私は最新の3つのコメントを表示し、その下に小さなコメントを付けて、各コメントの返信数を表示します(comment_parent => comment_IDの場合、コメントの数を数えます)。

これを行うには、各親コメント(comment_parent => 0)をループしてから、各親コメントに対してget_comments(comment_parent => $ comment_ID)を使用します。

残念ながら、comment_parentは各コメントの内部ループで無視され、comment_parent => 0のコメントの配列が返されます。comment_parentが無視されるのはなぜですか?

<!-- DISPLAY RECENT COMMENTS -->
<?php $args = array(
                    'number' => 3,
                    'status' => 'approve',
                    'comment_parent' => 0
                    );
$recent_comments = get_comments($args);
foreach($recent_comments as $recent_comment){
    echo '<div class="front-page-comments">';
    echo $recent_comment->comment_content;
    echo '</div>';
    $parent_comment_id = $recent_comment->comment_ID;
    $comment_meta_args = array(
                               'status' => 'approve',
                               'comment_parent' => intval($parent_comment_id),
                               'number' => 3
                               );
    $replies = get_comments($comment_meta_args);
    echo '<div class="front-page-comment-meta">';
    echo $parent_comment_id . '<br />';
    echo '<pre>';
    print_r($replies);
    echo '</pre>';

    //echo $replies . 'Replies';
    echo '</div>';
}

?>
2
AlxVallejo

コメントのための wordpressコーデックス関数リファレンス では、親のパラメータはcomment_parentではなくparentであるように見えます。戻り値の先頭にcomment_が付いているので、これは奇妙で矛盾しています。

2
fdsa