在 WordPress 中,如何确保用户只能看到自己的帖子?

发布于 2024-11-07 04:36:52 字数 141 浏览 1 评论 0原文

我在我的博客中添加了一些自定义角色。它们工作正常并且功能正如我所指定的那样。问题是每个用户的帖子窗口中都有一个“所有”帖子的列表。他只能编辑自己的帖子,但可以看到其他用户撰写的帖子。

如何向角色添加限制(或任何不同的方式)以确保用户只能看到自己的帖子?

I have added a few custom roles to my blog. They work fine and the capabilities are as I have specified. The thing is that every user has a list of 'all' the posts in his posts window. He can only edit his own posts but does see posts written by other users.

How can I add a restriction to the role (or any different way) to make sure a user only sees his own posts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

马蹄踏│碎落叶 2024-11-14 04:36:52

尝试将其粘贴到您的functions.php 文件中。任何地方,可能在远离其他功能的底部。这应该限制用户看到不属于他们的帖子。

我希望这对你有用! :)

function posts_for_current_author($query) {
    global $pagenow;

    if( 'edit.php' != $pagenow || !$query->is_admin )
        return $query;

    if( !current_user_can( 'manage_options' ) ) {
        global $user_ID;
        $query->set('author', $user_ID );
    }
    return $query;
}
add_filter('pre_get_posts', 'posts_for_current_author');

Try pasting this into your functions.php file. Anywhere, likely at the bottom away from other functions. This should restrict user's from seeing posts that don't belong to them.

I hope this works for you! :)

function posts_for_current_author($query) {
    global $pagenow;

    if( 'edit.php' != $pagenow || !$query->is_admin )
        return $query;

    if( !current_user_can( 'manage_options' ) ) {
        global $user_ID;
        $query->set('author', $user_ID );
    }
    return $query;
}
add_filter('pre_get_posts', 'posts_for_current_author');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文