繁体   English   中英

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

[英]How to hide “WooCommerce” from menu for non admin?

我尝试了以下但没有用

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

我怎样才能隐藏它?

一种选择是使用管理菜单编辑器插件,它可以让您根据用户权限修改管理菜单。

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:修改代码以实现这一点,(通用解决方案)

您可以使用以下方法进行调试:

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/

本周我要求 WooCommerce 更改他们的设置,所以这更好管理。 这个想法需要投票,所以请添加您的投票,希望我们不再需要这样编码: https:ideas.woocommerce.com 请给它最高3分,谢谢!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM