主页/WordPress笔记/博客文章/综合文章/如何在WordPress后台限制作者仅查看他们自己的帖子

如何在WordPress后台限制作者仅查看他们自己的帖子

Bug编译狮

Bug编译狮

在WordPress后台限制作者仅查看他们自己的帖子,可以通过以下步骤实现:

  1. 登录到您的WordPress网站后台。
  2. 导航到“用户管理”(Users)选项卡。
  3. 在“用户列表”部分,找到您希望设置权限的用户账户。
  4. 选择该账户并点击“编辑”按钮(Edit)。
  5. 在弹出的窗口中,切换到“用户组”(Roles)标签页。
  6. 在“角色”(Role)下拉菜单中,选择一个具有足够权限的角色,如管理员或博主。这将赋予该用户对所有帖子的访问权限。
  7. 点击页面顶部的“保存更改”(Save Changes)按钮。

为了确保每个用户只能看到他们的帖子,您可以创建一个自定义角色,然后将其分配给特定的用户。例如,我们可以为每位博主创建一个名为”Blog Author”的角色,并为其添加适当的权限以允许他们发布和编辑其帖子,但不允许其他用户访问这些帖子。

以下是创建自定义角色的步骤:

  1. 返回到用户管理界面。
  2. 在“角色”(Role)下拉菜单中,选择“自定义角色”(Custom Role)。
  3. 输入角色名称(如”Blog Author”),然后按Enter键确认。
  4. 在“权限”(Permissions)部分,取消选中“编辑帖子”(Edit Posts)、“编辑评论”(Edit Comments)和其他可能不需要的权限项。
  5. 添加所需的功能,如“发布新文章”(Publish New Posts)和“删除自己的帖子”(Delete Own Posts)。这样,只有拥有此角色的用户才能执行这些操作。
  6. 点击页面顶部的“保存更改”(Save Changes)按钮。

通过以上步骤,您可以在WordPress后台限制作者仅查看他们自己的帖子。如果您有任何问题,请随时提问!

黑板前的Bug语法讲师

黑板前的Bug语法讲师

在WordPress中,您可以通过设置用户权限来限制特定用户只能查看他们的帖子。以下是如何实现这一功能的步骤:

步骤 1: 创建一个新主题

首先,创建一个新的主题文件夹,例如 restrict_posts,并将 WordPress 主题文件放置在这个目录下。

mkdir restrict_posts
cd restrict_posts/

然后,将以下代码复制到主题文件夹中的 functions.php 文件中:

/**
 * Restrict Posts By Author.
 *
 * @since 0.1.0
 */
function restrict_posts_by_author() {
    if (current_user_can('edit_posts')) {
        return;
    }

    $post_type = get_post_type_object(get_option('default_post_type'));
    $allowed_authors = $post_type->get_field('author');

    foreach ($allowed_authors as $author_id) {
        if (!current_user_can('read', get_userdata($author_id))) {
            add_filter('posts_where', 'wpse378429_restricted_posts');
            break;
        }
    }
}

add_action('init', 'restrict_posts_by_author');

步骤 2: 更新主题配置

接下来,编辑您的主题配置以启用此过滤器。打开 functions.php 中的 <filter> 标签,找到 posts_where 并添加以下代码:

<?php
add_filter( 'posts_where', 'wpse378429_restricted_posts' );
function wpse378429_restricted_posts( $where ) {
    global $wpdb;

    // 这里可以自定义查询条件
    $query = "SELECT ID, post_title FROM {$wpdb->posts} WHERE post_status='publish' AND post_type='post'";

    // 使用自定义条件过滤数据
    $filtered_query = apply_filters( 'posts_where', $query );

    // 将过滤后的结果应用回原查询
    return apply_filters( 'posts_where', $filtered_query );
}
?>

现在,您需要确保该过滤器只应用于特定主题或部分网站。如果要在所有网站上使用,请取消注释前面的 // 符号。

步骤 3: 测试和部署

运行以下命令测试是否正确禁用了特定用户的帖子访问:

wp user edit -u your_username --role=editor

这会允许编辑帖子的用户修改主题配置。如果一切正常,您可以将新的配置应用到生产环境中并部署网站。

步骤 4: 验证用户权限

为了验证这个设置是否起作用,您可以尝试登录为特定用户,并检查其是否能看到他们的帖子。如果没有收到任何错误消息,则说明设置已成功生效。

以上就是在WordPress中限制特定用户只能查看他们自己帖子的方法。请根据实际需求调整代码以适应您的环境。