Удаление пункта меню WooCommerce Marketing (wp-admin) с помощью крючка - PullRequest
2 голосов
/ 06 мая 2020

В только что выпущенной новой версии 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' );
}

Ответы [ 4 ]

1 голос
/ 21 августа 2020

Для WooCommerce <= v4.2 </strong>

// 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 голос
/ 06 мая 2020
add_filter('woocommerce_marketing_menu_items', 'woocommerce_marketing_menu_items');

function woocommerce_marketing_menu_items($marketing_pages){
    return array();
}
0 голосов
/ 25 июня 2020
// Remove Marketing Hub menu item
add_filter( 'woocommerce_marketing_menu_items', '__return_empty_array' );
0 голосов
/ 06 мая 2020

Используйте это:

add_action( 'admin_init', 'remove_marketing_menu_page' );

function remove_marketing_menu_page() {
    remove_menu_page( 'wc-admin&path=/marketing' );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...