メタフィールドの登録
投稿メタフィールドは、投稿の追加データの保存に使用される WordPress オブジェクトです。使用前にまず新しいメタフィールドを登録する必要があります。投稿メタの詳細については投稿メタデータの管理を参照してください。
フィールドの登録の際には show_in_rest
パラメータに注意してください。このパラメータによりデータが REST API に含まれます。ブロックエディターは REST API を使用してメタデータをロードしたり保存します。詳細な情報については register_post_meta
関数定義を参照してください。
また register_post_meta
関数が動作するには投稿タイプが custom-fields
をサポートする必要があります。
PHP プラグイン myguten-meta-block.php
を作成し、フィールドを登録します。
<?php
/**
* Plugin Name: Meta Block
*/
// register custom meta tag field
function myguten_register_post_meta() {
register_post_meta( 'post', 'myguten_meta_block_field', array(
'show_in_rest' => true,
'single' => true,
'type' => 'string',
) );
}
add_action( 'init', 'myguten_register_post_meta' );
注意: WordPress は名前が下線で始まるメタキーをプロテクトフィールドとみなします。フィールドの編集にはアクセス権チェックを渡す必要があり、これはregister_post_meta
関数の auth_callback
で設定します。
register_post_meta( 'post', '_myguten_protected_key', array(
'show_in_rest' => true,
'single' => true,
'type' => 'string',
'auth_callback' => function() {
return current_user_can( 'edit_posts' );
}
) );
最終更新日: