@wordpress/create-blockで複数ブロックを設定する

WordPressで独自のブロックエディターを実装するために、プラグインの雛形を作成する公式サポートツールとして @wordpress/create-block があります。

このサポートツールを実行するとブロック開発が行える雛形が簡単に用意される大変ありがたいツールです。

ですが、1プラグインで1つのブロックが設定できる雛形となっており、1プラグインで複数ブロックに対応させる方法がありませんでした。

オプションも無く、設定方法を調べても作成したブロックをビルドするコマンドの wp-scripts コマンドでの設定を変更するものばかりが見つかりました。

古い情報だったのか(?) 執筆時の 2023年12月 ではもっと簡単に設定できたので記事としてまとめておきます。

設定方法

@wordpress/create-block で作成される src/ ディレクトリ配下にディレクトリとして設置することで対応できました。

コマンドとしては以下で確認できます。

$ npx @wordpress/create-block@latest todo-list
$ cd todo-list
$ rm -rf src/*
$ cd src/
$ npx @wordpress/create-block@latest --no-plugin one
$ npx @wordpress/create-block@latest --no-plugin two

ディレクトリ構造としては以下のようになります。

├── package-lock.json
├── package.json
├── readme.txt
├── src
│   ├── one
│   │   ├── block.json
│   │   ├── edit.js
│   │   ├── editor.scss
│   │   ├── index.js
│   │   ├── save.js
│   │   ├── style.scss
│   │   └── view.js
│   └── two
│       ├── block.json
│       ├── edit.js
│       ├── editor.scss
│       ├── index.js
│       ├── save.js
│       ├── style.scss
│       └── view.js
└── todo-list.php

プラグインのPHPファイルに以下のようにブロックを登録すれば読み込まれます。

	register_block_type( __DIR__ . '/build/one' );
	register_block_type( __DIR__ . '/build/two' );

blocks ディレクトリを作成して wp-script のビルド対象を変更するオプションを指定する記事なども見つかりましたが、初期で作成される src/ ディレクトリ配下に置くだけで複数ブロックをビルド可能になっているので、こちらの方が簡単に設定できるかと思います。

以上、参考になりましたら幸いです。

投稿者


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA