MENU

add_metadata()

add_metadata() は、WordPressのデータベースにメタデータを追加する関数です。

メタデータとは、投稿・ユーザー・コメント・タクソノミーなどに関連付けられた追加情報のことで、カスタムフィールドのような役割を果たします。

この関数を利用することで、カスタムデータを簡単に管理できるようになります。例えば、記事に特定の属性(例:閲覧回数やカスタムラベル)を付与したい場合に使用されます。

目次

機能の説明

add_metadata() は、WordPressのメタデータテーブル(wp_postmetawp_usermeta など)に新しいメタデータを追加する関数です。update_metadata() と異なり、同じキーのメタデータがすでに存在していても、上書きせずに新しい値を追加する仕様になっています。

主な用途

  • 投稿やユーザーに独自のデータを付与する
  • カスタム投稿タイプの追加情報を管理する
  • ユーザーの設定情報を保存する
  • 特定のコメントにカスタム情報を付与する

シンプルなコード例

以下のコードは、投稿(記事)に custom_key というカスタムメタデータを追加する例です。

add_metadata('post', 123, 'custom_key', 'カスタム値', true);
  • 'post':メタデータを追加する対象(投稿)
  • 123:投稿 ID(この投稿にメタデータを追加)
  • 'custom_key':メタデータのキー
  • 'カスタム値':メタデータの値
  • true:同じキーのデータがある場合は追加せずに処理を終了(false にすると同じキーで複数のデータを保持可能)

使い方の説明

基本的な使用方法

以下のコードは、特定のユーザーにカスタムメタデータを追加する例です。

$user_id = 5; // ユーザーID
$meta_key = 'user_role';
$meta_value = 'premium';

add_metadata('user', $user_id, $meta_key, $meta_value, true);
  • 'user':ユーザーのメタデータを追加
  • $user_id:対象のユーザーID
  • $meta_key:保存するキー名(この場合はuser_role
  • $meta_value:保存する値(premium というユーザーロール)
  • true:すでに同じキーのデータがある場合は追加しない

一緒に使うことが多い関連タグ

get_metadata()

追加したメタデータを取得するには、get_metadata() を使用します。

$meta_value = get_metadata('post', 123, 'custom_key', true);
echo $meta_value; // 'カスタム値' が出力される

update_metadata()

既存のメタデータを更新する場合は、update_metadata() を使用します。

update_metadata('post', 123, 'custom_key', '新しいカスタム値');

delete_metadata()

特定のメタデータを削除する場合は、delete_metadata() を使います。

delete_metadata('post', 123, 'custom_key');

追加情報で取得したい場合

get_post_meta()

投稿のメタデータを取得する方法。

$meta_value = get_post_meta(123, 'custom_key', true);
echo $meta_value;

get_user_meta()

ユーザーのメタデータを取得する方法。

$role = get_user_meta(5, 'user_role', true);
echo $role; // 'premium' が出力される

get_comment_meta()

コメントのメタデータを取得する場合。

$comment_meta = get_comment_meta(45, 'comment_rating', true);
echo $comment_meta;

想定されるトラブル

メタデータが保存されない

  • add_metadata() を使用する対象(投稿・ユーザーなど)が正しく指定されていない
  • true を指定したため、すでに同じキーのデータが存在し追加されなかった

解決方法

  • 対象のIDが正しいか確認する
  • false を指定して、同じキーのデータが複数追加されるようにする
add_metadata('post', 123, 'custom_key', 'カスタム値', false);

Q&A

add_metadata() で既存のデータを上書きできますか?

いいえ、上書きできません。同じキーのデータがすでに存在する場合、update_metadata() を使う必要があります。

投稿・ユーザー以外にも使えますか?

はい、comment(コメント)、term(タクソノミー)にも使用可能です。

メタデータの一覧を取得する方法は?

get_metadata() を使用すると、対象のメタデータ一覧を配列で取得できます。

まとめ

add_metadata() は、WordPressのデータベースにメタデータを追加するための関数です。

投稿・ユーザー・コメント・タクソノミーなどに対してカスタムデータを保存でき、動的な情報管理に適しています。

ただし、同じキーのデータがすでに存在している場合は追加されないため、上書きが必要な場合は update_metadata() を使用しましょう。

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

コメント

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

目次