ブロックパターンは「あらかじめ登録されたレイアウトを呼び出す」機能です。この記事ではWordPressで自作のブロックパターン(パターン)を追加する方法を紹介します。ブロックのデザインはWordPress.orgから探すこともできます。
WordPress5.5で導入されたブロックパターン(パターン)は独自のブロックを作成できる機能です。
WordPress 5.8以降、ブロックパターンはWordPress.orgから読み込まれるようになりました。
この仕様により、パターンのタブを開くごとに読み込みが発生するという非常に無駄な処理が発生しています。特に「注目」カテゴリーは読み込み量が多くて厄介です。
自分が作ったブロックパターンへのアクセスも悪くなります。
作業効率のためにも、不要なブロックパターン(のカテゴリー)は削除しておきましょう。
この記事では、WordPressにデフォルトで追加されているブロックパターンの消し方を紹介します。
WordPressのブロックパターンの消し方(WordPress 5.9~6.0)
WordPress 5.9でのブロックパターンの削除方法です。
以下のコードをfunctions.phpに追加してください。functions.phpの編集方法と注意点
//WordPress側のブロックパターンを削除する
add_filter('should_load_remote_block_patterns', function () {
return false;
});
これで余計なパターンのカテゴリーが削除されます。ボタンとクエリは残っていますが、無駄なパターンの読み込みは解消されます。
ボタンとクエリを消したいときは以下のコードも追加してください。
//ブロックパターンのカテゴリーを削除する
add_action('admin_init', function () {
unregister_block_pattern_category( 'buttons');
unregister_block_pattern_category( 'columns');
unregister_block_pattern_category( 'gallery');
unregister_block_pattern_category( 'header');
unregister_block_pattern_category( 'text');
unregister_block_pattern_category( 'query');
});
カテゴリー名については/include/block-patterns.php参照。
これでボタンとクエリは消えますが「未分類」が出現します。
未分類は自分が追加したオリジナルブロックパターンよりも下に表示されるので邪魔にはならないと思います。
デフォルトブロックパターンの消し方 (WordPress 5.5~5.7)
WordPress5.8でブロックパターンの内容が変わりました。以下の内容を実行する場合、必ず、WordPressのバージョンが5.5~5.7であることを確認してください。
WordPress 5.5~5.7のブロックパターンの削除方法です。
上画像はボタン・カラム・ギャラリー・ヘッダー・テキストが初期項目、オリジナルが独自に追加したパターンのカテゴリです。
パターンを開くと、常に一番上にある「ボタン」の項目が表示されます。余計なパターンがあると無駄にクリック数が増えて使いにくいだけです。消してしまいましょう。
ブロックパターンを削除する
ブロックパターンの削除にはWordPress関数のunregister_block_pattern()を使用します。
functions.phpに下記コードを追加してください。
//ブロックパターンの削除
add_action('admin_init', function () {
$patterns = array(
'text-two-columns',
'two-buttons',
'two-images',
'text-two-columns-with-images',
'text-three-columns-buttons',
'large-header',
'large-header-button',
'three-buttons',
'heading-paragraph',
'quote',
);
foreach ($patterns as $pattern) {
unregister_block_pattern('core/' . $pattern);
}
});
これで邪魔なパターンが削除されてすっきりしました。自分で追加したパターンだけが残っています。パターンが一つも存在しない場合はパターンの項目自体が表示されなくなります。
ブロックパターンのカテゴリを削除する
ブロックパターンのカテゴリを削除するコードです。unregister_block_pattern_category()を使用します。
functions.phpに下記コードを追加してください。
//ブロックパターンカテゴリの削除
add_action('admin_init', function () {
$categories = array(
'buttons',
'columns',
'gallery',
'header',
'text',
);
foreach ($categories as $category) {
unregister_block_pattern_category($category);
}
});
すでにパターンを削除している場合、見た目の変化は起こりません。ブロックパターンのカテゴリもついでに削除したい場合に使用してください。
ブロックパターンでエラーが起こるとき
WordPressデフォルトのパターンを削除した状態で、オリジナルのパターンをカテゴリ設定なしで登録していると以下のようなエディタのエラーが起こります。
この場合、追加したオリジナルのパターンにカテゴリを設定すると直ります。
検索を利用してブロックパターンを探す
WordPressデフォルトのブロックパターンの消し方を紹介しましたが、
結局はWordPressのアップデートにより仕様が変わると対応できなくなります。
ブロックパターンを削除する方法は根本的な解決にならないかもしれません。
個人的には「検索」を利用してパターンを探す方が良いのではないかと思います。WordPressのアップデートにも影響されません。
ブロックパターンは自分で作成することも可能です。専門知識が無くても作れるので興味のある人はオリジナルブロックを作ってみてください。
自分が作成したパターンなら登録名を工夫すれば簡単に検索できます。