web-dev-qa-db-ja.com

エディタのカスタムメニューを管理しますか?

許可に問題があります。編集者の役割を持つユーザーにテーマのカスタムメニューを管理させ、このオプションのみを許可する特別な権限はありますか?

明確にするためには、「外観」 - >「メニュー」の下にある項目です。

機能プラグインを使用しています。カスタムメニューエディタの使用のみを可能にするカスタムフックを作成する必要がありますか?

TIA

編集:私は簡単な解決策をコーディングしました。私の答えの下を見てください!

1
keatch

あなたは編集者ロールに 'edit_theme_options'パーミッションを与える必要がありますが、それはそれらのユーザへのウィジェットのような他のテーマオプションのロックを解除するでしょう。

1
prettyboymp

わかりました、admin_menuアクションを使用した方法です。誰かがそれを必要とする場合に備えて、私はここに投稿します。

このコードは、Appereanceメニューのカスタムメニューの項目を除く、特定のユーザーのすべてのサブメニュー項目を削除します。

add_action('admin_menu', 'enable_only_custom_menu');

function enable_only_custom_menu() {
    global $menu,$submenu;
    global $current_user;
    get_currentuserinfo();

    if ($current_user->user_login == 'username') {
        foreach($submenu['themes.php'] as $key=>$smenu) {
            if ($smenu[2] != 'nav-menus.php') {
                unset($submenu['themes.php'][$key]);
            }
        }
    }
}

あなたはキー 'themes.php'のためにサブメニューを繰り返しそしてあなたのために介在していない全ての項目を削除しなければなりません。

1
keatch