默认情况下,具有作者用户角色用户可以删除自己的帖子,即使这些帖子已经发布也是如此。如果您运行多作者博客,那么您可能希望阻止作者在发布后特别删除自己的帖子。在本文中,我们将向您展示如何轻松阻止作者在WordPress删除自己的帖子。

How to prevent authors from deleting posts in WordPress

为什么要阻止作者在WordPress中删除自己的帖子

WordPress带有强大的用户角色管理系统。 WordPress网站上的每个注册用户都被分配了一个用户角色,每个用户角色都有不同的权限

具有“作者”角色的用户可以撰写帖子并将其发布到您的网站上。此角色通常由多作者WordPress博客使用。

作者还可以删除自己的帖子,包括已发布的帖子。作为网站所有者,您可能希望阻止作者这样做。最简单的方法是修改作者用户角色并在WordPress中更改权限

我们来看看如何轻松阻止作者删除自己的帖子。

方法1:防止作者使用插件删除帖子

对所有用户来说,此方法更容易并且推荐使用

您需要做的第一件事是安装并激活Capability Manager增强插件。有关更多详细信息,请参阅有关如何安装WordPress插件的分步指南。

激活后,您需要访问用户»功能页。在这里,您可以加载任何WordPress用户角色并更改功能权限

User roles and capabilities manager

您需要首先找到右栏中的“选择要查看/编辑的角色”框,然后从下拉菜单中选择“作者”用户角色。之后,您需要单击“加载”按钮以加载作者用户角色功能

Load author user role

该插件现在将加载“作者”用户角色功能。在删除功能部分下,您需要取消选中删除和删除已发布选项旁边的框。

之后,您可以转到页面底部,然后单击“保存更改”按钮以存储设置。

现在,具有作者用户角色的用户将无法再删除WordPress网站上的任何帖子。

回馈权限

用户角色功能是明确定义的。这意味着一旦从用户角色中删除了一个功能,除非您再次明确定义它,否则它将不会返回。即使您卸载了该插件,您所做的功能更改也不会自动恢复。

如果要授予作者删除权限,则必须重复此过程并选中删除旁边的框并删除已发布的帖子选项。

如果要卸载插件并恢复为默认的WordPress功能,则首先需要访问工具»能力管理器页面并单击“重置为WordPress默认值”链接。

Reset user role permissions

方法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安全指南。

评论被关闭。