默认情况下,具有作者用户角色的用户可以删除他们自己的帖子,即使这些帖子已经发布。如果您运行多作者博客,那么您可能希望阻止作者在发布后专门删除他们自己的帖子。在本文中,我们将向您展示如何轻松阻止作者在 WordPress 中删除自己的帖子。
为什么要阻止作者在 WordPress 中删除自己的帖子
WordPress 带有一个强大的用户角色管理系统。您的 WordPress 网站上的每个注册用户都被分配了一个用户角色,并且每个用户角色都具有不同的权限。
具有“作者”角色的用户可以撰写帖子并将其发布在您的网站上。此角色通常由多作者 WordPress 博客使用。
作者还可以删除他们自己的帖子,包括那些已经发布的帖子。作为网站所有者,您可能希望阻止作者这样做。最简单的方法是修改作者用户角色并更改其在 WordPress 中的权限。
让我们看看如何轻松防止作者删除自己的帖子。
方法一:防止作者使用插件删除帖子
这种方法更简单,推荐给所有用户。
您需要做的第一件事是安装并激活Capability Manager Enhanced插件。有关更多详细信息,请参阅我们关于如何安装 WordPress 插件的分步指南。
激活后,您需要访问用户 » 功能页面。在这里,您可以加载任何 WordPress 用户角色并更改其功能和权限。
您需要首先在右栏中找到“选择要查看/编辑的角色”框,然后从下拉菜单中选择“作者”用户角色。之后,您需要单击“加载”按钮以加载作者用户角色功能。
该插件现在将加载“作者”用户角色功能。在删除功能部分下,您需要取消选中删除和删除已发布选项旁边的框。
之后,您可以转到页面底部并单击保存更改按钮以存储您的设置。
现在,具有作者用户角色的用户将无法再删除您 WordPress 网站上的任何帖子。
回馈权限
用户角色能力是明确定义的。这意味着一旦您从用户角色中删除了一项功能,除非您再次明确定义它,否则它将不会恢复。即使您卸载了插件,您所做的功能更改也不会自动恢复。
如果您想授予作者删除权限,则必须重复该过程并选中删除和删除已发布帖子选项旁边的框。
如果您想卸载插件并恢复到默认的 WordPress 功能,那么首先您需要访问工具 » 功能管理器页面并单击“重置为 WordPress 默认值”链接。
方法2:手动阻止作者删除自己的帖子
此方法要求您将代码添加到 WordPress 文件中。如果您以前没有这样做过,请查看我们的指南,了解如何在 WordPress 中复制和粘贴代码。
您需要将以下代码添加到主题的functions.php文件或特定于站点的插件中。
function wpb_change_author_role(){ global $wp_roles; $wp_roles->remove_cap( ‘author’, ‘delete_posts’ ); $wp_roles->remove_cap( ‘author’, ‘delete_published_posts’ ); }add_action(‘init’, ‘wpb_change_author_role’);
此代码更改作者用户角色并删除他们删除自己的帖子的能力。
如果您想恢复权限,那么只需删除代码不会进行任何更改。您将需要通过将第一个代码片段替换为以下代码来显式地重新定义已删除的功能:
function wpb_change_author_role(){ global $wp_roles; $wp_roles->add_cap( ‘author’, ‘delete_posts’ ); $wp_roles->add_cap( ‘author’, ‘delete_published_posts’ ); }add_action(‘init’, ‘wpb_change_author_role’);
我们希望本文能帮助您了解如何防止作者在 WordPress 中删除自己的帖子。您可能还想查看我们针对初学者的最终一步一步的WordPress 安全指南。