精选图片在大多数现代WordPress主题中起着重要作用。虽…
默认情况下,具有作者用户角色的用户可以删除自己的帖子,即使这些帖子已经发布。如果您运行一个多作者博客,则可能希望阻止作者特别删除自己发布的帖子。在本文中,我们将向您展示如何轻松地防止作者在WordPress中删除自己的帖子。

为什么要阻止作者在WordPress中删除自己的帖子
WordPress带有功能强大的用户角色管理系统。WordPress网站上的每个注册用户都分配有一个用户角色,并且每个用户角色都具有不同的权限。
具有“ 作者 ”角色的用户可以撰写帖子并将其发布在您的网站上。多作者WordPress博客通常使用此角色。
作者还可以删除自己的帖子,包括已经发布的帖子。作为网站所有者,您可能希望阻止作者这样做。最简单的方法是在WordPress中修改作者用户角色并更改其权限。
让我们看一下如何轻松阻止作者删除自己的帖子。
方法1:防止作者使用插件删除帖子
此方法更简单,建议所有用户使用。
您需要做的第一件事是安装并激活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'
);