使用 Hook 删除 WooCommerce 营销菜单项 (wp-admin)

4 php wordpress woocommerce hook-woocommerce

随着新的 WooCommerce 4.1.0 刚刚发布,菜单中出现了一个新的营销项目。查看 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' );
}
Run Code Online (Sandbox Code Playgroud)

Ari*_* I. 7

对于 WooCommerce <= v4.2

// Remove Marketing Hub menu item
add_filter( 'woocommerce_marketing_menu_items', '__return_empty_array' );
Run Code Online (Sandbox Code Playgroud)

对于 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';
        } ) 
    );
} );
Run Code Online (Sandbox Code Playgroud)

代码有效吗?

我已在 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/