cms网站内容如何自定义(CMS构建网站建设何时使用自定义角色用户角色的功能)
优采云 发布时间: 2021-12-27 05:13cms网站内容如何自定义(CMS构建网站建设何时使用自定义角色用户角色的功能)
使用 CMS 构建网站时,灵活性总是受欢迎的。值得庆幸的是,WordPress 的内容比它的份额多,它的主题和插件使我们能够创建高度定制的体验。
但它的灵活性不仅仅是我们可以安装的其他东西。事实上,它已经直接嵌入到软件的核心中。
创建自定义用户角色的能力就是一个很好的例子。今天,我们将看看它们是什么,为什么使用它们,以及创建它们的几种不同技术。
精细控制用户权限
在每个 WordPress 安装中,您已经可以访问一组默认用户角色。它们允许我们指定用户在网站后端(即仪表板)可以做什么和不能做什么。
这是非常合理的。并非所有管理内容的人都需要拥有管理权限。因此,我们可以根据需要为每个用户分配一个角色。这是一个很好的安全措施,可以更好的保证你不会遇到意外,甚至可以防止别人疯狂安装插件。
这也适用于前端。如果您只希望登录用户查看特定内容,您可以将此功能构建到主题中或通过会员插件添加。
然而,尽管默认用户角色(管理员、编辑者、作者、贡献者和订阅者)很有用,但有时您需要额外的控制。这就是 WordPress 提供创建您自己的自定义角色的能力的原因。
厦门网站建设
何时使用自定义角色
自定义用户角色在许多情况下都可以派上用场。以下是您可能会遇到的一些更常见的问题:
您有管理不同内容类型的用户
默认情况下,WordPress 带有两种主要的面向公众的内容类型:帖子和页面。但是您可以使用自定义帖子类型轻松添加更多内容。例如,您可以为新闻稿或员工创建帖子类型。此外,各种插件也可以安装自己的帖子类型。
大型组织可能拥有多种不同类型的内容,并且需要特定人员来管理每个内容。在这种情况下,默认用户角色并不理想,因为它可能提供对整个批次的访问(反之亦然,具体取决于您的设置)。但是,自定义角色将允许不同的用户仅查看您分配给他们的帖子类型。
用户只需要做一件事
在某些情况下,用户可能需要对您网站上的功能进行独特的访问级别。例如,假设您有一门在线课程。您可能有一个团队成员需要访问前端和后端的整个课程,以确保它正确运行并且内容正确。
如果这个团队成员需要做的只是专注于课程本身,那么管理员帐户可能太多了。使用自定义用户角色,他们可以完成工作而无需做出任何不必要的选择。
您需要“升级”现有角色
有时,现有的 WordPress 用户角色几乎是完美的。但是,也许用户需要访问一件事。
充当作者。默认情况下,他们可以发布帖子,但不能发布页面。通常,您必须将用户提升为编辑器。在某些情况下可能没问题。但是,它可能收录
您不希望该特定用户访问的其他功能。在这里,创建自定义角色可能是最好的选择。
厦门网站建设
如何创建自定义用户角色
有两种不同的方法可以创建自定义 WordPress 用户角色。第一种是在自定义插件或主题functions.php 文件中添加一些代码。第二种方法是安装许多可用插件之一,允许您创建和编辑角色。
您使用的方法实际上取决于个人喜好。如果要直观地选择用户功能,那么插件是最有意义的。但是,如果您对代码感到满意和/或不希望其他管理员使用这些设置,则可以添加代码片段。
无论哪种方式,我们都会为您提供一些代码示例和一些插件。
首先建议大家学习一下WordPress提供的各种用户功能。另请注意,自定义帖子类型也可以有自己的自定义功能。在上面提到的第一个示例场景中,这可以派上用场。
方法一:添加代码片段
在本例中,我们将创建一个名为“员工”的用户角色。这包括作者角色的所有功能,还具有编辑和发布页面的附加功能。
以下代码片段列出了我们分配给角色的每个功能并将其设置为“true”。这里的例外是我们不希望具有此角色的用户删除已发布的页面,因此为了安全起见,我们将其明确设置为“false”。
同样,此代码将输入您主题的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.
)
);
保存此代码并在浏览器中刷新网站后,我们可以添加具有此角色的新用户。
厦门网站建设
具有员工角色的用户登录后,他们可以看到页面和帖子。
另一种选择是简单地向现有作者角色添加一些功能。我们可以使用以下 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');
这两个代码片段基本上都做同样的事情。但是,如果您已经拥有具有“作者”角色的用户并且不希望他们具有其他功能,则最好添加一个新的“员工”角色。
方法二:使用插件
使用插件可以很容易地复制上述功能。已经为此类用户角色和功能管理创建了多个应用程序。它们提供的优势是它们利用 GUI 并为整个过程增加了一层便利。
让我们来看看一些比较流行的选项:
用户角色编辑器
使用用户角色编辑器,添加或删除角色就像在设置中选中或取消选中一个框一样简单。您还可以创建自己的自定义用户角色并设置您想要的任何功能。该插件还支持 WordPress 的多站点安装。
WPFront 用户角色编辑器
WPFront 用户角色编辑器提供了类似的功能,允许您添加或编辑用户角色。但是,它还允许管理员将用户从一个角色迁移到另一个角色,并将多个角色分配给单个用户。
高级访问管理器
如果您正在寻找更广泛的产品,Advanced Access Manager 可能是您的理想选择。它提供角色和功能管理,以及控制对前端和后端功能(如菜单和小部件)的访问的功能。
了解你的角色
创建自定义用户角色的能力只是喜欢 WordPress 的另一个原因。这是非常小众的,但是当您需要超出默认角色的内容时,它会非常有用。
因此,下次您需要控制用户功能时,请知道您已经拥有了这个强大的工具。