阻止访问特定的管理页面wordpress

时间:2014-09-09 11:04:47

标签: wordpress

我已经完成了为wordpress网站创建特定用户组的任务,该网站只能访问一个插件及其页面。

实质上,admin.php?page=some_plugin_page只能由特定用户组(以及超级管理员)访问。

我注意到的一些事情:
 1.没有任何关于插件名称的指示,只有我们希望加载的页面  2.似乎并不是一种内置方法来限制对特定页面的访问。

如果有人有任何线索我真的很感激,我猜它与admin.php加载插件页面的方式有关。

提前感谢。

1 个答案:

答案 0 :(得分:1)

Wordpress并没有提供一种简单的方法。我从插件的一面接近它:

  • 添加新的角色/功能,例如" edit_some_plugin"使用add_role()Role Scoper等插件。
  • 插入插件并为其指定一个新名称,包括修改file headers,以便不再自动更新。
  • 在您的分叉插件中,找到生成管理页面/菜单的例程。搜索is_admin()current_user_can()是一个很好的起点。将新功能添加到条件中以使这些菜单生成,

    e.g。更改:if (is_admin()) show_plugin_admin_menu();

    if (is_admin() || current_user_can('edit_some_plugin')) show_plugin_admin_menu();

插件的质量和代码的一致性有很大差异,所以这可能最终成为一项相当大的工作。

替代方法是联系插件的开发人员,并询问他们为了向您的插件添加此功能而需要捐赠多少。