Gutenberg適用時の編集画面でタクソノミーパネルを表示させない方法
作成日:
2019年8月15日
WordPressの運用時に、投稿の編集画面でカテゴリーやタグなどのタクソノミーを選択出来ないようにしたいケースがあります。そのような時は、これまではremove_meta_box
を使用していたのですが、Gutenberg使用時ではこの関数は機能しないようです。
さらに都合の悪いことに、Gutenberg適用時の編集画面では、パネルごとに固有のIDやクラスもあてがわれないので、CSSで非表示にすることも出来ません。
そこで、Gutenberg適用時にもタクソノミーパネルを非表示にする方法を調べました。
📝 今回の例
- カスタム投稿 | my_product
- カスタムタクソノミー | product_detail
まず、(所謂)クラシックエディターの場合は、
PHP
function my_remove_meta_boxes() {
remove_meta_box( 'product_detaildiv', 'my_product', 'normal' );
}
add_action( 'admin_menu', 'my_remove_meta_boxes' );
となります。
次にGutenberg適用時の場合は、
PHP
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
https://github.com/WordPress/gutenberg/issues/6912#issuecomment-428403380
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. ...
物草 灸太郎
WordPressでホームページを制作しつつ、休日は畑を耕したりDIYを楽しんでいます。
コメントをどうぞ