概要
get_comment_meta
関数は、WordPressのデータベース内に保存されているコメントメタ情報の値を取得するために使用される関数です。この関数は、特定のコメントに関連付けられた追加情報を取得する際に非常に便利です。具体的には、以下のような機能を実装する際によく使われます。
- コメンターレビューに関する追加情報を管理する
- コメントに対するユーザーによる評価を取得する
- コメントに対して投票やフィードバックを提供する
- コメントに関連するメタ情報(例:感情分析結果)を表示する
- ユーザーによるコメントのカスタマイズ情報を保存・取得する
- コメントの日時のフォーマットに関連する情報を管理する
- コメントに関連するアクションのトリガー情報を管理する
- コメントのステータスに関連付けられた追加情報を取得する
構文
get_comment_meta( $comment_id, $meta_key, $single );
パラメータ
$comment_id
(int) 必須: 取得したいコメントのID。$meta_key
(string) 任意: 取得するメタ情報のキー。指定しない場合はすべてのメタ情報を取得。$single
(bool) 任意: trueの場合、最初の値のみを取得し、falseの場合は全ての値を配列として取得。
戻り値
- メタ情報の値(指定された場合)または全てのメタ情報の配列(指定しない場合)。値が存在しない場合は空の配列またはnullを返します。
関連する関数
使用可能なバージョン
この関数はWordPress 2.9以降で使用可能です。
コアファイルのパス
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: 特定のコメントメタ情報を取得する
$comment_id = 1; // コメントID
$meta_key = 'review_rating'; // 取得するメタ情報のキー
$rating = get_comment_meta($comment_id, $meta_key, true);
echo "レビュー評価: " . esc_html($rating);
このコードは特定のコメントIDに対するレビュー評価を取得して表示します。引用元: https://developer.wordpress.org/reference/functions/get_comment_meta/
サンプルコード 2: コメントメタ情報の配列を取得する
$comment_id = 1; // コメントID
$meta_data = get_comment_meta($comment_id);
echo '<pre>';
print_r($meta_data);
echo '</pre>';
このコードは特定のコメントIDに対する全てのメタ情報を配列として取得し、表示します。引用元: https://developer.wordpress.org/reference/functions/get_comment_meta/
サンプルコード 3: コメントメタ情報が存在するか確認する
$comment_id = 1; // コメントID
if ($meta_value = get_comment_meta($comment_id, 'custom_meta_key', true)) {
echo "メタ情報が見つかりました: " . esc_html($meta_value);
} else {
echo "メタ情報は存在しません。";
}
このコードは特定のメタキーに対する値が存在するかどうかを確認し、結果を表示します。引用元: https://developer.wordpress.org/reference/functions/get_comment_meta/
サンプルコード 4: コメントメタ情報をループして表示する
$comment_id = 1; // コメントID
$meta_values = get_comment_meta($comment_id, 'user_feedback', false);
foreach ($meta_values as $value) {
echo esc_html($value) . '<br>';
}
このコードは特定のコメントに対するすべてのユーザーフィードバックメタ情報を取得し、ループして表示します。引用元: https://developer.wordpress.org/reference/functions/get_comment_meta/
サンプルコード 5: 特定の条件で異なるメタ情報を表示する
$comment_id = 1; // コメントID
if (get_comment_meta($comment_id, 'is_spam', true)) {
echo "このコメントはスパムです。";
} else {
echo "このコメントは正常です。";
}
このコードはコメントがスパムかどうかを確認し、結果を表示します。引用元: https://developer.wordpress.org/reference/functions/get_comment_meta/