メタフィールドの登録
post_meta
テーブル内のフィールドを操作するには WordPress 関数 register_post_meta を使用します。この関数を使用して単一文字列の新しいフィールド sidebar_plugin_meta_block_field
を登録します。このフィールドは REST API から利用できる必要があります。ブロックエディターはデータアクセスに REST API を使用するためです。
PHP ファイルの init
コールバック関数内に以下のコードを追加してください。
register_post_meta( 'post', 'sidebar_plugin_meta_block_field', array(
'show_in_rest' => true,
'single' => true,
'type' => 'string',
) );
フィールドがロードされたことを確認するには、「ストア」と呼ばれるブロックエディターの内部データ構造を照会します。ブラウザーのコンソールを開き、次のコードを実行してください。
wp.data.select( 'core/editor' ).getCurrentPost().meta;
プラグインに register_post_meta
関数を追加する前は、このコードは void の配列を返します。これは WordPress にメタフィールドがロードされていなかったためです。フィールドを登録すると、登録済みのメタフィールドを含むオブジェクトを返します。
コードが undefined
を返す場合、投稿の登録時または add_post_type_support 関数で投稿タイプが custom-fields
をサポートすることを確認してください。
最終更新日: