在WordPress后台的文章列表只显示该作者自己的文章

对于WordPress多作者博客,如何让每个作者在后台只能浏览自己的文章?只需要将下面的代码添加到你主题的 functions.php 即可:

1
2
3
4
5
6
7
8
9
10
function mypo_parse_query_useronly( $wp_query ) {
    if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false ) {
        if ( !current_user_can( 'manage_options' ) ) {
            global $current_user;
            $wp_query->set( 'author', $current_user->id );
        }
    }
}
 
add_filter('parse_query', 'mypo_parse_query_useronly' );

以上代码排除了对管理员的限制,也就是管理员是可以看到所有人的文章的。

倡萌

一个文科IT宅男,喜欢折腾WordPress和被它折腾 ^_^

13 条评论

  1. 这个到底要加在哪里?比如第几行甚么的?因为看到你很多内容都是说把代码加进这个文件……小白加是加进去了,肯定就出错。

  2. 大神,请问一下,如何在后台的所有文章中,对特定等级用户只显示特定分类的文章呢?例如对订阅者只显示“体育”分类,而作者只显示“音乐”这个分类。我觉得可以在你这篇文章里面的代码的基础上改,可是我是代码苦手,我在网上也查找了一些资料然后尝试过,可是都不成功,那个$wp_query->set始终不知道怎么用。请问能指点一下吗?万分感谢!

发表评论