WPのブロックエディターを制限する方法

Categories: WordPress
最終更新日: 2023.09.29
公開日: 2023.09.29

WordPress(以下WP)の編集画面では様々なブロックエディターを使ってページを作成することができます。

見た目を確認しながら要素を追加していけるのが便利な反面、ブロックの種類が多く特定のブロックを探すのが大変な場合もあります。

ブロックの数は標準で約70種類、各埋め込みの要素も合わせるともっとたくさんの種類があります。

手軽にブロックを制限する方法

簡単に利用するブロックを制限する方法は、WPの設定から選択できるブロックを選択する方法です。

固定・投稿ページの作成画面から、画面右上にあるメニューをクリックします。
開いたメニューの中から一番下にある「設定」を選択します。

開いた設定メニューのPOPUPの中、左がの「ブロック」を選択すると次のような表示になります。

この一覧の中から利用したいブロックはチェックを入れて、非表示にするブロックはチェックを外します

これで簡単に利用するブロックを制限することができます。

制限できるのは自分のアカウントだけなのに注意

この方法は簡単に設定できますが、ブロックの制限が有効になるのは自分のアカウントだけになります。

複数のユーザーでWPを編集する場合では別のアカウントでログインした場合にはブロックの制限はされていません。

編集者が自分だけ or 自分の作業環境でブロックを制限したい場合などに有効な方法になります。

テーマからブロックを制限する方法

先ほどの方法は自分のアカウントのみでの制限でしたが、テーマファイルからブロックエディターを制限することで全ユーザーに対して利用するブロックを制限することができます。

まずはテーマの functions.php に フィルターを追加します。

add_filter( 'allowed_block_types', 'my_allowed_block_types');

function my_allowed_block_types($allowed_block_types) {
	$allowed_block_types = array(
		'core/XXXX',
		...この中に利用したいブロック名を記述...
	);
	return $allowed_block_types;
}

上のコードの中の「XXXX」部分にブロック名を記述します。
複数あるばあには「,」で繋ぎます。

ブロック名は↓の公式のドキュメントから確認できます。

サンプル

add_filter( 'allowed_block_types', 'my_allowed_block_types');

function my_allowed_block_types($allowed_block_types) {
	$allowed_block_types = array(
		'core/paragraph',  // 段落
		'core/heading',  // 見出し
		'core/list',
		'core/list-item',  // リスト
		'core/embed', //引用
		'core/freeform',  //クラシック
	);
	return $allowed_block_types;
}

実際に記述するとこのようになります。

段落」のブロックを表示させたい場合は
公式ドキュメントの一覧の中から、「段落」のセクションを検索します。

該当するドキュメントの中で「Name」に書かれているテキストが実施にコード内で指定する文字列になります。

Nameのテキストをコピーして、先ほどのフィルターの中に記述し、ファイルを保存すれば設定完了です。

ブロックを制限するメリット・デメリット

利用できるブロックを制限するのはメリットとデメリットがあります。

メリット

  • 使わないブロックを表示しないので、ページ作成時に簡単に目的のブロックエディターを選択できる
  • 意図しないブロックエディターの組み合わせによって起きるレイアウト崩れを防ぐことができる
  • テーマで制限する場合は全ユーザーに対して共通の設定にすることができる

デメリット

  • ブロックの種類が少なくなるため、レイアウトも制限される
  • 他のWPと使えるブロックが異なるため、他のユーザーが混乱する場合がある
  • テーマを変更すると制限は解除されてしまう

まとめ

利用するブロックエディターの制限には良い面も悪い面もあります。
また、これらの手法はWPのバージョンなどで動作しなくなる場合もあるので都度の確認が必要になります。

WPを利用する環境、人数などに合わせて柔軟に対応できるのがベストかと思います。
もし、ブロックエディターを制限したい場合はぜひ今回紹介した方法を使ってみてください。