问题描述

我想给编辑器角色访问编辑边栏和它的内容。我在那里有一个文本小工具,为了编辑这个文本小工具,用户需要一个管理员 – 这很糟糕。如何授予编辑角色的权限,让他可以编辑边栏?

最佳解决方案

edit_theme_options 功能应允许用户按照本页所述编辑侧边栏:http://codex.wordpress.org/Appearance_Widgets_SubPanel

代码添加到 functions.php

   $role = get_role('editor');
   $role->add_cap('edit_theme_options');

编辑:

这应该可以防止编辑器访问主题或菜单

function custom_admin_menu() {

    $user = new WP_User(get_current_user_id());
    if (!empty( $user->roles) && is_array($user->roles)) {
        foreach ($user->roles as $role)
            $role = $role;
    }

    if($role == "editor") {
       remove_submenu_page( 'themes.php', 'themes.php' );
       remove_submenu_page( 'themes.php', 'nav-menus.php' );
    }
}

add_action('admin_menu', 'custom_admin_menu');

我没有机会测试这个,但它只是从他们仍然可以通过直接输入 URL 访问它们的菜单中删除它们。

参考文献

注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。