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

概要

register_post_meta関数は、WordPressで投稿向けのカスタムフィールドを登録するために使用されます。この関数を使用することで、特定の投稿タイプに対してメタデータを追加したり、管理したりすることが可能になります。これにより、開発者はより柔軟なコンテンツ管理を実現できます。特に以下のような機能を実装する際に有用です。

  1. 投稿タイプに関連する追加情報の保存
  2. カスタムメタボックスの作成
  3. データの検証やクリーンアップ
  4. 投稿のカスタマイズ
  5. 特定のビューやテンプレートへのデータの供給
  6. 電子商取引やカスタムアプリケーションでの利用
  7. 認証および権限管理の実装
  8. より詳細な検索機能の実装

構文

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

この関数は特定のバージョンで非推奨または削除されている情報はありません。

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


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