您想阻止作者删除 WordPress 中的帖子吗?
默认情况下,您网站上的作者可以删除自己的帖子,即使这些帖子已经发布。如果您经营一个多作者博客,那么您可能希望阻止作者这样做。
在本文中,我们将向您展示如何轻松防止作者在 WordPress 中删除自己的帖子。
为什么要阻止作者在 WordPress 中删除自己的帖子?
WordPress 附带了强大的用户角色管理系统。WordPress 网站上的每个注册用户都会分配一个用户角色,该角色具有不同的权限。
具有“作者”角色的用户可以撰写帖子并将其发布到您的网站上。该角色一般由多作者 WordPress 博客使用。
作者还可以删除自己的帖子,包括已经发布的帖子。
但是,作为网站所有者,您可能希望阻止作者这样做,以防止意外删除后或控制在您的WordPress 博客上发布或删除的内容。
最简单的方法是修改作者用户角色并更改其在 WordPress 中的权限。
让我们看看如何轻松防止作者删除自己的帖子。
在本文中,我们将向您展示两种方法,您可以使用下面的链接跳转到您选择的方法:
方法 1:防止作者使用插件删除帖子
如果您正在寻找一种简单的方法来防止作者删除帖子,那么此方法适合您。
首先,您需要安装并激活PublishPress Capability插件。有关更多详细信息,请参阅我们有关如何安装 WordPress 插件的分步指南。
激活后,从 WordPress 管理侧边栏转到功能 » 功能页面。
到达那里后,从屏幕左上角的角色功能下拉菜单中选择“作者”选项。
接下来,您需要切换到屏幕左栏中的“删除”选项卡。
之后,只需从“帖子”行中取消选中“删除”和“删除已发布”选项即可。
最后,单击“保存更改”按钮来存储您的设置。
现在,您的 WordPress 网站上的作者将无法删除他们的帖子,即使是那些已经发布的帖子。
这是 WordPress 仪表板中的帖子页面查找作者的方式:
返还权限
用户角色的能力是明确定义的。这意味着一旦您从用户角色中删除某项能力,除非您再次显式定义它,否则该能力将不会再出现。即使您卸载了该插件,您所做的功能更改也不会自动恢复。
如果您想重新授予作者删除权限,则必须重复此过程并选中“删除”和“删除已发布帖子”选项旁边的复选框。
如果您想卸载插件并恢复为默认的 WordPress 功能,那么首先,您需要从 WordPress 管理仪表板访问功能» 备份页面。
从这里,切换到“重置角色”选项卡,然后单击“重置为 WordPress 默认值”按钮。
现在,所有修改的角色定义都将被删除,并且您的 WordPress 用户角色将恢复到其原始功能。
方法 2:防止作者使用 WPCode 删除自己的帖子
如果您想防止作者使用自定义代码删除帖子,那么此方法适合您。
您可以轻松地将自定义代码添加到主题的functions.php文件中。但是,请记住,最小的错误也可能会破坏您的网站。
这就是为什么我们建议使用WPCode将自定义代码添加到您的 WordPress 网站。
它是市场上最好的 WordPress 代码片段插件,使添加自定义代码变得超级安全且轻松。
首先,您需要安装并激活WPCode插件。有关详细说明,请参阅我们关于如何安装 WordPress 插件的初学者指南。
注意: WPCode 有一个免费版本,您可以在本教程中使用它。但是,升级到专业版将使您可以访问代码库、条件逻辑等功能。
激活后,从 WordPress 管理侧边栏转到代码片段 » + 添加片段页面。
到达那里后,只需单击“添加自定义代码(新代码段)”选项下的“使用代码段”按钮即可。
这将打开“创建自定义代码段”页面,您可以在其中首先输入代码段的名称。
完成此操作后,从屏幕右上角的下拉菜单中选择“PHP Snippet”选项。
接下来,将以下代码复制并粘贴到“代码预览”框中:
1234567 | 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' ); |
由
之后,向下滚动到“插入”部分并选择“自动插入”模式。
激活后,您的代码将自动执行。
接下来,滚动回页面顶部并将开关切换至“活动”。
最后,单击“保存片段”按钮在 WordPress 网站上保存并执行代码。
此代码更改了作者用户角色并删除了他们删除自己帖子的能力。
这是 WordPress 仪表板中的帖子页面查找作者的方式:
使用 WPCode 恢复权限
如果出于某种原因,您希望为作者提供再次删除自己帖子的功能,那么您也可以使用 WPCode 来做到这一点。
首先,您需要从 WordPress 仪表板访问“代码片段”页面,并将您创建的代码片段旁边的开关切换为“非活动”。
但是,简单地停用代码不会产生任何更改。您现在需要在您的网站上添加新的代码片段。
为此,请访问WordPress 仪表板中的代码片段 » + 添加片段页面,然后单击“添加自定义代码(新片段)”选项的“使用片段”按钮。
现在,您将进入“创建自定义代码段”页面,您必须在其中输入代码段的名称。
接下来,选择“PHP Snippet”作为代码类型,然后将以下代码复制并粘贴到“代码预览”框中:
1234567 | 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 中删除自己的帖子。您可能还想查看我们针对初学者的终极分步WordPress 安全指南,以及我们专家为作者精选的最佳 WordPress 主题。