サーバーサイド登録ヘルパー

提供されたサンプルはブロックスタイルの完全な制御を可能にしますが、かなりの量のコードが必要です。

ブロックスタイルの登録と登録解除のプロセスを簡素化するために、2つのサーバーサイド関数も利用可能です:register_block_style、および unregister_block_style

register_block_style

register_block_style 関数は、最初の引数としてブロックの名前を受け取り、2番目の引数としてスタイルのプロパティを説明する配列を受け取ります。

スタイル配列のプロパティには namelabel が含まれている必要があります:

  • name: CSSクラスを計算するために使用されるスタイルの識別子。
  • label: スタイルの人間が読めるラベル。

2つの必須プロパティに加えて、スタイルプロパティ配列には inline_style または style_handle プロパティも含める必要があります:

  • inline_style: スタイルに必要なCSSクラスを登録するインラインCSSコードを含みます。
  • style_handle: ブロックスタイルが必要な場所でキューに追加されるべき、すでに登録されたスタイルへのハンドルを含みます。

is_default プロパティを true に設定して、ブロックスタイルの1つをデフォルトとしてマークすることも可能です。

以下のコードサンプルは、「Blue Quote」という名前の引用ブロック用のスタイルを登録し、「Blue Quote」スタイルの引用ブロックが青色になるインラインスタイルを提供します:

  1. register_block_style(
  2. 'core/quote',
  3. array(
  4. 'name' => 'blue-quote',
  5. 'label' => __( 'Blue Quote', 'textdomain' ),
  6. 'inline_style' => '.wp-block-quote.is-style-blue-quote { color: blue; }',
  7. )
  8. );

また、ブロックスタイルのCSSを含むスタイルシートがすでに登録されている場合は、スタイルシートのハンドルを渡すだけで register_block_style 関数がそれをキューに追加することを確認します。

以下のコードサンプルは、この使用例の例を提供します:

  1. wp_register_style( 'myguten-style', get_template_directory_uri() . '/custom-style.css' );
  2. // ...
  3. register_block_style(
  4. 'core/quote',
  5. array(
  6. 'name' => 'fancy-quote',
  7. 'label' => __( 'Fancy Quote', 'textdomain' ),
  8. 'style_handle' => 'myguten-style',
  9. )
  10. );

unregister_block_style

unregister_block_style は、register_block_style を使用してサーバー上で以前に登録されたブロックスタイルを登録解除することを可能にします。

関数の最初の引数は登録されたブロックの名前であり、2番目の引数はスタイルの名前です。

以下のコードサンプルは、引用ブロックから「fancy-quote」という名前のスタイルを登録解除します:

  1. unregister_block_style( 'core/quote', 'fancy-quote' );

重要: 関数 unregister_block_style は、register_block_style を使用してサーバー上で登録されたスタイルのみを登録解除します。この関数は、クライアントサイドコードを使用して登録されたスタイルを登録解除しません。