吉林专业网站建设:在WordPress中创建自定义用户角色

发布时间2020-03-01    阅读:268    作者:吉林网站设计开发公司

当使用CMS构建网站时,灵活性总是受欢迎的。谢天谢地,WordPress拥有的不仅仅是它的份额,它的主题和插件允许我们创建一个高度定制的体验。

但是它的灵活性不仅仅是我们可以安装的那些额外的东西。它实际上已经被烤进了软件的核心。

创建自定义用户角色的能力就是一个很好的例子。今天,我们将看一看它们是什么,为什么要使用它们,以及创建它们的几种不同的技术。

对用户权限的精细控制

吉林专业网站建设在每个WordPress安装中,您已经可以访问所选的默认值用户角色。它们允许我们指定用户在后端(即.a.)可以做什么和不能做什么。网站的仪表盘)。

这很有道理。并不是每个管理内容的人都需要拥有管理权限。因此,我们可以根据需要为每个用户分配一个角色。这是一个伟大的安全措施,可以更好地确保不发生意外事故,甚至有人疯狂安装插件。

这也适用于前端。如果只希望登录用户查看特定内容,则可以构建此功能添加到主题中,或者通过成员插件.

但是,虽然默认的用户角色(管理员、编辑器、作者、贡献者和订阅者)很有用,但有时需要额外的控制。这就是为什么WordPress提供了创建您自己的自定义角色的能力。

吉林专业网站建设

何时使用自定义角色

在许多情况下,自定义用户角色可以派上用场。以下是您可能面临的一些更常见的问题:

您有管理不同内容类型的用户。

默认情况下,WordPress附带两种面向公众的关键内容类型:POST和Pages。但是,通过使用自定义POST类型。例如,您可以为诸如新闻稿或工作人员之类的事情创建帖子类型。另外,各种插件也可以安装自己的POST类型。

大型组织可能有几种不同类型的内容,并考虑到特定的人员来管理每一种内容。在这种情况下,默认的用户角色并不理想,因为它可能提供对整个组的访问(或者相反,取决于您的设置)。但是,自定义角色允许不同的用户只查看您分配给他们的POST类型。

用户只需要做一件事

在某些情况下,用户可能需要一个独特的水平访问功能在您的网站。例如,假设您运行一个在线课程。您可能有一个团队成员需要访问整个课程的前端和后端,以确保其工作正常,内容是准确的。

如果这个团队成员所需要做的就是专注于课程本身,那么管理员的帐户可能就太过分了。有了自定义的用户角色,他们就可以完成自己的工作,而不必费力地完成任何不必要的选项。

你需要“提升”一个现有的角色。

有时,现有的WordPress用户角色近乎完美。但也许有还有一件事用户需要访问。

拿着作者角色。默认情况下,它们可以发布帖子,但不能发布页面。通常情况下,你得把用户推到编辑。在某些情况下,这可能会很好。但是,可能还有其他功能,包括您不希望这个特定用户访问的功能。在这里,创建一个自定义角色可能是最好的选择。

吉林专业网站建设

如何创建自定义用户角色

创建自定义WordPress用户角色有两种不同的方法。第一种方法是将一些代码添加到自定义插件或主题的functions.php档案。第二种方法是安装许多可用插件中的一个,使您能够创建和编辑角色。

你使用的方法实际上取决于个人喜好。如果您希望能够以可视化的方式选择和选择用户功能,则插件最有意义。但是,如果您对代码很满意,并且/或不希望其他管理员使用设置,那么添加一个代码片段可能适合您。

无论哪种方式,我们都会让您从一些代码示例和一些插件的选择开始。

首先,我们建议您学习各种用户能力WordPress提供的。还请注意,自定义POST类型可以具有自定义功能也是。在前面提到的第一个示例场景中,这可以派上用场。

方法1:添加代码段

在本例中,我们将创建一个名为“Staff”的用户角色。这包括作者角色的所有功能,但还包括编辑和发布页面的附加功能。

我们分配给角色的每个功能都在下面的代码段中列出,并设置为“千真万确“这里的例外是我们不希望具有此角色的用户删除已发布的页面,因此我们显式地将其设置为“假的“-为了安全起见

同样,这段代码将进入主题的functions.php文件或可选进入自定义插件。

/* Create Staff Member User Role */add_role(    'staff_member', //  System name of the role.    __( 'Staff Member'  ), // Display name of the role.    array(        'read'  => true,        'delete_posts'  => true,        'delete_published_posts' => true,        'edit_posts'   => true,        'publish_posts' => true,        'upload_files'  => true,        'edit_pages'  => true,        'edit_published_pages'  =>  true,        'publish_pages'  => true,        'delete_published_pages' => false, // This user will NOT be able to  delete published pages.    ));

一旦我们保存了这段代码并在浏览器中刷新了我们的网站,我们就可以添加一个具有此角色的新用户。

吉林专业网站建设

当我们的工作人员角色用户登录时,他们可以同时看到页面和帖子。

The logged-in user sees Posts and Pages.

另一种选择是简单地向现有的作者角色添加一些功能。我们可以通过add_cap()职能:

/* Upgrade the Author Role */function author_level_up() {    // Retrieve the  Author role.    $role = get_role(  'author' );
    
    // Let's add a set  of new capabilities we want Authors to have.    $role->add_cap(  'edit_pages' );    $role->add_cap(  'edit_published_pages' );    $role->add_cap(  'publish_pages' );}add_action( 'admin_init', 'author_level_up');

这两个代码片段本质上都是做相同的事情。但是,如果已经有了具有作者角色的用户,并且不希望他们拥有额外的功能,添加新的工作人员角色可能是最好的。

方法2:使用插件

上面的功能可以很容易地通过使用插件复制。已经为这种类型的用户角色和能力管理创建了几个。它们提供了一个优势,因为它们利用了GUI,并为整个过程添加了一层方便。

让我们来看看一些比较流行的选项:

用户角色编辑器
使用用户角色编辑器,添加或删除角色的功能就像检查或取消选中设置中的框一样简单。您还可以创建自己的自定义用户角色,并设置所需的任何功能。插件还支持多址安装WordPress以及。

吉林专业网站建设

WPFront用户角色编辑器
WPFront用户角色编辑器提供了类似的功能,允许您添加或编辑用户角色。但它还允许管理员将用户从一个角色迁移到另一个角色,并将多个角色分配给单个用户。

Screen from WPFront User Role Editor.

高级访问管理器
如果您正在寻找范围更广的东西,高级访问管理器可能是一个很好的选择。它提供了角色和功能管理,以及控制对前端和后端功能(如菜单和小部件)的访问的能力。

吉林专业网站建设

了解你的角色

吉林专业网站建设创建自定义用户角色的能力只是另一个喜欢WordPress的原因。这是非常利基的东西,但是当你需要超越默认角色的东西时,它会非常有用。

因此,下次当您发现自己处于需要控制用户功能的情况时,请知道您有这个强大的工具可供您使用。


QQ客服
胡经理