web-dev-qa-db-ja.com

コメントの返信を受け取るにはどうすればいいですか?

そのIDでコメントの回答を得る方法はありますか?私はグーグルで検索しましたが、それについて何も見つけることができませんでした。

たとえば、ID 123のコメントがあります。

コメントID 123のすべての返信を表示します。

私は次のようなことを試してみましたが、うまくいきませんでした。

$args = array(
    'status' => 'approve',
    'ID' => 123,
    'number' => '5',
    'post_id' => 73871,
    'comment_parent' => 0

);
$comments = get_comments($args);
2
Gixty

comment_IDは一意の値なので、引数にpost_idを含める必要はありません。

これは私にとってはうまくいきます:

$args = array(
    'status' => 'approve', 
    'number' => '5',
    'parent' => 3194
);
$comments = get_comments($args);

これは、親がcomment_ID 3194のコメントである5つの承認済みコメントを返します。

出力例はこのような何かとすることができます:

foreach($comments as $child_comment) {
    echo $child_comment->comment_ID;  
}
1
flomei

あなたのforeachループでは、返信がある場合は各コメントを検索する必要があります。

$replies = get_comments( array( 'parent' => $comment->comment_ID, 'status' => 'approve', 'order' => 'ASC' ) );

このプラグインを見てください https://github.com/mukto90/comment-search/blob/master/cb-comment-search.php

それはあなたがコメントIDで検索して、そしてその回答すべて(そして多分彼らの回答も)を表示するのを助けます。

0
mukto90

あなたはこれまでのところ正しいですが不完全です。

あなたのコードの後に​​foreachループが必要です。だからそれはのようになります:

$args = array(
    'status' => 'approve', 
    'number' => '5',
    'post_id' => 73871,
    'parent' => 123
);

$comments = get_comments($args);

foreach ($comments as $comment) {
    echo $comment->comment_content; // echo all the other fields you need
}
0
Abdul Awal

私はそれを見つけたと思うが、間違っている場合は修正してください:

$args = array(
    'status' => 'approve', 
    'number' => '5',
    'post_id' => 73871,
    'parent' => 123

);
$comments = get_comments($args);

編集:完全ではなく、最初の返信のみを返すようです。残りは欠落しています。

0
Gixty