WP_Comment_Query クラスの使い方|説明・引数・注意点

説明

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()

関連項目

get_comments()、WP_Query

公式リファレンス:WP_Comment_Query | WordPress Developer Resources

コメント

タイトルとURLをコピーしました