register_meta()


register_meta()は、WordPressでカスタムメタデータを登録するための関数です。この関数を使用することで、投稿タイプやタームなどにカスタムフィールドを追加し、管理画面やAPIで利用できるようになります。

構文

register_meta( string $object_type, string $meta_key, array $args = array() );

引数の説明:

  • $object_type (string) — メタデータを登録するオブジェクトタイプ(例: ‘post’, ‘term’, ‘user’, ‘comment’)。
  • $meta_key (string) — 登録するメタデータのキー。
  • $args (array) — メタデータの振る舞いを定義する追加の引数(オプション)。

例 1: 投稿タイプにカスタムフィールドを登録

投稿タイプにシンプルなカスタムフィールドを登録する例です。

register_meta( 'post', 'my_custom_field', array( 'show_in_rest' => true ) );

例 2: タームにカスタムフィールドを登録

タームにカスタムフィールドを登録し、REST APIで利用可能にする例です。

register_meta( 'term', 'term_custom_field', array( 'show_in_rest' => true ) );

例 3: ユーザーにカスタムフィールドを登録

ユーザーメタデータとしてカスタムフィールドを登録する例です。

register_meta( 'user', 'user_custom_field', array( 'show_in_rest' => true ) );

例 4: コメントにカスタムフィールドを登録

コメントにカスタムフィールドを登録し、管理画面で編集可能にする例です。

register_meta( 'comment', 'comment_custom_field', array( 'show_in_rest' => true ) );

例 5: デフォルト値を持つカスタムフィールド

デフォルト値を持つカスタムフィールドを登録する例です。

register_meta( 'post', 'default_custom_field', array( 'show_in_rest' => true, 'default' => 'Default Value' ) );

例 6: サニタイズコールバックを指定

サニタイズコールバックを指定して、メタデータの値を自動的にサニタイズする例です。

register_meta( 'post', 'sanitized_field', array( 'show_in_rest' => true, 'sanitize_callback' => 'sanitize_text_field' ) );

例 7: 単一値のみ許可

メタデータが単一値のみを許可するように設定する例です。

register_meta( 'post', 'single_value_field', array( 'show_in_rest' => true, 'single' => true ) );

注意点

  • メタデータのキーは一意である必要があります。
  • show_in_resttrueに設定すると、REST APIでメタデータが利用可能になります。
  • サニタイズコールバックを指定しない場合、データの安全性を確保するために手動でサニタイズする必要があります。

関連機能: