如何在作者自己的博客文章中添加限制

Blair Jersyer WordPress Tutorials Apr 23, 2022

您是否希望作者只能在 WordPress? 中修改自己的帖子?

如果您有一个多作者网站或允许来宾文章,最好限制贡献者只能在仪表板中查看他们自己的博客条目,并防止他们在其他作者的文章发布之前阅读它们。

在本文中,我们将教您如何将 WordPress 仪表板中的作者限制为仅查看和管理他们自己的帖子。

为什么作者应该被限制在他们自己的帖子?

默认情况下,您的 WordPress 网站将向所有用户显示所有帖子和页面,无论他们的管理员用户状态如何。 如果您是作者、编辑、投稿人或管理员,您可以阅读所有文章。

创建令人惊叹的网站

使用最好的免费页面构建器 Elementor

现在开始

如果作者是您的组织或团队的一部分,这通常不是问题。

但是,在某些情况下,限制人们阅读自己的帖子的能力可能会有所帮助。 例如,如果您运行一个多作者网站,阻止作者查看其他作者正在审查的文章可能会有所帮助。

话虽如此,让我们看看如何限制作者在 WordPress 管理员中查看他们自己的文章。

使用插件,作者只能写自己的帖子

您可以只允许作者阅读他们自己的帖子,而无需使用 WordPress 插件更改代码。

我们将在本课中使用PublishPress Permissions插件。 这是一个免费插件,可让您控制 WordPress 权限并将作者限制为开箱即用的自己的文章。

PublishPress Pro捆绑包中还包含一个付费版本,它提供了更多权限选项,例如谁可以访问媒体收藏。 但是,您可以从免费版本开始。

首先,安装并激活 PublishPress Permissions 插件。 有关更多信息,请参阅我们关于如何安装 WordPress 插件的文章。

激活插件后,它只会向其作者显示帖子。

例如,如果您以管理员身份登录并从仪表板导航到帖子> 所有帖子,您将看到所有帖子。

但是,如果您使用作者的帐户登录 WordPress 管理部分,您会发现只能访问作者的帖子。

如果您希望您的编辑能够访问所有帖子以便他们评估它们该怎么办? 让我们看看您能想出什么。

如何让编辑访问所有帖子

使用上述技术的缺点是只有管理员才能访问所有帖子。

编辑负责编辑其他作者和来宾贡献者在许多 WordPress 网站上提交的内容。 使用此插件,编辑将仅限于他们自己的帖子。

但是,您可以允许编辑通过使用诸如 PublishPress Capabilities 插件之类的插件或通过将代码添加到您网站的主题文件来检查各种作者的材料。 我们将演示这两种方式。

使用 PublishPress 功能插件

PublishPress 开发的另一个插件是PublishPress Capabilities 为了本教程,我们将使用免费版本。 如果您注册PublishPress Pro帐户,还可以使用专业版。

首先,在您的 WordPress 网站上安装并激活 PublishPress Capabilities 插件。 您可以按照我们的分步说明安装 WordPress 插件。

激活插件后,继续并单击 WordPress 管理菜单中的“功能”。 这将带您进入“角色功能”页面,您可以在其中更改各种用户角色的权限。

然后,在左上角,从下拉菜单中选择您要修改的用户角色。

选择“编辑”角色后,确保在“编辑功能”设置下激活“编辑其他人”复选框。

因此,编辑将能够修改其他帖子。

然后,向下滚动到 Additional Capabilities 区域并勾选 ‘list other posts' 项目。

任何具有编辑角色的人都可以通过这种方式阅读其他作者的帖子。

现在,保存您的更改并以编辑者身份登录以访问您网站的“帖子”区域。 如果您可以看到并修改其他作者的帖子,则表明您已成功配置设置。

如何在您的主题中包含自定义代码

将自定义代码添加到您的主题文件是允许编辑查看所有帖子的另一种方法。 但是,由于它涉及更改代码,因此我们不建议新手使用此技术。

首先,将此代码放在主题的 functions.php 文件或特定于站点的插件中。

function posts_for_current_author($query) {
    global $pagenow;
 
    if( 'edit.php' != $pagenow || !$query->is_admin )
        return $query;
 
    if( !current_user_can( 'edit_others_posts' ) ) {
        global $user_ID;
        $query->set('author', $user_ID );
    }
    return $query;
}
add_filter('pre_get_posts', 'posts_for_current_author');

此代码使任何能够修改其他人的帖子的用户都可以访问所有帖子。 这意味着编辑和管理员可以看到所有帖子。 具有其他角色的用户,例如贡献者或作者,将只能阅读他们自己的帖子。

如果您在您的网站上使用特定的用户角色,请记住,可以修改其他用户发布的内容的用户也会在仪表板中看到他们的特色。

限制作者查看特定帖子或页面

您还可以限制作者、编辑、贡献者和其他用户角色查看、编辑或删除特定的博客文章和页面。

您可以使用 PublishPress Permissions 插件简单地确定用户可以在您的网站仪表板上访问哪些特定文章和页面。

在您的网站上安装并激活PublishPress Permissions插件以开始。 您可以在我们的教程中找到有关如何安装 WordPress 插件的说明。

假设您希望仅由网站的编辑而不是其他人来更改某篇文章。

您可以通过编辑该帖子来做到这一点。 进入 WordPress 块编辑器后,只需向下滚动到 ‘Permissions:编辑此帖子的元框。

之后,从所有其他用户角色的下拉框中选择 ‘Blocked' 选项。 权限将默认设置为 ‘default: Yes',允许所有人修改帖子。

之后,确保编辑器的设置设置为“启用”或“默认:是”。 完成权限配置后,请务必编辑您的博客文章。

更改有权查看和编辑特定帖子的人员。

我们希望这篇文章有助于教您如何在 WordPress 管理区域中将作者限制为他们自己的帖子。 不要忘记与您的朋友分享这篇文章或在FacebookTwitter 上关注我们。

Divi WordPress Theme