データフィールドの登録

投稿メタフィールドは、投稿の追加データの保存に使用される 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' );
    }
) );

原文

最終更新日: