概要
register_meta
関数は、ワードプレスでメタ情報を登録する際に使用されます。この関数を利用することで、ポストやユーザー、タクソノミーに関連するカスタムメタデータを簡単に追加することができます。以下は、この関数がよく使われる機能の例です:
- 投稿のカスタムメタデータの追加
- ユーザープロフィールへの追加情報の登録
- タクソノミー用のカスタムフィールドの追加
- プラグインやテーマでの設定情報の保存
- 特定のポストタイプやユーザータイプに対するメタ情報の追加
- APIエンドポイントによるデータの管理
- ユーザーのプライバシー設定データの追加
- チェックボックスやオプションの状態を管理するためのメタ情報の保存
構文
register_meta( $object_type, $meta_key, $args );
パラメータ
$object_type
(string): メタ情報を登録するオブジェクトの種類(例: ‘post’, ‘user’, ‘term’)。$meta_key
(string): 登録するメタ情報のキー名。$args
(array): メタ情報の設定を含む配列。例えば、’type’, ‘single’, ‘show_in_rest’, ‘sanitize_callback’ など。
戻り値
この関数は、登録されたメタ情報に関する詳細を返します。成功した場合は true
を、失敗した場合は false
を返します。
関連する関数
使用可能なバージョン
register_meta
関数は、ワードプレスバージョン 4.6 以降で使用可能です。
コアファイルのパス
この関数は、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 |
サンプルコード
- 基本的なメタ情報の登録
function my_register_meta() {
register_meta('post', 'my_custom_meta_key', array(
'type' => 'string',
'single' => true,
'show_in_rest' => true,
));
}
add_action('init', 'my_register_meta');
このコードは、投稿に対するカスタムメタ情報を登録します。メタキーは my_custom_meta_key
です。
- ユーザーメタの登録
function my_user_meta() {
register_meta('user', 'user_favorite_color', array(
'type' => 'string',
'single' => true,
'show_in_rest' => true,
));
}
add_action('init', 'my_user_meta');
このコードは、ユーザーのプロファイルに「好きな色」を保存するメタ情報を登録します。
- タクソノミーメタの登録
function my_term_meta() {
register_meta('term', 'term_description', array(
'type' => 'string',
'single' => true,
'show_in_rest' => true,
));
}
add_action('init', 'my_term_meta');
このコードは、タクソノミーに関連するメタ情報を登録する例です。
- APIでの使用例
function my_api_meta() {
register_meta('post', 'api_custom_data', array(
'type' => 'object',
'single' => true,
'show_in_rest' => true,
'sanitize_callback' => 'wp_json_encode',
));
}
add_action('init', 'my_api_meta');
このサンプルでは、API経由でのデータ管理用にメタ情報を登録しています。
- 非推奨の使用例
function my_deprecated_meta() {
register_meta('post', 'deprecated_meta_key', array(
'type' => 'string',
'single' => true,
'show_in_rest' => true,
));
}
add_action('init', 'my_deprecated_meta');
// 注意: このメタ情報は将来的に非推奨となる可能性があります。
このコードは、将来的に非推奨になる可能性のあるメタ情報の登録を行っています。