やりたいこと
投稿・固定ページの編集画面にて、ブロック追加の画面でブロックパターンが選べる。
その中からSnow Monkey Blocks側で作成したパターンを選択できないようにしたい。
対応方法
My Snow Monkeyに下記コードを追加
/**
* Snow Monkey ブロックパターンの削除
*/
add_action( 'init', 'msm_remove_default_block_pattern' ,10000 );
function msm_remove_default_block_pattern() {
$patterns = [
'snow-monkey-blocks/heading-1',
'snow-monkey-blocks/heading-2',
'snow-monkey-blocks/heading-3',
'snow-monkey-blocks/heading-4',
'snow-monkey-blocks/heading-5',
'snow-monkey-blocks/feature-1',
'snow-monkey-blocks/feature-2',
'snow-monkey-blocks/feature-3',
'snow-monkey-blocks/feature-4',
'snow-monkey-blocks/feature-5',
'snow-monkey-blocks/feature-6',
'snow-monkey-blocks/text-with-image-1',
'snow-monkey-blocks/text-with-image-2',
'snow-monkey-blocks/text-with-image-3',
'snow-monkey-blocks/pricing-1',
'snow-monkey-blocks/faq-1',
'snow-monkey-blocks/faq-2',
];
foreach ( $patterns as $pattern ) {
unregister_block_pattern( $pattern );
}
}
コードの参考元(ほぼご紹介のコード流用させていただきました、ありがとうございます!):
https://www.nxworld.net/wordpress/wp-gutenberg-custom-block-pattern-and-block-pattern-category.html
その他備考
Coreのブロックパターンはhookの優先度を指定しなくても動いたが、Snow Monkey Blocksの場合、優先度が設定されていないと、Snow Monkey Blocksのパターン宣言より先にこちらのコードが動いてしまい、エラーが発生する
優先度はひとまず10000入れてしまっているがもっと高めでも全然動くとは思う