• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

関数リファレンス/get comments

提供: WordPress Codex 日本語版
移動先: 案内検索

この項目「関数リファレンス/get comments」は、翻訳チェック待ちの項目です。加筆、訂正などを通して、Codex ドキュメンテーションにご協力下さい。

説明

コメントのリストを取得します。

ブログ全体から、または個別投稿からコメントのリストを取得できます。

使い方

<?php get_comments( $args ); ?>

パラメータ

$args
文字列/配列) (オプション) 引数の配列または文字列。有効な引数の情報は WP_Comment_Query::parse_query() を見てください。
初期値: ''

引数

author_email
文字列) (オプション) コメント投稿者のメールアドレス。
初期値: 空
author__in
配列) (オプション) 含めるコメントの投稿者 ID の配列。
初期値: 空
author__not_in
配列) (オプション) 除外するコメントの投稿者 ID の配列。
初期値: 空
comment__in
配列) (オプション) 含めるコメントの ID の配列。
初期値: 空
comment__not_in
配列) (オプション) 除外するコメントの ID の配列。
初期値: 空
count
真偽値) (オプション) true ならコメント数、false ならコメントオブジェクトの配列を返す。
初期値: false
date_query
配列) (オプション) コメントを絞り込む日付クエリ。WP_Date_Query を見てください。
初期値: null
fields
文字列) (オプション) コメントの指定したフィールドを返す。'ids' ならコメント ID だけ、空ならすべてのフィールドを返す。
初期値: 空
ID
整数) (オプション現在使われていません。
初期値: なし
include_unapproved
配列) (オプション) コメントの status に関わらず、この配列で指定した ID またはメールアドレスの投稿者の未承認コメントを返す。
初期値: 空
karma
整数) (オプション) 指定したカルマ値のコメントを取得する。注: コメントのカルマ値は使われておらず常に0です。
初期値: 空
meta_key
文字列) (オプション) 指定したコメントメタ(カスタムフィールド)キーを持つコメントを含める。
初期値: 空
meta_value
文字列) (オプション) 指定したコメントメタ(カスタムフィールド)値を持つコメントをを含める。一緒に 'meta_key' を指定しなければならない。
初期値: 空
meta_query
配列) (オプション) コメントを絞り込むメタ(カスタムフィールド)クエリ。WP_Meta_Query を見てください。
初期値: 空
number
整数) (オプション) 取得するコメントの最大数。
初期値: null (無制限)
offset
整数) (0) クエリで取得するコメントのオフセット数。LIMIT 句の組み上げに使用。
初期値: なし
orderby
文字列&vert;配列) (オプション) 単一のコメントフィールド(文字列)またはコメントフィールドの配列。これを使うには 'meta_value' または 'meta_value_num''meta_key' を定義する必要がある。特定の meta_query 句で並べ替えるには、その句の配列キーを使ってください。
  • comment_agent
  • comment_approved
  • comment_author
  • comment_author_email
  • comment_author_IP
  • comment_author_url
  • comment_content
  • comment_date
  • comment_date_gmt
  • comment_ID
  • comment_karma
  • comment_parent
  • comment_post_ID
  • comment_type
  • user_id
  • meta_value
  • meta_value_num
  • meta_key の値
  • そして meta_query の配列キー
  • また false, 空の配列, 'none' のいずれかを指定すると ORDER BY 句を無効にする
  • 初期値: comment_date_gmt
order
文字列) (オプション) 取得するコメントの順序。次のいずれか:
  • ASC
  • DESC
  • .
    初期値: 'DESC'
parent
整数) (オプション) 指定した ID のコメントの子コメントを取得する。
初期値: 空
post_author__in
配列) (オプション) 指定した ID の投稿者によるコメントを取得する。
初期値: 空
post_author__not_in
配列) (オプション) 指定した ID の投稿者によるコメントを除いて取得する。
初期値: 空
post_ID
整数) (オプション現在使われていません。
初期値: なし
post_id
整数) (オプション) 指定した ID の投稿に対するコメントだけに制限する。
初期値: 0
post__in
配列) (オプション) 指定した配列内の ID を持つ投稿に対するコメントに制限する。
初期値: 空
post__not_in
配列) (オプション) 指定した配列内の ID を持つ投稿に対するコメントを除外する。
初期値: 空
post_author
整数) (オプション) 指定した投稿者によるコメントに絞る。
初期値: 空
post_status
文字列) (オプション) 指定した状態のコメントを取得する。
初期値: 空
post_type
文字列) (オプション) 指定した投稿タイプの投稿に対するコメントを取得する。
初期値: 空
post_name
文字列) (オプション) 指定した名前の投稿に対するコメントを取得する。
初期値: 空
post_parent
整数) (オプション) 指定した ID の投稿を親に持つ投稿に絞る。
初期値: 空
search
文字列) (オプション) 指定したタームを持つコメントを取得する。
初期値: 空
status
文字列) (オプション) 指定した状態のコメントに絞る。指定可能な状態は 'hold', 'approve', 'all' およびコメントのカスタム状態。
初期値: all
type
文字列&vert;配列) (オプション) 指定した種類(または種類の配列)のコメントを含める。'comment', 'pings' ('pingback' と 'trackback' を含む), またはカスタム種類の文字列。
初期値: 空
type__in
配列) (オプション) 指定した配列内のコメント種類のコメントを含める。
初期値: 空
type__not_in
配列) (オプション) 指定した配列内のコメント種類のコメントを除外する。
初期値: 空
user_id
整数) (オプション) 指定した ID のユーザーに対するコメントを含める。
初期値: 空

戻り値

(整数/配列) 
コメントのリスト(配列)。'count' 引数が true なら見つかったコメントの数。なお、各コメントは WP_Comment オブジェクトです。

WP_Comment オブジェクトの内容

comment_ID 
(整数) コメントの ID
comment_post_ID 
(整数) コメントが付いた投稿または固定ページの ID
comment_author 
(文字列) コメント投稿者の名前
comment_author_email 
(文字列) コメント投稿者のメールアドレス
comment_author_url 
(文字列) コメント投稿者のウェブサイト
comment_author_IP 
(文字列) コメント投稿者の IP アドレス
comment_date 
(文字列) コメントの日時 (YYYY-MM-DD HH:MM:SS)
comment_date_gmt 
(文字列) コメントの GMT 日時 (YYYY-MM-DD HH:MM:SS)
comment_content 
(文字列) コメント内容
comment_karma 
(整数) コメントのカルマ値 (訳注: 常に0です)
comment_approved 
(文字列) コメントの承認レベル (0, 1 または "spam")
comment_agent 
(文字列) コメント投稿者のユーザーエージェント (ブラウザーやオペレーティングシステムなど)
comment_type 
(文字列) 該当すればコメントの種類 (pingback|trackback), 普通のコメントなら空
comment_parent 
(文字列) 入れ子になったコメントなら親コメントの ID (トップレベルなら0)
user_id 
(整数) コメント投稿者が登録済みならユーザー ID (未登録なら0)

用例

コメントの作成者を表示します:

<?php 
$comments = get_comments( array( 'post_id' => 15 ) );
 
foreach ( $comments as $comment ) :
    echo $comment->comment_author;
endforeach;
?>

未承認のコメントを最新から5つ表示します:

<?php
$args = array(
    'status'  => 'hold',
    'number'  => '5',
    'post_id' => 1, // post_ID ではなく post_id を使う
);
$comments = get_comments( $args );
 
foreach ( $comments as $comment ) :
    echo $comment->comment_author . '<br />' . $comment->comment_content;
endforeach;
?>

ある投稿のコメントの数を表示します:

<?php
$args = array(
    'post_id' => 1,   // post_ID ではなく post_id を使う
    'count'   => true // 個数だけを返す
);
$comments_count = get_comments( $args );
echo $comments_count;
?>

あるユーザーのコメントの数を表示します:

<?php
$args = array(
    'user_id' => 1,   // user_id を使う
    'count'   => true // 個数だけを返す
);
$comments_count = get_comments( $args );
?>

あるユーザーのコメントを表示します:

<?php
$args = array(
    'user_id' => 1, // user_id を使う
);
$comments = get_comments( $args );
 
foreach ( $comments as $comment ) :
    echo $comment->comment_author . '<br />' . $comment->comment_content;
endforeach;
?>

最近4週間のコメントを取得します:

<?php
$args = array(
    'date_query' => array(
        'after' => '4 weeks ago', // 4週前より後
        'before' => 'tomorrow',   // 明日より前
        'inclusive' => true,      // 「ぴったり」を含める
    ),
);
 
$comments = get_comments( $args );
foreach ( $comments as $comment ) {
    // ここでコメントなどを出力
}
?>

重複したコメント(作成者と内容がどちらも同じ)を削除します:

<?php

// 個数の指定を空文字列にして承認済みコメントを全て取得
$all_comments=get_comments( array( 'status' => 'approve', 'number' => '' ) );

// 重複したコメントの id を保持する配列
$comment_ids_to_delete = array();

foreach ( $all_comments as $k=>$c )
{
	$kk = ( $k - 1 ); // 配列 all_comment 内にある直前のコメントのインデックス
	$pc = $all_comments[$kk]; // 直前のコメントのオブジェクト

	// コメントの作成者が同じで、さらに内容も同じなら、削除対象として配列へ追加
	if ( $pc->comment_author == $c->comment_author && $pc->comment_content == $c->comment_content ) {
		$comment_ids_to_delete[] = $pc->comment_ID; // 直前のコメントの id
	}
}

// コメントの id を指定して削除
foreach ( $comment_ids_to_delete as $k=>$v ) :
	wp_delete_comment($v);
endforeach;

?>

ソースファイル

get_comments()wp-includes/comment.php にあります。

関連項目


関数リファレンステンプレートタグ目次もご覧ください。


最新英語版: WordPress Codex » Function Reference/get_comments最新版との差分