説明
WP_Comment_Query は、条件を指定してコメントを検索するクラスです。get_comments() が内部で使っています。
基本構文
new WP_Comment_Query( string|array $query = '' )
引数
$query:post_id、status、number、orderbyなど
戻り値
WP_Comment_Query オブジェクト。comments プロパティに結果が入ります。
使い方(サンプル)
$cq = new WP_Comment_Query( array( 'post_id' => 123, 'status' => 'approve' ) );
$comments = $cq->comments;
注意点
- 通常は
get_comments()で十分です。
実務での使いどころ
- コメントを、条件(投稿、状態、並び順)で、取得するとき。
- コメントの件数を、取得するとき(
count)。
よくあるミスと対処
statusを指定せず、承認待ちのコメントも、含まれる。公開するコメントだけなら、approveを指定する。numberを指定せず、大量のコメントを、取得する。- 通常の取得なら、
get_comments()で足りるのに、直接クラスを使っている。
NG例
$q = new WP_Comment_Query( array( 'post_id' => $id ) ); // 承認待ちも含まれる
OK例
$q = new WP_Comment_Query( array(
'post_id' => $id,
'status' => 'approve',
'number' => 10,
) );
$comments = $q->comments;
使い分け早見表
| やりたいこと | 使うもの |
|---|---|
| コメントの一覧(通常) | get_comments() |
| クエリのオブジェクトとして扱う | WP_Comment_Query |
| コメントを、追加する | wp_insert_comment() |

コメント