我想删除一些元框,如:
产品简短说明, 的评价
我可以删除默认元变量:
function remove_metaboxes() {
remove_meta_box( 'postcustom' , 'product' , 'normal' );
remove_meta_box( 'postexcerpt' , 'product' , 'normal' );
remove_meta_box( 'commentsdiv' , 'product' , 'normal' );
remove_meta_box( 'tagsdiv-product_tag' , 'product' , 'normal' );
}
add_action( 'admin_menu' , 'remove_metaboxes' );
但我不能删除“postexcerpt” - 产品简介和“commentsdiv” - 评论,因为它们是在add_filter中加载的 - add_meta_boxes
在此之后还有其他钩子来应用我的脚本吗?或许还有另一种方法?
谢谢!
答案 0 :(得分:3)
WooCommerce删除默认的postexcerpts并将其替换为自己的版本('产品简短说明'元框)(class-wc-admin-meta-boxes.php)
就像user1139767所说,你必须改变优先级。然而,当我尝试11时,它没有工作,也没有20。但50似乎可以做到这一点:
function remove_metaboxes() {
remove_meta_box( 'postcustom' , 'product' , 'normal' );
remove_meta_box( 'postexcerpt' , 'product' , 'normal' );
remove_meta_box( 'commentsdiv' , 'product' , 'normal' );
remove_meta_box( 'tagsdiv-product_tag' , 'product' , 'normal' );
}
add_action( 'add_meta_boxes' , 'remove_metaboxes', 50 );
答案 1 :(得分:2)
jcenter
只需将“remove_meta_box”注释掉您要在页面/帖子中显示的内容。
我们还可以通过将自定义帖子类型名称更改为remove_meta_box函数而不是“post”或“page”来删除元框。
答案 2 :(得分:2)
remove_meta_box(' tagsdiv-product_tag',' product',' normal');
不正确,请改用:
remove_meta_box( 'tagsdiv-product_tag','product','side' );
删除框'关键字产品'
答案 3 :(得分:0)
刚刚添加了add_action的优先级:
add_action( 'add_meta_boxes' , 'remove_metaboxes', 11 );
默认优先级为10,所以我添加了11以在10之后进行操作。
答案 4 :(得分:0)
要删除WooCommerce产品类别元框,请将其添加到functions.php
:
add_action('add_meta_boxes_product', 'bbloomer_remove_metaboxes_edit_product', 9999);
function bbloomer_remove_metaboxes_edit_product()
{
// e.g. Remove WooCommerce product categories metabox
remove_meta_box('product_catdiv', 'product', 'normal');
}