概要
register_post_meta
関数は、WordPressで投稿向けのカスタムフィールドを登録するために使用されます。この関数を使用することで、特定の投稿タイプに対してメタデータを追加したり、管理したりすることが可能になります。これにより、開発者はより柔軟なコンテンツ管理を実現できます。特に以下のような機能を実装する際に有用です。
- 投稿タイプに関連する追加情報の保存
- カスタムメタボックスの作成
- データの検証やクリーンアップ
- 投稿のカスタマイズ
- 特定のビューやテンプレートへのデータの供給
- 電子商取引やカスタムアプリケーションでの利用
- 認証および権限管理の実装
- より詳細な検索機能の実装
構文
register_post_meta( $post_type, $meta_key, $args );
パラメータ
$post_type
(string) – 登録するカスタムフィールドが属する投稿タイプの名前。$meta_key
(string) – 保存するメタデータのキー。$args
(array) – メタデータに関する追加オプション。
戻り値
- 成功した場合は
true
を返し、失敗した場合はfalse
を返します。
関連する関数
使用可能なバージョン
この関数はWordPress 4.9.0以降で使用可能です。
コアファイルのパス
wp-includes/meta.php
サンプルコード
以下にサンプルコードを5つ示します。
サンプルコード1: 基本的なメタデータの登録
function my_custom_post_meta() {
register_post_meta( 'post', 'my_custom_key', array(
'type' => 'string',
'description' => 'My custom meta key',
'single' => true,
'show_in_rest' => true,
));
}
add_action( 'init', 'my_custom_post_meta' );
このコードは、通常の投稿に対して「my_custom_key」というカスタムメタデータキーを登録しています。
サンプルコード2: 配列データのメタデータ登録
function my_custom_post_meta_array() {
register_post_meta( 'page', 'my_custom_array', array(
'type' => 'array',
'description' => 'My custom meta array',
'single' => false,
'show_in_rest' => true,
));
}
add_action( 'init', 'my_custom_post_meta_array' );
ここでは、ページ投稿タイプに対して配列データを持つカスタムメタデータを登録しています。
サンプルコード3: メタデータの表示設定
function my_custom_post_meta_show_in_rest() {
register_post_meta( 'post', 'my_custom_visibility', array(
'type' => 'boolean',
'description' => 'Visibility of my custom field',
'single' => true,
'show_in_rest' => true,
));
}
add_action( 'init', 'my_custom_post_meta_show_in_rest' );
このコードは、カスタムメタデータの表示設定をREST APIで利用できるようにしています。
サンプルコード4: メタデータの検証ルール設定
function my_custom_post_meta_validation() {
register_post_meta( 'post', 'my_custom_number', array(
'type' => 'integer',
'description' => 'My custom number',
'single' => true,
'show_in_rest' => true,
'sanitize_callback' => 'absint', // 整数以外を排除
));
}
add_action( 'init', 'my_custom_post_meta_validation' );
このコードは、整数専用のカスタムメタデータを登録し、入力値を検証しています。
サンプルコード5: デフォルト値の設定
function my_custom_post_meta_default() {
register_post_meta( 'product', 'my_custom_default', array(
'type' => 'string',
'description' => 'My custom default value',
'single' => true,
'show_in_rest' => true,
'default' => 'Default Value', // デフォルト値を設定
));
}
add_action( 'init', 'my_custom_post_meta_default' );
ここでは、「product」投稿タイプに対してデフォルト値を持つカスタムメタデータを登録しています。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |
この関数は特定のバージョンで非推奨または削除されている情報はありません。