acf_register_block_type()


acf_register_block_type()は、WordPressでカスタムブロックタイプを登録するために使用される関数です。この関数を使うことで、ACF(Advanced Custom Fields)を使用してカスタムGutenbergブロックを作成できます。

構文

acf_register_block_type( array $settings );

引数の説明:

  • $settings(array) — ブロックの設定を定義する配列。以下のキーを持つことができます:
    • name(string) — ブロックの一意の識別子。
    • title(string) — ブロックの表示名。
    • description(string) — ブロックの説明。
    • render_template(string) — ブロックのテンプレートファイルのパス。
    • category(string) — ブロックが属するカテゴリ(例: common, formatting, layout)。
    • icon(string) — ブロックのアイコン(DashiconsまたはSVG)。
    • keywords(array) — ブロックを検索するためのキーワード。
    • mode(string) — ブロックの編集モード(例: edit, preview)。

例1: 基本的なカスタムブロックの登録

以下は、シンプルなカスタムブロックを登録する例です。

acf_register_block_type(array('name'=>'custom-block','title'=>'カスタムブロック','description'=>'これはカスタムブロックです。','render_template'=>'template-parts/blocks/custom-block.php','category'=>'common','icon'=>'smiley','keywords'=>array('custom','block')));

例2: アイコンを使用したブロックの登録

Dashiconsを使用してブロックにアイコンを追加します。

acf_register_block_type(array('name'=>'icon-block','title'=>'アイコンブロック','description'=>'アイコン付きのブロックです。','render_template'=>'template-parts/blocks/icon-block.php','category'=>'common','icon'=>'dashicons-admin-site','keywords'=>array('icon','block')));

例3: プレビューモードの設定

ブロックの編集モードをプレビューに設定します。

acf_register_block_type(array('name'=>'preview-block','title'=>'プレビューブロック','description'=>'プレビューモードのブロックです。','render_template'=>'template-parts/blocks/preview-block.php','category'=>'common','icon'=>'editor-preview','mode'=>'preview'));

例4: カスタムカテゴリの使用

カスタムカテゴリを指定してブロックを登録します。

acf_register_block_type(array('name'=>'custom-category-block','title'=>'カスタムカテゴリブロック','description'=>'カスタムカテゴリに属するブロックです。','render_template'=>'template-parts/blocks/custom-category-block.php','category'=>'custom-category','icon'=>'star-filled','keywords'=>array('custom','category')));

例5: 複数のキーワードを使用

ブロックを検索しやすくするために複数のキーワードを指定します。

acf_register_block_type(array('name'=>'keyword-block','title'=>'キーワードブロック','description'=>'複数のキーワードを持つブロックです。','render_template'=>'template-parts/blocks/keyword-block.php','category'=>'common','icon'=>'search','keywords'=>array('search','keyword','find')));

注意点

  • render_templateで指定するテンプレートファイルは、テーマディレクトリ内に配置する必要があります。
  • ブロックの登録は、acf/initアクションフック内で行うことが推奨されます。