最新公告
  • 欢迎您光临源库坊,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • WordPress的用户角色和能力的权限

    要成为WordPress网站的合格管理员,您必须了解一些有关用户角色和能力的知识:用户是什么,如何创建新用户以及要为用户做什么。涵盖这些内容有很多价值,但是我们今天的目标是真正了解整个WordPress用户管理和角色系统在概念上是如何工作的,并涵盖几种最重要的修改方法。

    WordPress用户介绍

    每个可以登录WordPress网站的帐户都代表一个“用户”,每个WordPress用户都有一个“角色”。

    每个可以登录WordPress网站的帐户都代表一个“用户”。也就是说,每个“登录”(一个用户名和密码对)都是WordPress中的一个凭据单位。这些用户帐户是帖子、页面、媒体等的作者。作为WordPress网站的管理员,您可以通过管理侧边栏中的“用户>添加用户”随意创建新用户。通常,您应该为要登录到站点的每个人创建一个新用户。



    您可能还已经意识到有关WordPress授权系统的其他事项:每个WordPress用户都有一个“角色”。您必须在创建新帐户的页面上选择它。

    WordPress默认用户角色

    WordPress开箱即用,具有以下角色:

    • 超级管理员这是一个仅限多站点网络的角色。顾名思义,它是管理员的更强大版本。超级管理员不仅可以以管理员身份更改和控制单个WordPress网站,还可以更改谁可以访问网络中的特定网站。
    • 管理员:这是您可能用来登录自己的WordPress网站的角色。这就是WordPress默认情况下使网站上的第一个用户使用的功能,并且是单个WP站点功能最强大的角色。如果“管理员”无法在WordPress网站上开箱即用,则任何人都无法做到。安装插件、更改主题、创建用户、发布帖子等,这些都由管理员控制。
    • 编辑:这是下一个最强大的角色。您可以执行所有您可以想象的必要的后期和媒体创作以及编辑工作,但是不能新建用户、添加新插件或进行任何更改网站功能的操作。
    • 作者:从编辑又走了一步,作者角色只能更改自己的文章和媒体。他们无法更改网站上其他用户的内容。
    • 贡献者:贡献者可以编辑自己的文章,删除自己发表的未发布文章以及阅读网站。他们甚至无法发布自己的文章。
    • 订阅者:订阅者角色仅用于以下目的:一个您想在WordPress网站上拥有帐户的人,但您不想做任何事情,只能像没有帐户的人一样阅读您的网站。这个角色是您最经常看到的WordPress会员站点的“成员”,因为除了会员插件作者提供的这些用途之外,它不提供其他站点权限。

    WordPress用户的安全隐患

    为了安全起见,您希望为个人提供尽可能少的访问权限,使他们能够执行自己需要的操作。

    尽管今天不是我们关注的重点,但值得一提的是在每个地方都遵循安全性的一般原则:您希望为个人提供尽可能少的访问权限,使他们能够执行自己需要的操作。

    您最常在WordPress网站上使用的用户通常不应该是管理员。

    “管理员”角色是(单个非网络)WordPress网站所具有的最强大的功能;向只需要发布和编辑文章及其他媒体的用户提供这么多的权限,这就是不必要的安全性错误。

    对于正常的WordPress发布任务,“编辑”角色绰绰有余;实际上,如果您是该网站上的唯一作者,则“作者”角色可能会为您效劳。无论哪种方式,只有在您需要执行其他角色无法做的事情时,您才应该登录一个管理员用户(也必须具有该身份):创建新用户、安装或卸载插件、更改主题等。破坏您最常用的WordPress帐户(例如您无意中将其保留在咖啡馆中登录)不会让某人对您的网站造成严重破坏。

    您不应该让旧帐户拥有比今天更多的访问权限。

    同样,您不应该不加考虑就给任何类型的人员帐户。而且,您不应该让旧帐户拥有比今天更多的访问权限。假设有人曾经为您的网站写过文章,但现在不再写了:设置他们为订阅者角色。他们的帐户仍然存在,因此他们的帖子仍然可用并且属性适当,但是他们不会意外地做不应在您网站上做的任何事情。

    能力和角色如何交织

    到目前为止,我们已经确定WordPress网站上不同的用户角色具有不同的能力。实际上,这是WordPress访问控制系统的核心:用户是分配了特定角色的用户组的成员,并且该角色本身映射到站点上的各种能力。

    为了更好地理解这一点,可以看下下面的图片。当我们移走我先前列出的角色时,您的角色将越来越少的WordPress中可用的特定功能。

    这种具体的命名能力到用户角色的映射是WordPress访问控制系统最强大和有用的功能之一。当您需要授权(或取消授权)具有特定能力的用户或一组用户时,只需更改用户的角色即可轻松实现。同样,有时您需要所有用户组才能具有新功能。也许您的编辑者正在充当评论的主持人,并且您还希望他们能够从您的网站中删除用户。然后,您可以编辑“作者”角色以赋予它这种能力- 
    只有这种能力被称为
    remove_users。由于使用了“角色和能力”系统,因此您可以这样做,而不必担心您的站点上有20位编辑者这一事实。

    允许您更改角色能力的插件

    一旦了解了WordPress用户访问系统的工作原理,就可以通过多种方式进行更改,就像我刚才提到的那样(为编辑者提供“删除用户”功能)。

    第一种方法是使用这方面的插件。


    User Role Editor

    User Role Editor 是最常用的,但是如果您喜欢其他人,可以随时货比三家。这些插件基本上都为您提供了一种方便、直观的方式来编辑用户将能够在您的网站上进行的操作。

    它们还允许您创建全新的角色-也许您需要创建一些简单且唯一的 “评论主持人”类型的用户。您只需创建该角色,并确保单击几下即可缩小所需的功能范围。

    这些插件非常适合大多数WordPress用户,而这些用户不需要花费适度的性能开销。实际上,对于大多数站点来说,像这样的小插件的开销并不是最大的瓶颈,因此,专门的插件来进行所需更改的附加好处不值得让PHP费力。

    但是,如果您是开发人员,或者性能下降确实实在难以承受,那么使用几行PH​​P即可轻松实现。

    使用PHP更改WordPress用户角色的能力

    在PHP中,WordPress角色是您使用和修改的对象。您可以通过以下两种方式之一访问它:直接通过访问全局变量$wp_roles—或通过函数get_role。我喜欢第二种,这有两个原因:

    1. 我不喜欢全局变量。
    2. 我认为该get_role版本使代码阅读性更好。

    在这两种情况下,我们都将继续以允许我们的“编辑”执行以下操作为例remove_users。如果使用,则get_role如下所示:

    function wps_editor_can_remove_users() {
        $editor = get_role( 'editor' );
        $editor->add_cap( 'remove_users' );
    }

    或者,如果您希望使用全局变量:

    function wps_editor_can_remove_users(){
        global $wp_roles;
        $wp_roles->add_cap( 'editor', 'remove_users' );
    }

    在第一个示例中,获取角色(“编辑”)将为您处理方法调用'editor'上的参数add_cap,我很喜欢这种方法。

    这些方法可以直接在您的插件或主题的functions.php使用-更改存储在数据库中,因此可以随时调用-或可以通过WordPress动作挂钩挂载到 init

    这两个add_capremove_cap对象的方法,而不是简单的函数调用。

    值得非常清楚的是,add_capremove_cap(相反)都是对象方法,而不仅仅是您调用的函数。也就是说,您不能调用add_cap('editor', 'remove_user'):您必须首先使用get_role或访问全局$wp_roles对象来获取一个 WP_Role 对象。

    用代码创建新的WordPress用户角色

    我们提到插件不仅可以更改现有角色的能力,还可以让您创建新角色。要在自己的PHP中执行此操作,请使用add_role函数。它包含三个参数:

    1. 角色slug别名-比如 'comment_moderator'
    2. 角色的显示名称- 'Comment Moderator'__('Commment Moderator', 'plugin-slug')(符合多语言国际化)
    3. 您希望该类型用户拥有的一系列能力

    总之,它看起来像这样:

    register_activation_hook( __FILE__, 'wps_add_roles_on_activation' );
    function wps_add_roles_on_activation() {
        add_role( 
            'comment_moderator',
            __('Commment Moderator', 'plugin-slug'), 
            array( 
                'read' => true,
                'edit_posts' => true,
                'edit_other_posts' => true,
                'edit_published_posts' => true,
                'moderate_comments' => true
            )
        );
    }

    为了简洁起见,此角色仅获得四种能力。评论版主可以主持评论,并可以对文章进行较小的更改和更正(可能是回复评论)。他们可以更改自己的文章、其他人的文章以及已发布的文章。这就是这个角色所能做的,仅此而已。

    再次,由于新角色存储在数据库中,并在需要时由WordPress从数据库中重新加载,因此您可以(通常应该)在插件或主题(不推荐在主题中创建用户)被激活时创建。如果您将它们吸引到init动作钩子上,它不会破坏任何东西,但是性能稍差。

    更改特定用户的能力

    可以忽略WordPress的角色系统并授予用户特定的能力,但这很少是最好的解决方案。

    到目前为止,我们已经讨论了使用由用户角色授予和维护的WordPress用户的能力。在几乎所有情况下,我都建议您这样做来更改,控制和修改访问权限。与尝试手动控制站点上每个用户的操作相比,它是一个功能更强大、更灵活的系统。

    话虽这么说,有时候您可能只需要与需要更多或更少权限的特定用户打交道,并且您知道您永远都不想在授权历史上的任何其他时间类似地授权(或取消授权)其他用户。现场。如果不是这样,请执行几个额外的步骤来创建角色,只有该用户现在可以使用。

    如果确实要更改特定用户的能力,则可以仅对该用户通过add_capremove_cap方法进行更改。看起来像:

    add_action( 'init', 'wps_david_cant_edit' );
    function wps_david_cant_edit() {
        $user_id = 7; // 用户的ID
        $user = new WP_User( $user_id );
        $user->remove_cap( 'edit_posts' );
    }

    实质上,这是在加载角色的常规能力之后,对特定用户的特定替代。同样,这是可能的,但很可能不是最佳解决方案。

    总结

    从本质上讲,WordPress用户系统是我们处理WordPress网站功能的方式。通过为系统中的每个用户分配一个命名角色,WordPress可以访问一组明确定义的功能,这些功能确定该用户可以在站点上执行的操作。由于在用户可以做什么和他们是谁之间存在额外的一层(称为角色),因此您获得了很大的灵活性。这只是使WordPress出色的另一件事。

    1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
    2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
    3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
    4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
    5. 如有链接无法下载、失效或广告,请联系管理员处理!
    6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
    7. 如遇到加密压缩包,默认解压密码为"www.yuankufang.com",如遇到无法解压的请联系管理员!
    源库坊 » WordPress的用户角色和能力的权限

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    源库坊
    一个高级程序员模板开发平台
    • 355会员总数(位)
    • 1195资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 1572稳定运行(天)

    提供最优质的资源集合

    赞助本站svip 了解详情