非管理员账户,只能看见自己发布的投稿或者媒体文件

都要添加到”pre_get_posts”这个钩子

仅见投稿:

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');

仅见媒体文件:

add_action('pre_get_posts','users_own_attachments');
function users_own_attachments( $wp_query_obj ) {
    $user = wp_get_current_user();
    if ( !current_user_can('administrator') ) {
        global $current_user, $pagenow;
    $is_attachment_request = ($wp_query_obj->get('post_type')=='attachment');
    if( !$is_attachment_request )
        return;
    if( !is_a( $current_user, 'WP_User') )
        return;
    if( !in_array( $pagenow, array( 'upload.php', 'admin-ajax.php' ) ) )
        return;
    if( !current_user_can('delete_pages') )
        $wp_query_obj->set('author', $current_user->ID );
    return;
    }
}

仅见媒体文件和投稿:

add_action('pre_get_posts', 'query_set_only_author' ); 
function query_set_only_author( $wp_query ) {
 global $current_user;
 $current_user = wp_get_current_user();
 if( is_admin() && !current_user_can('edit_others_posts') ) {
    $wp_query->set( 'author', $current_user->ID );
    add_filter('views_edit-post', 'fix_post_counts');
    add_filter('views_upload', 'fix_media_counts');
 }
}