_wp_add_block_level_presets_class()


WordPressの_wp_add_block_level_presets_class()関数は、ブロックエディタ内で使用されるブロックレベルのプリセットクラスを追加するために使用されます。この関数は、ブロックのスタイルやレイアウトを一貫して管理するために役立ちます。

構文

_wp_add_block_level_presets_class( array $block_content, array $block );

引数の説明:

  • $block_content(array) — ブロックのコンテンツを表す配列。
  • $block(array) — ブロックの属性や設定を含む配列。

例1: 基本的な使用例

この例では、ブロックコンテンツにプリセットクラスを追加します。

add_filter( 'render_block', '_wp_add_block_level_presets_class', 10, 2 );

例2: カスタムブロックにクラスを追加

カスタムブロックに特定のクラスを追加する例です。

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

例3: 特定のブロックタイプにのみクラスを追加

特定のブロックタイプにのみプリセットクラスを追加します。

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

例4: 複数のブロックにクラスを追加

複数のブロックに一括でプリセットクラスを追加します。

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

例5: 条件付きでクラスを追加

特定の条件に基づいてクラスを追加します。

function conditional_block_class( $block_content, $block ) { if ( isset( $block['attrs']['className'] ) && strpos( $block['attrs']['className'], 'special-class' ) !== false ) { return _wp_add_block_level_presets_class( $block_content, $block ); } return $block_content; } add_filter( 'render_block', 'conditional_block_class', 10, 2 );

例6: カスタム属性に基づいてクラスを追加

ブロックのカスタム属性に基づいてクラスを追加します。

function custom_attribute_class( $block_content, $block ) { if ( isset( $block['attrs']['data-custom'] ) && $block['attrs']['data-custom'] === 'true' ) { return _wp_add_block_level_presets_class( $block_content, $block ); } return $block_content; } add_filter( 'render_block', 'custom_attribute_class', 10, 2 );

例7: ブロックのスタイルを動的に変更

ブロックのスタイルを動的に変更するためにクラスを追加します。

function dynamic_block_style( $block_content, $block ) { if ( isset( $block['attrs']['style'] ) ) { return _wp_add_block_level_presets_class( $block_content, $block ); } return $block_content; } add_filter( 'render_block', 'dynamic_block_style', 10, 2 );

注意点

  • この関数は、ブロックエディタのレンダリングプロセス中に使用されます。
  • カスタムフィルタを追加する際は、優先順位と引数の数を正しく設定してください。
  • ブロックの属性やコンテンツを変更する際は、予期しない動作を避けるために注意が必要です。

関連機能: