Gutenberg適用時の編集画面でタクソノミーパネルを表示させない方法

Gutenberg適用時の編集画面でタクソノミーパネルを表示させない方法



WordPressの運用時に、投稿の編集画面でカテゴリーやタグなどのタクソノミーを選択出来ないようにしたいケースがあります。そのような時は、これまではremove_meta_boxを使用していたのですが、Gutenbergではこの関数は機能しないようです。
さらに都合の悪いことに、Gutenberg適用時の編集画面では、パネルごとに固有のIDやクラスもあてがわれないので、CSSで非表示にすることも出来ません。

そこで、Gutenberg適用時にもタクソノミーパネルを非表示にする方法を調べました。

例:カスタム投稿/my_product、カスタムタクソノミー/product_detail

まず、(所謂)クラシックエディターの場合は、

function my_remove_meta_boxes() {
	remove_meta_box( 'product_detaildiv', 'my_product', 'normal' );
}
add_action( 'admin_menu', 'my_remove_meta_boxes' );

となります。

次にGutenberg適用時の場合は、

function mx_remove_meta_boxes_gutenberg ( $response, $taxonomy ) {
	if ( 'product_detail' === $taxonomy->name ) {
		$response->data['visibility']['show_ui'] = false;
	}
	return $response;
}
add_filter( 'rest_prepare_taxonomy', 'my_remove_meta_boxes_gutenberg', 10, 2 );

となります。

Custom Taxonomy: Show in REST, Hide default Gutenberg Panel · Issue #6912 · WordPress/gutenberg
参考
Custom Taxonomy: Show in REST, Hide default Gutenberg Panel · Issue #6912 · WordPress/gutenberg

I’ve created a custom taxonomy for my custom post type, but I have built a custom interface for assigning the tax (a drop-down as I want only max 1 term assigned) as part of a metabox for the CPT. ...

Custom Taxonomy: Show in REST, Hide default Gutenberg Panel · Issue #6912 · WordPress/gutenberg GitHub

おまけ
carbonを使ってコードを画像にしてみました。

今日はここまで

関連する記事



こちらはいかが?


コメントを残す