如何更改插件以授予编辑用户角色访问权限?

时间:2014-03-14 作者:turtledropbomb

我想让我的编辑访问我在他们的网站上安装的插件的设置页面。到目前为止,它只对管理员可见。

我使用的插件是uTubeVideo Gallery,除了管理员之外,没有其他选项可以让用户访问。

在他的管理中。php我找到了这些行,我知道这些行创建了设置页面:

public function addMenus()
{
    add_menu_page(\'uTubeVideo\', \'uTubeVideo\', \'manage_options\', \'utubevideo_settings\', array($this, \'option_panel\'), plugins_url(\'utubevideo-gallery/i/utubevideo_icon_16x16.png\'));
    add_submenu_page(\'utubevideo_settings\', \'uTubeVideo Galleries\', __(\'Galleries\', \'utvg\'), \'manage_options\', \'utubevideo_settings_galleries\', array($this, \'gallery_panel\')); 
}
我有没有办法修改他的代码,这样我就可以访问编辑器了?

2 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

这个manage_options 您在两个函数调用中看到的参数都是一个功能。这种特殊的功能使页面可以访问only to administrators.

要使其工作,您可以将其更改为one of the editor capabilities 喜欢edit_others_posts 你也可以create a new capability 然后使用它。

然而,这样做都意味着对插件进行黑客攻击,下次更新插件时,您的更改将被覆盖,这就是为什么黑客攻击插件通常是个坏主意

我会:

仔细想想为什么编辑需要访问此全局设置页面。“编辑器”在逻辑上是一个“内容”角色,而不是一个“全局站点管理”角色,这似乎是您将其部分转换为的角色如果#1和#2都不合适,请联系插件作者,了解访问受限的原因,以及作者是否愿意更改插件代码

SO网友:Laukik Patel

Try with

public function addMenus()
{
   add_menu_page(\'uTubeVideo\', \'uTubeVideo\', \'delete_posts\', \'utubevideo_settings\', array($this, \'option_panel\'), plugins_url(\'utubevideo-gallery/i/utubevideo_icon_16x16.png\'));
   add_submenu_page(\'utubevideo_settings\', \'uTubeVideo Galleries\', __(\'Galleries\', \'utvg\'), \'delete_posts\', \'utubevideo_settings_galleries\', array($this, \'gallery_panel\')); 
}
结束

相关推荐

Plugins_url函数混合了系统路径和URL

在我的WordPress小部件中,我使用以下代码:wp_register_script(\'jquery-ui.widget\', plugins_url(\'assets/js/jquery-ui-1.9.2.widget.js\', dirname( __FILE__ ))); 不幸的是,代码给了我一个无效的URL,它与我的系统路径混合在一起:http://test.dev/wp-content/plugins/C:/projects/wordpress/plugins/assets/js/