概要
get_comments
関数は、WordPressでコメント情報を取得するための関数です。この関数は、特定の投稿に関連するコメントを取得したり、特定の条件に基づいてコメントのリストを取得したりする際に便利です。以下は、get_comments
関数がよく使われるシナリオの例です。
- 投稿に対する全てのコメントを取得する。
- 特定のユーザーによるコメントをフィルタリングして取得する。
- コメントのステータス(承認、保留など)に基づいて取得する。
- 特定の期間内のコメントのみを取得する。
- コメントの順序(最新、古いなど)を指定して取得する。
- コメント数を絞り込んで取得する。
- カスタムフィールドに基づいてコメントをフィルターする。
- コメントのメタデータを含めて取得する。
構文
get_comments( $args );
パラメータ
$args
(配列): 取得するコメントの条件を指定するためのオプションの配列。
主要なオプションには以下があります。
– post_id
(整数): コメントを取得する投稿のID。
– status
(文字列): 取得するコメントのステータス(例: ‘approve’, ‘hold’など)。
– number
(整数): 取得するコメントの数。
– order
(文字列): コメントの順序 (‘ASC’ または ‘DESC’)。
戻り値
get_comments
関数は、指定された条件に一致するコメントオブジェクトの配列を返します。該当するコメントがない場合は、空の配列が返されます。
関連する関数
ワードプレスバージョン
get_comments
関数は、WordPress 2.0.0以降のバージョンで使用可能です。特定のバージョンで非推奨または削除されたことはありません。
コアファイルのパス
get_comments
関数は、WordPressのコアファイルwp-includes/comment.php
に含まれています。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
mu_plugin_loaded | |
registered_post_type | |
plugins_loaded | |
wp_roles_init | |
setup_theme | |
after_setup_theme | |
set_current_user | |
init | |
register_sidebar | |
wp_loaded | |
send_headers | |
parse_query | |
pre_get_posts | |
wp | |
template_redirect | |
get_header | |
wp_head |
サンプルコード
サンプルコード 1: 投稿に対する全コメントの取得
$comments = get_comments( array( 'post_id' => $post_id ) );
foreach ( $comments as $comment ) {
echo $comment->comment_content;
}
このコードは、指定された投稿IDに関連する全てのコメントを取得し、その内容を表示します。
サンプルコード 2: 承認済みのコメントを取得
$approved_comments = get_comments( array( 'post_id' => $post_id, 'status' => 'approve' ) );
このコードは、指定された投稿に対する承認されたコメントのみを取得します。
サンプルコード 3: 特定のユーザーによるコメントを取得
$user_comments = get_comments( array( 'post_id' => $post_id, 'author_email' => 'user@example.com' ) );
このコードは、指定された投稿に対する特定のメールアドレスを持つユーザーのコメントを取得します。
サンプルコード 4: 最新の5件のコメントを取得
$latest_comments = get_comments( array( 'post_id' => $post_id, 'number' => 5, 'order' => 'DESC' ) );
このコードは、指定された投稿に対して最新の5件のコメントを降順で取得します。
サンプルコード 5: コメントのカスタムフィールドでフィルタリング
$custom_comments = get_comments( array( 'post_id' => $post_id, 'meta_key' => 'custom_meta', 'meta_value' => 'some_value' ) );
このコードは、指定された投稿に対してカスタムフィールドを持つコメントを取得します。