回答:
これをあなたのテーマに追加してくださいfunctions.php:
// add editor the privilege to edit theme
// get the the role object
$role_object = get_role( 'editor' );
// add $cap capability to this role object
$role_object->add_cap( 'edit_theme_options' );
WP_Role
                    admin_initとのみif !$role_object->has_cap('edit_theme_options')
                    編集:WP 4.9の更新とエディターのメニュー項目のみの非表示
ユーザーがナビゲーションメニューを変更できるようにしたいが、外観の他のオプションは変更できないようにする場合:これを使用します
// Do this only once. Can go anywhere inside your functions.php file
$role_object = get_role( 'editor' );
$role_object->add_cap( 'edit_theme_options' );
上記のコードはデータベースに永続的な変更を加えるため、管理パネルを更新した後、このコード全体をコメント化できます。
これで、外観の下にあるすべてのオプションがエディターに表示されます。次のような他のオプションを非表示にすることができます。
function hide_menu() {
    if (current_user_can('editor')) {
        remove_submenu_page( 'themes.php', 'themes.php' ); // hide the theme selection submenu
        remove_submenu_page( 'themes.php', 'widgets.php' ); // hide the widgets submenu
        remove_submenu_page( 'themes.php', 'customize.php?return=%2Fwp-admin%2Ftools.php' ); // hide the customizer submenu
        remove_submenu_page( 'themes.php', 'customize.php?return=%2Fwp-admin%2Ftools.php&autofocus%5Bcontrol%5D=background_image' ); // hide the background submenu
        // these are theme-specific. Can have other names or simply not exist in your current theme.
        remove_submenu_page( 'themes.php', 'yiw_panel' );
        remove_submenu_page( 'themes.php', 'custom-header' );
        remove_submenu_page( 'themes.php', 'custom-background' );
    }
}
add_action('admin_head', 'hide_menu');
hide_menu()関数の最後の3行は、私のテーマに固有のテーマです。管理パネルで非表示にするサブメニューをクリックすると、2番目のパラメーターを見つけることができます。URLは次のようになります:example.com/wp-admin/themes.php ?page= yiw_panel
したがって、この例では、remove_submenu_page()関数の2番目のパラメーターはyiw_panel
管理メニューの構造を見ると、nav-menus.phpリンクが機能に関連付けられているようedit_theme_optionsです。この機能を含めるようにエディターの役割を変更できますか?これにより、ウィジェットを編集するオプションも提供されますが、これが問題なのかわかりませんか?すべてのメニューAjaxのものはこの機能によって制限されているため、メニューを編集するために管理メニュー機能を変更するだけではおそらく機能しません。
instalプラグイン「ユーザーロールエディター」-edit_theme_optionsをオンにする-プラグインをインストールするAdminimize-エディターの「ウィジェット」と「テーマを切り替える」をオフにする;)
メニューがこのように機能することがわかりました。プラグイン「User Role Editor」をインストールすると、エディターロールなどの条件を編集できます。edit_theme_optionsをオンに切り替えます。しかし今:「テーマ」、「ウィジェット」の下に「メニュー」オプションが表示されます。私の場合:「メニュー」(エディタとして)をクリックした後、塗りつぶされたオプションは表示されませんが、空です。そのため、プラグイン「ユーザーロールエディター」を無効にし、「メニュー」の入力オプションが正しく表示されるようにしました。プラグイン「ユーザーロールエディター」を無効にすると、エディターがアクティブになる条件が維持されることに注意してください。私にとっては良いことかもしれません