【问题标题】:How can I Remove user access to the contents of WordPress admin menus?如何删除用户对 WordPress 管理菜单内容的访问权限?
【发布时间】:2019-07-28 19:48:58
【问题描述】:

我想删除用户对某些 WordPress 管理菜单的访问权限。

我使用以下代码,但此代码仅删除了菜单链接。

function remove_admin_menu() {
remove_submenu_page('edit.php','post-new.php');
}
add_action( 'admin_init', 'remove_admin_menu' );
add_action( 'admin_menu', 'remove_admin_menu' );

并且用户可以通过在浏览器地址栏中输入菜单地址来查看页面内容。

例如:

(domain)/wp-admin/post-new.php

我希望用户通过在浏览器中输入地址来查看以下消息(例如): 您的访问被拒绝

我应该使用什么代码?

【问题讨论】:

标签: php wordpress user-roles capability


【解决方案1】:

通过 WP_Role,我们可以通过删除或添加新功能轻松更新角色。下面是用户角色管理员的示例示例。

WP_Roles => array(
  'roles' => array(
    'administrator' => array(
      'name' => 'administrator',
      'capabilities' => array(
        'switch_themes' => true,
        'edit_themes' =>  true,
        'activate_plugins' => true,
        // Much more
      ),
      // Other roles
    ),
   'role_names' => array(
    'administrator' => 'Administrator',
     // Other role names
   )
   // ...
 );

你可以通过官方文档得到充分的理解。

这里是WordPress Role and Permission官方文档的链接。 https://developer.wordpress.org/plugins/users/roles-and-capabilities/

【讨论】:

  • 谢谢。我知道与角色打交道。而且我知道如何在菜单中创建一个页面并获得它的功能。我们真的需要创造一个新角色吗?并为其设置能力?并为该用户设置它?以及如何获得菜单管理员的能力?有数组吗?例如:什么是重力形式能力?
【解决方案2】:

Sneher 提供的链接将向您展示如何创建新角色。

如果您的管理菜单是自定义的,那么您可以在 register_taxonomy 中限制访问。

如果您的管理菜单是由 Wordpress 预先构建的,那么您必须在函数文件中挂钩菜单。

【讨论】:

    猜你喜欢
    • 2020-11-13
    • 2011-11-28
    • 2012-02-07
    • 2012-12-14
    • 2017-08-17
    • 1970-01-01
    • 2012-02-17
    • 1970-01-01
    • 2014-06-16
    相关资源
    最近更新 更多