ワードプレスのadd_metadata関数の使用方法・解説

概要

add_metadata関数は、WordPressオブジェクトにカスタムメタ情報を追加するための関数です。主に以下のような機能を実装する際によく使われます。

  1. 投稿やページにカスタムフィールドを追加する
  2. ユーザーのプロファイルにメタ情報を追加する
  3. ターム(カテゴリーやタグ)に関連するメタ情報を保存する
  4. カスタム投稿タイプのパラメータを追加する
  5. 特定のデータをキャッシュするための情報を付与する
  6. プラグインでの設定情報を保存する
  7. ウィジェットやサイドバーにメタ情報を追加する
  8. テーマ内のデータ管理を強化する

構文

add_metadata( $meta_type, $object_id, $meta_key, $meta_value, $unique );

パラメータ

  • $meta_type (string) : メタ情報の種類(例: ‘post’, ‘user’, ‘term’など)
  • $object_id (int) : メタ情報を関連付けるオブジェクトのID
  • $meta_key (string) : メタ情報のキー(名前)
  • $meta_value (mixed) : メタ情報の値
  • $unique (bool) : 同じキーが存在する場合、唯一の値として追加するかどうか(省略可能、デフォルトはfalse)

戻り値

  • メタ情報を正常に追加できた場合は追加されたメタ情報のIDを返し、失敗した場合はfalseを返します。

関連する関数

使用可能なバージョン

  • 追加されたバージョン: 2.9

コアファイルのパス

  • wp-includes/meta.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: 投稿にカスタムメタ情報を追加

add_action('save_post', 'my_save_post_meta');
function my_save_post_meta($post_id) {
    $meta_value = 'カスタム値';
    add_metadata('post', $post_id, 'カスタムキー', $meta_value);
}

このサンプルは、投稿が保存されるときにカスタムメタ情報を追加します。

サンプル2: ユーザーのメタ情報を追加

add_action('user_register', 'my_user_register');
function my_user_register($user_id) {
    add_metadata('user', $user_id, 'ユーザーカスタムキー', 'ユーザーのカスタム値');
}

このサンプルは、新規ユーザーが登録された際にカスタムメタ情報を追加します。

サンプル3: タームにメタ情報を追加

add_action('created_category', 'my_add_category_meta');
function my_add_category_meta($term_id) {
    add_metadata('term', $term_id, 'カテゴリーカスタムキー', 'カテゴリーカスタム値');
}

このサンプルは、新しいカテゴリーが作成される際にカスタムメタ情報を追加します。

サンプル4: 特定のポストのメタ情報をユニークに追加

$position_meta = 'ユニーク値';
add_metadata('post', $post_id, 'ポジション', $position_meta, true);

このサンプルでは、特定のポストにユニークなメタ情報を追加します。すでに同じキーが存在する場合は追加されません。

サンプル5: プラグインに設定情報を保存

function my_plugin_settings() {
    $setting_value = '設定値';
    add_metadata('plugin', 1, 'プラグイン設定キー', $setting_value);
}

このサンプルは、プラグインの設定情報をメタ情報として保存します。

引用元のページは提供されていないため、上記のコードは著作権フリーのサンプルコードとして記載されています。

この関数について質問する


上の計算式の答えを入力してください