ブロックエディタ (Gutenberg) でスタイルセレクト機能を再現する 2
この記事は約 8 分で読めます。
前回では、
スタイルセレクト機能とは
どんなものなのかお話しました。
https://neco913.kirara.st/post-3634/
はじめに
最新のWordPressでは
動作しない可能性があります。
先ずはじめに、
導入するにあたり
gutenberg-examples
(カスタムブロック)
のフォルダーで作業する事を
前提としてお話していく事とします。
https://neco913.kirara.st/post-3485/
一部のテキストにスタイルを当てる
テキスト装飾機能の実装方法
まず、
カスタマイズするためのファイルを
読み込む記述をします。
gutenberg-examples/index.php に
以下のコードを書きます。
CSSやJSは上記のファイルに記述するものとします。
コントロールパネルに項目を追加するjs
上記jsファイルを
gutenberg-examples/js
フォルダーに置きます。
コントロールパネルに項目を追加するcss
上記cssファイルを
gutenberg-examples/css
フォルダーに置きます。
cssは任意に
変更してください。
解説
貴重なお時間を割き、細かいことは公式ページ(Gutenberg Handbook:Block Filters )に任せておくとして、大まかな処理の流れだけ説明しておきます。
テキスト装飾機能の実装方法
最上部で定義しているisValidBlockType()
という関数は、テキスト装飾機能を使用するブロックを決めておき、そのブロックかどうかを判断するためのものです。
コントロールパネルに項目を追加するためにwp.compose.createHigherOrderComponent
というメソッドがあります。
wp.components.PanelBody
がパネル全体の設定です。
wp.components.SelectControl
でセレクトボックスを追加できます。
onChangeで選択中のテキストをクラス付きのspanタグで囲む、という処理を加えてあげます。
return時の条件文内、props.isSelected
は無くても動作することを確認していますが、おそらく選択中のブロックのみに表示する、という分岐だと思います。
wp.hooks.addFilter
で"editor.BlockEdit"
というフィルターに関数をフックさせます。
最後まで
ご高覧いただきまして
有難うございました
ディスカッション
コメント一覧
まだ、コメントがありません