在刚刚发布的新WooCommerce 4.1.0中,菜单中有一个新的Marketing项目。查看URL,它转到admin.php?page=wc-admin&path=/marketing
,并使用admin_menu
钩子试图删除此菜单选项。
我尝试使用sub_menu
选项和remove_menu_page
选项但没有成功。如果有人可以更正我的代码,我将不胜感激。
add_action( 'admin_menu', 'remove_woocommerce_marketing_menu_option' );
function remove_woocommerce_marketing_menu_option(){
remove_menu_page( 'admin.php?page=wc-admin&path=/marketing' );
}
答案 0 :(得分:2)
对于WooCommerce <= v4.2
// Remove Marketing Hub menu item
add_filter( 'woocommerce_marketing_menu_items', '__return_empty_array' );
对于WooCommerce> = v4.3
WooCommerce 4.3删除了woocommerce_marketing_menu_items
过滤器,因此上述代码段将不再起作用。幸运的是,我们可以像这样在WooCommerce 4.0中引入另一个过滤器:
add_filter( 'woocommerce_admin_features', function( $features ) {
/**
* Filter list of features and remove those not needed *
*/
return array_values(
array_filter( $features, function($feature) {
return $feature !== 'marketing';
} )
);
} );
代码是否正常工作?
我已经在WordPress 5.5版和WooCommerce 4.4版上测试了以上代码段,并且按预期工作。
优惠券在WooCommerce 4.4中的“营销”下转移
在WooCommerce版本4.4中,“优待券”功能已作为子项目移至“市场营销”菜单项。旧位置仍然有优惠券菜单项,绊脚的菜单项将被引导到新位置,并要求删除旧的WooCommerce > Coupons
菜单项。
但是,如果您使用的是上述代码段,则Marketing
等将无法使用Marketing > Coupons
菜单项。在这种情况下,您的Coupons
菜单项将以WooCommerce > Coupons
的形式保留在旧位置。
积分:https://cinchws.com/remove-woocommerce-marketing-hub-menu-item/
答案 1 :(得分:1)
add_filter('woocommerce_marketing_menu_items', 'woocommerce_marketing_menu_items');
function woocommerce_marketing_menu_items($marketing_pages){
return array();
}
答案 2 :(得分:0)
使用此:
add_action( 'admin_init', 'remove_marketing_menu_page' );
function remove_marketing_menu_page() {
remove_menu_page( 'wc-admin&path=/marketing' );
}
答案 3 :(得分:0)
// Remove Marketing Hub menu item
add_filter( 'woocommerce_marketing_menu_items', '__return_empty_array' );