通过`Register_setting`为编辑者添加选项

时间:2018-08-06 作者:chanchal118

我想在wordpress管理面板中添加一些选项,编辑器也可以通过表单进行更新。我用过register_setting() 函数添加这些选项。

对于管理员来说,这很好,但对于编辑器,我会收到消息Sorry, you are not allowed to manage these options.. 有没有办法让编辑器也可以编辑这些新选项?

1 个回复
最合适的回答,由SO网友:Jacob Peattie 整理而成

允许具有以下功能的用户manage_options 要保存设置,可以使用option_page_capability_{$option_page} 钩尽管有名字,{$option_page} 是选项组,这是为的第一个参数设置的register_setting()settings_fields() 在选项页上。

因此,如果您注册了设置:

register_setting( \'wpse_310606_setting_group\', \'wpse_310606_setting\' );
您可以使用以下功能保存它:

function wpse_310606_setting_capability( $capability ) {
    return \'edit_pages\';
}
add_filter( \'option_page_capability_wpse_310606_setting_group\', \'wpse_310606_setting_capability\' );
编辑和管理员都有edit_pages 功能,因此这将允许两个角色保存此设置组。

结束

相关推荐

如何为wp-admin/options.php模板中的媒体白名单_选项加值?

我想在我的多站点上设置媒体变量的默认值。如果我想在一个网站上这样做,很简单,我会在mysite上添加值。com/wp管理/选项。php到image\\u default\\u align、image\\u default\\u link\\u type和image\\u default\\u size,但我无法为这些添加网络全局值。所以我想手动编辑核心文件:/wp admin/options。php,但我不知道如何做到这一点,这个级别的php不在我的范围之内。下面是列出变量的代码,但对于这些最初不按顺序排