問題描述

我搜尋高和低的外掛,可以刪除/隱藏管理選單項,包括自定義帖子型別和分類,基於使用者角色。

我嘗試過的每一個都只是一個全域性的隱藏,而不是基於使用者的角色。其他更復雜的,如管理員不顯示自定義帖子型別或分類。

我必須寫我自己的功能,還是有一個我俯瞰的簡單外掛?

最佳解決方案

更新:

再次閱讀麥克風的答案讓我認為你可以新增一個新的功能,角色,並使用它作為你的刪除條件,所以:

   // first add your role the capability like so
   // get the "author" role object
   $role = get_role( 'administrator' );

   // add "see_all_menus" to this role object
   $role->add_cap( 'see_all_menus' );

   //then remove menu items based on that
   function remove_those_menu_items( $menu_order ){
            global $menu;
            // check using the new capability with current_user_can
            if ( !current_user_can( 'see_all_menus' ) ) {
             foreach ( $menu as $mkey => $m ) {
                //custom post type name "portfolio"
                $key = array_search( 'edit.php?post_type=portfolio', $m );
                //pages menu
                $keyB = array_search( 'edit.php?post_type=page', $m );
                //posts menu
                $keyC = array_search( 'edit.php', $m );

                if ( $key || $keyB || $keyC )
                    unset( $menu[$mkey] );
             }
            }
            return $menu_order;
    }

 //Then just Hook that function to "menu_order"
        add_filter( 'menu_order', 'remove_those_menu_items' );

老回答

我完全同意 mike 釋出的內容,但如果您不符合自定義編碼,請檢視 Admin Menu Editor 外掛。

它允許您按級別設定訪問許可權。

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。