WEBTODESIGN

デフォルトのブロックパターンを削除する【WordPress】

WordPressのデフォルトのブロックパターンを削除する記述です。

functions.php

以下の関数を使用します。

  • テーマが特定の機能のサポートを無効化する関数remove_theme_support
  • ブロックパターンの登録を解除する関数unregister_block_pattern

以下のコードをfunctions.phpに追記します。

///// 投稿画面のブロックパターン関連 /////
add_action('init', function() {
    // デフォルトのブロックパターンの削除
    remove_theme_support('core-block-patterns');
    $patterns = [
        'query-grid-posts',
        'query-large-title-posts',
        'query-medium-posts',
        'query-offset-posts',
        'query-small-posts',
        'query-standard-posts',
        'social-links-shared-background-color'
    ];
    foreach ($patterns as $pattern) {
        unregister_block_pattern('core/'. $pattern);
    }
});

多くのサイトではremove_theme_support('core-block-patterns');を使用すればデフォルトのブロックパターンが全て消えるとありましたが、クエリーとソーシャルボタンが表示されたままでした。

そこで、クエリーとソーシャルボタンのみunregister_block_patternで直接削除しました。

クエリーの登録名がわからずあたふたしたのですが、登録されているブロックパターンは/wp-includes/block-patterns/にありました。そこからファイル名を一つずつコピペ!

これで、自作のブロックパターンの登録がない場合はメニューから項目自体が消えました!

不要な項目があると、クライアントさまの混乱を招いたり意図しないデザインを使われちゃったりして困るので、無事全て非表示にできて良かったです。

リファレンス