ブロックエディターで Bootstrap のグリッドシステム col-**-* を使う方法

グリッドカラムはとても便利だけど…

VK Blocks Proグリッドカラム は画面幅ごとにカラム数を指定できるのでとても便利でよく使っていますが、たまにブロック(アイテム)ごとに幅を変えたいと思うときがあります。

そのようなときは col-sm-6, col-md-4, col-xl-6 などの Bootstrapグリッドシステム の指定をブロックごとに使えばいいのですが、その前提として親要素にクラス row を指定する必要があり、それがちょっとした難題です。

親要素として使うのは グループ ブロックが最適ですが、グループブロックのHTMLソースは以下のように2重構造になっています。

グループブロックのHTMLソース

クラス row を指定したい場所は【1】なのですが、ブロックエディターの [追加 CSS クラス] で指定できるのは【2】です。

クラス row を【1】に指定する方法

そこで以下の JavaScript を組み込みます。

$(".bootstrap-row > .wp-block-group__inner-container").addClass("row").removeClass("wp-block-group__inner-container");

このプログラムにより、グループブロックの [追加 CSS クラス] に bootstrap-row が指定されると、子要素のクラス wp-block-group__inner-container が row に置き換わって以下のHTMLソースになります。

グループブロックのHTMLソース

この結果、グループブロック内で Bootstrap のグリッドシステムを使えるようになります。

グリッドシステムを使ったパターンの例

col-12 col-md-4 col-xl-6


col-12 col-md-8 col-xl-6


col-12 col-md-4


col-12 col-md-4


col-12 col-md-4