そのIDでコメントの回答を得る方法はありますか?私はグーグルで検索しましたが、それについて何も見つけることができませんでした。
たとえば、ID 123のコメントがあります。
コメントID 123のすべての返信を表示します。
私は次のようなことを試してみましたが、うまくいきませんでした。
$args = array(
'status' => 'approve',
'ID' => 123,
'number' => '5',
'post_id' => 73871,
'comment_parent' => 0
);
$comments = get_comments($args);
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;
}
あなたの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で検索して、そしてその回答すべて(そして多分彼らの回答も)を表示するのを助けます。
あなたはこれまでのところ正しいですが不完全です。
あなたのコードの後に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
}
私はそれを見つけたと思うが、間違っている場合は修正してください:
$args = array(
'status' => 'approve',
'number' => '5',
'post_id' => 73871,
'parent' => 123
);
$comments = get_comments($args);
編集:完全ではなく、最初の返信のみを返すようです。残りは欠落しています。