使用挂钩删除WooCommerce Marketing菜单项(wp-admin)

时间:2020-05-06 12:58:25

标签: php wordpress woocommerce hook-woocommerce

在刚刚发布的新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' );
}

4 个答案:

答案 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' );