商品标签是WooCommerce中的一种比较自由的分类方法,可以让用户自由的给WooCommerce商品添加一个基于标签的分类。WooCommerce没有提供给我们禁用商品标签的方法,不过,如果确实不需要,我们可以通过代码彻底禁用掉标签功能。
移除后台菜单中的 “产品>标签” 链接
第一步,我们使用以下代码把仪表盘产品子菜单中的“标签”链接移除。我们可以使用 remove_submenu_page()
函数来达到这个目的。
add_action('admin_menu', function ()
{
remove_submenu_page('edit.php?post_type=product', 'edit-tags.php?taxonomy=product_tag&post_type=product');
}, 9999);
移除标签元数据盒子
第二步,移除产品编辑页面输入标签的元数据盒子。和第一步一样,WordPress 为我们提供了 remove_meta_box() 函数来方便我们移除元数据盒子。
add_action('admin_menu', function ()
{
remove_meta_box('tagsdiv-product_tag', 'product', 'side');
});
移除产品列表中的标签数据列
第三步,在产品列表中移除产品标签数据列。其实这个功能我们可以通过WooCommerce产品编辑界面隐藏掉,但是这个隐藏的操作只会对当前登录的用户有效,其他用户还需要重新隐藏一次。所以为了减少其他用户的操作,我们可以直接通过代码移除这个数据。
add_filter('manage_product_posts_columns', function ($product_columns)
{
unset($product_columns[ 'product_tag' ]);
return $product_columns;
}, 999);
从快速编辑和批量编辑中删除产品标签字段
第四步,移除快速编辑中的产品标签字段。用户添加产品标签大部分是通过这个界面进行添加的,移除这个元数据盒子后,用户就无法在添加产品的时候为产品指定标签了。
add_filter('quick_edit_show_taxonomy', function ($show, $taxonomy_name)
{
if ('product_tag' == $taxonomy_name) {
$show = false;
}
return $show;
}, 10, 2);
移除产品标签云小工具
最后,移除产品标签云小工具。虽然我们不把标签云放到小工具里面,他就不会显示在前端,但是为使界面更加简洁,我们可以直接移除这个小工具。
add_action('widgets_init', function ()
{
unregister_widget('WC_Widget_Product_Tag_Cloud');
});
上面的代码都需要添加到主题的 functions.php 或其包含的文件中,才会生成。完成以上步骤后,产品标签就从WooCommerce系统中彻底消失了。