add_comment_meta()
は、WordPress のコメントにカスタムメタデータを追加するための関数です。例えば、コメントに対して評価スコアや追加情報を保存する際に使用できます。本記事では、基本的な使い方から、応用的な利用方法、注意点まで詳しく解説します。
目次
機能の説明
add_comment_meta()
とは?
add_comment_meta()
は、WordPress のコメントメタデータを追加する関数です。この関数を利用すると、特定のコメントに対してカスタムデータを保存できます。例えば、ユーザーの評価やコメントに関連する追加情報を格納するのに役立ちます。
使用場面
- コメントに独自のデータを付与したい場合
- コメントに対してカスタムフラグを設定したい場合
- コメントに関連するメタデータ(例: 評価、IP アドレスの情報)を管理したい場合
シンプルなコード例
add_comment_meta(123, 'rating', 5, true);
123
はコメント ID'rating'
はメタキー(保存するデータのキー)5
は保存するデータの値true
は同じキーの値を複数追加しない(上書きする)設定
使い方の説明
基本的な構文
add_comment_meta( int $comment_id, string $meta_key, mixed $meta_value, bool $unique = false )
引数の解説
引数 | 説明 |
---|---|
$comment_id | (必須)メタデータを追加するコメントの ID |
$meta_key | (必須)メタデータのキー(識別子) |
$meta_value | (必須)保存するデータの値 |
$unique | (省略可能 / デフォルト: false )true にすると、同じ $meta_key が既に存在する場合は追加せずに失敗する。false にすると、同じキーを持つメタデータを複数追加できる。 |
戻り値
成功時:int|false
(追加されたメタデータのID / 失敗時は false
)
応用例:コメント投稿時に自動でメタデータを追加する
function add_custom_comment_meta($comment_id) {
add_comment_meta($comment_id, 'user_rating', $_POST['user_rating'], true);
}
add_action('comment_post', 'add_custom_comment_meta');
このコードは、ユーザーがコメントを投稿する際に $_POST['user_rating']
の値を取得し、コメントメタデータとして保存します。
コメントにカスタムフィールドを追加する
$comment_id = 123; // 既存のコメントID
add_comment_meta( $comment_id, 'rating', 5 ); // 'rating' というキーで評価を追加
同じキーのデータを複数登録したくない場合
add_comment_meta( $comment_id, 'verified_user', true, true ); // 既に存在する場合は追加しない
複数のカスタムデータをコメントに紐付ける
add_comment_meta( $comment_id, 'helpful_vote', 1 );
add_comment_meta( $comment_id, 'helpful_vote', 1 ); // 2つ目の 'helpful_vote' も追加可能
一緒に使うことが多い関連タグ
get_comment_meta()
add_comment_meta()
で保存したデータを取得するために使用されます。
$rating = get_comment_meta($comment_id, 'user_rating', true);
echo 'このコメントの評価: ' . $rating;
update_comment_meta()
すでに追加されたコメントメタデータを更新する際に使用します。
update_comment_meta($comment_id, 'user_rating', 4);
delete_comment_meta()
コメントメタデータを削除する場合に使用します。
delete_comment_meta($comment_id, 'user_rating');
追加情報で取得したい場合
get_comment_meta()
を使うことで、コメントに追加されたメタデータを取得できます。
$meta_data = get_comment_meta($comment_id, 'custom_key', true);
想定されるトラブル
add_comment_meta()
でデータが保存されない
$comment_id
が正しいか確認するmeta_key
が適切に設定されているかチェックする$unique
の設定を見直す(true
にすると、同じキーのデータが追加できない)
get_comment_meta()
でデータが取得できない
add_comment_meta()
でデータが正しく追加されているか確認$single
の設定を適切に変更(true
/false
)
Q&A
まとめ
add_comment_meta()
は、コメントに対してカスタムメタデータを保存する便利な関数です。
get_comment_meta()
や update_comment_meta()
と組み合わせることで、柔軟なデータ管理が可能になります。コメントに対して追加情報を保持したい場合に活用しましょう。
コメント