【wordpress】ブロックツールバーのカスタマイズ方法(自作ブロック)
wordpressのブロックエディタ「Gutenberg」でカスタムブロックを作成した際のブロックツールバーのカスタマイズ方法を紹介します。
ブロックツールバーのカスタマイズ方法(自作ブロック)
edit.jsを作成します。
edit.js
block.json
RichText
RichTextで出力するタグやbold,italicなどをコントールすることができます。
onChangeでblock.jsonのattributesで設定した値を受け取ってvalue属性にセットすることでリアクティブに入力値を反映させられます。
tagName属性でh4やpタグなどhtmlのタグを指定できます。
allowedFormatsでbold,italicなど許可したいもののみを指定できます。
BlockControls
BlockControlsにcontrols属性を指定することで、ブロックのツールバーにボタンを簡単に作成できます。
isActiveはボタンのオンオフの見た目を色反転でトグルすることができます。
onClickにしたい処理を記述します。
icon属性でアイコンも自由に変えられます。
ToolbarGroupとToolbarButton
以下コマンドでToolbarGroupとToolbarButtonを使えるようになります。
edit.jsの参考例です。
ToolbarButtonでボタンを作成できます。
ToolbarGroupでToolbarButtonをラップして使用することでグループを作成できます。
また、ToolbarDropdownMenuで他のオプションなどをドロップダウン形式で表示させることができます。
ツールバーのグループについて
ブロックツールバーでは、ブロックレベルのコントロール、インラインレベルのコントロール、その他のコントロールという順番にグループ分けすることができます。group="block"
でブロックレベルのコントロールを指定でき、並び順が最初になります。group="inline"
でinlineレベルのコントロールを指定でき、ブロックの次にきます。group="other"
でその他のレベルのコントロールを指定でき、最後の順番になります。
ツールバーのカスタム中に確認すべきドキュメント
wordpressのgithubはチェックするととても良い情報があります。
https://github.com/WordPress/gutenberg/tree/trunk/packages/block-editor/src/components
たとえば、アラインメントなどは自分で自作せずともコンポーネントをインポートするだけで実装できます。