wp_render_layout_support_flag()


WordPressのwp_render_layout_support_flag()関数は、ブロックテーマのレイアウトサポートフラグをレンダリングするために使用されます。この関数は、ブロックエディタで定義されたレイアウト設定をフロントエンドに反映させるために役立ちます。

構文

wp_render_layout_support_flag( string $block_content, array $block );

引数の説明:

  • $block_content(string) — ブロックのコンテンツ。
  • $block(array) — ブロックのプロパティを含む配列。

例1: 基本的な使用法

この例では、ブロックのレイアウトサポートフラグをレンダリングします。

add_filter( 'render_block', function( $block_content, $block ) { return wp_render_layout_support_flag( $block_content, $block ); }, 10, 2 );

例2: カスタムブロックでの使用

カスタムブロックにレイアウトサポートを追加する例です。

function render_custom_block( $block_content, $block ) { return wp_render_layout_support_flag( $block_content, $block ); } add_filter( 'render_block_custom/block-name', 'render_custom_block', 10, 2 );

例3: 条件付きレンダリング

特定の条件でレイアウトサポートフラグをレンダリングします。

function conditional_layout_render( $block_content, $block ) { if ( isset( $block['attrs']['layout'] ) ) { return wp_render_layout_support_flag( $block_content, $block ); } return $block_content; } add_filter( 'render_block', 'conditional_layout_render', 10, 2 );

例4: レイアウトクラスの追加

ブロックにレイアウトクラスを追加する例です。

function add_layout_class( $block_content, $block ) { $block_content = wp_render_layout_support_flag( $block_content, $block ); return str_replace( 'class="', 'class="custom-layout ', $block_content ); } add_filter( 'render_block', 'add_layout_class', 10, 2 );

例5: 特定のブロックタイプでの使用

特定のブロックタイプでのみレイアウトサポートを適用します。

function render_specific_block( $block_content, $block ) { if ( 'core/paragraph' === $block['blockName'] ) { return wp_render_layout_support_flag( $block_content, $block ); } return $block_content; } add_filter( 'render_block', 'render_specific_block', 10, 2 );

例6: レイアウト属性の変更

ブロックのレイアウト属性を変更してからレンダリングします。

function modify_layout_attrs( $block_content, $block ) { $block['attrs']['layout'] = array( 'type' => 'flex', 'justifyContent' => 'center' ); return wp_render_layout_support_flag( $block_content, $block ); } add_filter( 'render_block', 'modify_layout_attrs', 10, 2 );

例7: 複数のブロックに適用

複数のブロックにレイアウトサポートを適用します。

function render_multiple_blocks( $block_content, $block ) { $block_types = array( 'core/paragraph', 'core/heading' ); if ( in_array( $block['blockName'], $block_types ) ) { return wp_render_layout_support_flag( $block_content, $block ); } return $block_content; } add_filter( 'render_block', 'render_multiple_blocks', 10, 2 );

注意点

  • この関数はブロックテーマでのみ使用されます。
  • レイアウトサポートが有効でない場合、この関数は何も返しません。
  • カスタムブロックで使用する場合、適切なレイアウト属性が設定されていることを確認してください。

関連機能: