今天需要对WordPress后台进行调整,目的是为了只能让当前用户看见自己所发表的文章,而WordPress默认是登陆用户可以看到所有用户发表的文章。

WordPress中的用户角色分的比较详细,作者这个角色刚好是能够发布文档并且能上传图片的角色,所以我们很多人都是让默认注册的用户角色为作者,可以这样一来,登录WordPress网站管理后台,能看到所有的文章,虽然不能评论,但是却可以浏览等操作,对于普通的登录用户,我们不能给他们看到太多的东西。

我们需要做到的功能就是他们在WordPress后台,只能看到自己发布的文章和评论,其他人发布的他们就看不到。

使用admin用户登录,

让WordPress的作者在后台只能看到自己的文章-LMLPHP

第一种方法:(不推荐)

将下面的代码复制到您的主题的functions.php中即可。

function wpjam_parse_query_useronly( $wp_query ) {
    if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false ) {
        if ( !current_user_can( 'add_user' ) ) {
            global $current_user;
            $wp_query->set( 'author', $current_user->id );
        }
    }
}
add_filter('parse_query', 'wpjam_parse_query_useronly' );

让WordPress的作者在后台只能看到自己的文章-LMLPHP

注意:如果复制以上代码到function.php中,那么admin用户登录上以后,也只能看到admin发表的文章,并不能看到所有的文章。

第二种方法:(推荐)

这种方式可以保证admin用户登录后看到所有用户的文章,因为level_10代表的是admin用户

function mypo_parse_query_useronly( $wp_query ) {
  if ( strpos( $_SERVER[ 'REQUEST_URI' ], '/wp-admin/edit.php' ) !== false ) {
    if ( !current_user_can( 'level_10' ) ) {
      global $current_user;
      $wp_query->set( 'author', $current_user->id );
    }
  }
}
add_filter('parse_query', 'mypo_parse_query_useronly' );

第三种:(没试过)

  WP插件:Restrict Author Posting

04-28 03:48