如何从非管理员菜单中隐藏“WooCommerce”?

时间:2016-11-17 23:42:55

标签: wordpress woocommerce wordpress-theming hook-woocommerce

我尝试了以下但是没有用

add_action( 'admin_menu', 'wpse28782_remove_menu_items' );
function remove_menus(){
remove_menu_page( 'edit.php?post_type=shop_order' );       
}

add_action( 'admin_menu', 'remove_menus' );

我该如何隐藏它?

3 个答案:

答案 0 :(得分:1)

一个选项是使用管理菜单编辑器插件,它允许您根据用户权限修改管理菜单。

https://en-au.wordpress.org/plugins/admin-menu-editor/

或者,您可以使用基于用户功能的解决方案,这将针对没有管理员权限的任何人:

add_action( 'admin_menu', 'no_woo' );

function no_woo() {
    if ( current_user_can('manage_options') == false ) {
        remove_menu_page( 'woocommerce' );
    }
}

答案 1 :(得分:0)

案例1:修改代码以实现此目标,(通用解决方案)

您可以使用以下内容进行调试:

add_action( 'admin_init', 'wodebug_admin_menu' );

function wodebug_admin_menu() {

    echo '<pre>' . print_r( $GLOBALS[ 'menu' ], TRUE) . '</pre>';
}

这为Contact Form 7插件菜单页面提供了(对于我的设置)以下内容:

[27] => Array
        (
            [0] => Formular
            [1] => wpcf7_read_contact_forms
            [2] => wpcf7
            [3] => Contact Form 7
            [4] => menu-top menu-icon-generic toplevel_page_wpcf7 menu-top-last
            [5] => toplevel_page_wpcf7
            [6] => none
        )

获取密钥并在您的案例中申请。

add_action( 'admin_init', 'wpse_136058_remove_menu_pages' );

function wpse_136058_remove_menu_pages() {

    remove_menu_page( 'edit.php?post_type=acf' );
    remove_menu_page( 'wpcf7' ); // Key place in this
}

案例2:使用插件。

http://wordpress.org/plugins/adminimize/

答案 2 :(得分:-1)

这周,我请求WooCommerce更改其设置,因此更好地进行管理。这个想法需要投票,因此请增加您的投票,并希望我们不再需要编写这样的代码:https:ideas.woocommerce.com。请给它最高3分,谢谢!