问题描述

我刚刚为一个朋友设置了一个新的博客,并认为最好不要马上给他管理员权限,作为一个 pre-caution 。

因此,我创建了一个新用户作为编辑器。

但是后来我看到这个用户无法改变主题设置,如背景和标题。

有没有一个简单的方法来允许编辑角色编辑二十或一个孩子的任何主题设置?他基本上可以做任何管理员可以做的任何事情。主题,甚至可能更改主题。

最佳解决方案

您可以使用 role 对象和 add_cap 将功能添加到编辑器角色 functions.php

<?php
   // get the the role object
   $editor = get_role('editor');
   // add $cap capability to this role object
   $editor->add_cap('edit_theme_options');
?>

您还可以删除功能:

$editor->remove_cap('delete_posts');

只需看看功能列表和每个方法的含义。

次佳解决方案

由于这是第一次遇到这个问题的谷歌,我觉得这是更新的正确的地方:

对我来说,我无法通过 edit_theme_options 得到它的工作。然后我看到插件源,发现它实际上是 manage_options 。它工作。

TL; 博士:

$role_object = get_role( 'editor' );
$role_object->add_cap( 'manage_options' );

为我工作 (2014 年)

第三种解决方案

他们不需要”edit_themes” 功能吗?您可以使用 Justin Tadlocks 插件 http://wordpress.org/extend/plugins/members/来编辑与每个角色相关联的功能。

参考文献

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