説明
register_post_meta() は、特定の投稿タイプのメタデータを登録する関数です。
基本構文
register_post_meta( string $post_type, string $meta_key, array $args ): bool
引数
$post_type:投稿タイプ(空文字で全タイプ)$meta_key:メタキー$args:register_meta()と同じ設定
戻り値
登録できたら true。
使い方(サンプル)
register_post_meta( 'book', 'isbn', array(
'type' => 'string',
'single' => true,
'show_in_rest' => true,
) );
注意点
initフックで呼びます。
実務での使いどころ
- 特定の投稿タイプの、カスタムフィールドを登録するとき。
- メタを、REST APIやブロックエディターから扱えるようにするとき。
よくあるミスと対処
show_in_restを指定せず、REST APIやブロックエディターで、メタが使えない。- 投稿タイプが
custom-fieldsをサポートしておらず、REST APIにメタが出ない。 initフックの外で登録している。
NG例
register_post_meta( 'news', 'price', array( 'type' => 'integer' ) ); // REST API に出ない
OK例
add_action( 'init', function () {
register_post_meta( 'news', 'price', array(
'type' => 'integer',
'single' => true,
'show_in_rest' => true,
) );
} );
使い分け早見表
| 関数 | 対象 |
|---|---|
register_post_meta() |
特定の投稿タイプのメタ |
register_meta() |
投稿・ユーザー・ターム・コメントのメタ |
update_post_meta() |
メタの値を保存する |
関連項目
register_meta()、get_post_meta()
公式リファレンス:register_post_meta() | Function | WordPress Developer Resources

コメント