MENU

add_comment_meta()

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() で保存した値は管理画面で確認できますか?

WordPress のデフォルト管理画面には表示されませんが、カスタムフィールドとして表示するプラグインを使えば確認可能です。

コメントメタデータを一括削除する方法は?

delete_comment_meta_by_key('meta_key') を使用すると、特定のキーを持つすべてのメタデータを削除できます。

メタデータに配列を保存できますか?

可能です。serialize()json_encode() を使うと、配列データを文字列化して保存できます。

まとめ

add_comment_meta() は、コメントに対してカスタムメタデータを保存する便利な関数です。

get_comment_meta()update_comment_meta() と組み合わせることで、柔軟なデータ管理が可能になります。コメントに対して追加情報を保持したい場合に活用しましょう。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

This site uses Akismet to reduce spam. Learn how your comment data is processed.

目次