WordPressのブロックにスタイル編集や移動制限をかける方法

WordPressのブロックエディタに挿入したブロックに対し、編集できないように制限を書ける方法。

template_lock プロパティ

“templateLock”:”contentOnly”

ブロックを操作できないように UI でテンプレートをロックしたい場合はtemplate_lock プロパティを使用できる。

contentOnly
すべての操作を禁止。コンテンツを持たないブロックタイプは、リストビューに表示されず、ブロックリスト内でもフォーカスされない

all
すべての操作を禁止します。新しいブロックの挿入、既存ブロックの移動、ブロックの削除不可

insert
新しいブロックの挿入、ブロックの削除はできない。既存ブロックの移動はできる

スタイル編集ロックの設定方法

ブロックの入力テキストの編集以外に制限をかけるには、”templateLock”:”contentOnly”をHTMLコメントに記入します。

ロックを掛けたいブロックをグループ化し、コードエディターに切り替えます。

<!-- wp:group {"layout":{"type":"constrained"}} -->
<div class="wp-block-group"><!-- wp:paragraph -->
<p>ここにロックをかけます</p>
<!-- /wp:paragraph --></div>
<!-- /wp:group -->

“templateLock”:”contentOnly”を追加します。

<!-- wp:group {"templateLock":"contentOnly","layout":{"type":"constrained"}} -->
<div class="wp-block-group"><!-- wp:paragraph -->
<p>ここにロックをかけます</p>
<!-- /wp:paragraph --></div>
<!-- /wp:group -->

引き続き段落テキストは編集できますが、文字色を設定するといったスタイルの設定メニューは非表示になります。

スタイル編集ロックの解除方法

スタイル編集ロックを解除する場合は、ブロックインスペクター上でグループブロック内のロックの掛かったブロックを選択し、右クリックすると、unlockを選択できます。

アンロック後、コードエディター上はきれいにもとに戻りました。

<!-- wp:group {"layout":{"type":"constrained"}} -->
<div class="wp-block-group"><!-- wp:paragraph -->
<p>ここにロックをかけます</p>
<!-- /wp:paragraph --></div>
<!-- /wp:group -->

ブロックの移動と削除の設定

ブロックの移動と削除に対し制限をかけることもできます。ブロックツールバーのオプションから、Lockを選択するだけです。この機能はBlock Locking APIをとおして提供されています。

参考