register_block_bindings_source()


WordPressのregister_block_bindings_source()関数は、ブロックバインディングのソースを登録するために使用されます。これにより、カスタムデータソースをブロックにバインドすることが可能になります。

構文

register_block_bindings_source( string $source_name, array $source_properties );

引数の説明:

  • $source_name(string) — ソースの名前。一意である必要があります。
  • $source_properties(array) — ソースのプロパティを定義する配列。以下のキーを含むことができます:
    • label(string) — ソースのラベル。
    • get_value_callback(callable) — 値を取得するためのコールバック関数。
    • uses_context(array) — ソースが使用するコンテキスト。

例1: 基本的なソースの登録

この例では、カスタムソースを登録し、ブロックにバインドします。

register_block_bindings_source('my_custom_source', array('label' => 'My Custom Source', 'get_value_callback' => 'my_custom_value_callback'));

例2: コールバック関数の使用

コールバック関数を使用して、カスタム値を返します。

function my_custom_value_callback($args) { return 'Custom Value'; } register_block_bindings_source('my_custom_source', array('label' => 'My Custom Source', 'get_value_callback' => 'my_custom_value_callback'));

例3: コンテキストの使用

ソースが特定のコンテキストを使用するように設定します。

register_block_bindings_source('my_custom_source', array('label' => 'My Custom Source', 'get_value_callback' => 'my_custom_value_callback', 'uses_context' => array('postId')));

例4: ブロックにソースをバインド

登録したソースをブロックにバインドします。

register_block_type('my-custom-block', array('attributes' => array('customAttribute' => array('source' => 'my_custom_source'))));

例5: 動的な値の返却

コールバック関数内で動的な値を返します。

function my_custom_value_callback($args) { return get_the_title($args['postId']); } register_block_bindings_source('my_custom_source', array('label' => 'My Custom Source', 'get_value_callback' => 'my_custom_value_callback', 'uses_context' => array('postId')));

例6: 複数のコンテキストの使用

複数のコンテキストを使用して、ソースをより柔軟にします。

register_block_bindings_source('my_custom_source', array('label' => 'My Custom Source', 'get_value_callback' => 'my_custom_value_callback', 'uses_context' => array('postId', 'userId')));

例7: ソースのラベルを動的に設定

ラベルを動的に設定する例です。

register_block_bindings_source('my_custom_source', array('label' => __('My Custom Source', 'text-domain'), 'get_value_callback' => 'my_custom_value_callback'));

例8: ソースの登録解除

登録したソースを解除します。

unregister_block_bindings_source('my_custom_source');

注意点

  • ソース名は一意である必要があります。
  • コールバック関数は適切に定義し、期待される値を返すようにしてください。
  • コンテキストを使用する場合、必要なコンテキストが提供されていることを確認してください。

関連機能: