admin管理员组文章数量:1125329
I have two hierarchical custom taxonomies, each on a corresponding custom post type. I would like to remove the metabox for each on the post type's edit screen.
I have read remove custom taxonomy metabox form custom post type and How do you remove a Category-style (hierarchical) taxonomy metabox? but I'm still stuck.
The function I'm using is:
function remove_taxonomies_metaboxes() {
remove_meta_box( 'partner_typediv', 'partners', 'normal' );
remove_meta_box( 'person_typediv', 'people', 'normal' );
}
add_action( 'admin_menu' , 'remove_taxonomies_metaboxes' );
I unprefixed the post_types and custom_taxonomies, but that's it. I've tried using the admin_menu
hook and the add_meta_boxes
hook recommended by the Codex. I've tried both normal
and side
for the third parameter.
The above function is located in an mu-plugins
file below the function that registers the post types and taxonomies.
EDIT: It was a typo in the register_taxonomy function. I'm a horrible person. Thanks for everyone for the help. I still learned some stuff!
I have two hierarchical custom taxonomies, each on a corresponding custom post type. I would like to remove the metabox for each on the post type's edit screen.
I have read remove custom taxonomy metabox form custom post type and How do you remove a Category-style (hierarchical) taxonomy metabox? but I'm still stuck.
The function I'm using is:
function remove_taxonomies_metaboxes() {
remove_meta_box( 'partner_typediv', 'partners', 'normal' );
remove_meta_box( 'person_typediv', 'people', 'normal' );
}
add_action( 'admin_menu' , 'remove_taxonomies_metaboxes' );
I unprefixed the post_types and custom_taxonomies, but that's it. I've tried using the admin_menu
hook and the add_meta_boxes
hook recommended by the Codex. I've tried both normal
and side
for the third parameter.
The above function is located in an mu-plugins
file below the function that registers the post types and taxonomies.
EDIT: It was a typo in the register_taxonomy function. I'm a horrible person. Thanks for everyone for the help. I still learned some stuff!
Share Improve this question edited Apr 13, 2017 at 12:37 CommunityBot 1 asked Jun 11, 2013 at 18:49 mrwwebmrwweb 10.3k5 gold badges40 silver badges75 bronze badges 2 |5 Answers
Reset to default 68If you are manually registering your custom taxonomy via register_taxonomy then you can pass in arguments to control where the metabox appears.
In the example below setting show_ui
to false
would completely remove the metabox from the edit screen, the quick edit screen, and the admin menu. But if you set show_ui
to true
you can achieve more nuanced control by then using the show_in_quick_edit
and meta_box_cb
arguments (setting the later to false hides the metabox on the CPT edit screen as desired).
register_taxonomy( 'your_custom_taxonomy', array( 'your_custom_post_type' ), $args );
$args = array(
'show_ui' => true,
'show_in_quick_edit' => false,
'meta_box_cb' => false,
);
You say you want to remove the boxes from the post
edit screen, not the Post type screen, so assuming that you should be able to register your taxonomy only for the post types you want it to apply to, and avoid this altogether. The example in the Codex registers the sample taxonomy only for the book
post type like:
register_taxonomy( 'genre', array( 'book' ), $args );
I think this is what you need to do, but you did not post any registration code for the post types or the taxonomies.
If you have created the meta boxes yourself-- that is, these boxes are not the default ones-- then the way to avoid this issue is to register the meta boxes on the post-type specific hooks:
do_action('add_meta_boxes_' . $post_type, $post);
Or to follow the example above:
add_action('add_meta_boxes_book', 'your-box-callback');
One of those approaches should solve this for you. I don't think you should have to use remove_meta_box
at all.
If you are trying to remove the meta boxes from the post type that they are registered to, this works (again following the example in the Codex):
function remove_taxonomies_metaboxes() {
remove_meta_box( 'genrediv', 'book', 'side' );
}
add_action( 'add_meta_boxes_book' , 'remove_taxonomies_metaboxes' );
I am pretty sure that admin_menu
is too early, but didn't verify that. add_metaboxes
also works for me. I don't know why it does not work for you.
Taxonomies register a meta_box by default using a tagsdiv-xxx id. Using ACF for the custom taxonomies management, the default metaboxes are unnecessary. I've tried, successfully, this code:
function remove_cuttax_metaboxes() {
$post_type = 'post';
$taxonomy = 'custom_taxonomy_slug';
remove_meta_box( 'tagsdiv-'.$taxonomy, $post_type, 'side' );
}
add_action( 'admin_menu' , 'remove_cuttax_metaboxes', 100 );
The lower priority (100) let this code work also if the taxonomies are created by a plugin like CPT-UI.
Try this one or add 'meta_box_cb' => false
to your $args
in register_taxonomy
add_action('init', function () {
register_taxonomy('your_taxonomy', 'your_post_type', [
'labels' => [
// label options
],
// other options
'show_ui' => true,
'show_in_quick_edit' => false,
'meta_box_cb' => false, // just add this line
]);
});
I tried the above solutions to hide the taxonomy but it didn't work for me. Finally, I found a solution.
Add this code in your theme's functions.php file.
function Cc_Gutenberg_Register_files()
{
//custom script file
wp_register_script(
'cc-block-script',
get_stylesheet_directory_uri() .'/js/block-script.js',
array( 'wp-blocks', 'wp-edit-post' )
);
// register block editor script
register_block_type( 'cc/ma-block-files', array(
'editor_script' => 'cc-block-script'
) );
}
add_action('init', 'Cc_Gutenberg_Register_files');
For block-script.js
, you can use this code.
wp.data.dispatch( 'core/edit-post').removeEditorPanel( 'taxonomy-panel-category' ) ; // Hide default Category
wp.data.dispatch( 'core/edit-post').removeEditorPanel( 'taxonomy-panel-TAXONOMY-NAME' ) ; //Hide Custom Taxonomy
本文标签: Remove Custom Taxonomy Metabox from Custom Post Type Screen
版权声明:本文标题:Remove Custom Taxonomy Metabox from Custom Post Type Screen 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1736658994a1946327.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
'show_ui' => false
? – JMau Commented Jun 11, 2013 at 18:59