簡體   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