2012-01-20 3 views
1

저는 28 명의 사용자와 함께 Wordpress 사이트를 보유하고 있으며 각 사용자 (각 사용자 당 하나의 게시물)로부터 최신 게시물을 받고 싶습니다. 나는 DISTINCT와 GROUP BY를 모두 사용하여 커스텀 SQL을 시도했지만 성공하지는 못했다.워드 프레스의 각 저자의 최신 게시물

이것이 내가 간 가장 가까이에 있습니다. 고유 게시물을 가져 오지만 최신 게시물 대신 가장 오래된 게시물을 가져옵니다.

function last_post_per_user() { 
    global $wpdb; 
    return $wpdb->get_results('SELECT ID FROM '.$wpdb->posts.' WHERE post_status=\'publish\' AND post_type=\'post\' AND post_author!=\'1\' GROUP BY post_author'); 
} 

$posts = last_post_per_user(); 

foreach ($posts as $post) { 
    $post_id[] = $post->ID; 
} 

query_posts(array( 
    'post_type'   => 'post', 
    'posts_per_page' => 10, 
    'post__in'   => $post_id 
)); 

이 문제를 해결하는 방법에 대한 제안 사항이 있습니까?

답변

1

이를 교체하십시오 (실제로 전체 f를 * 요리하는 일 해결 봤어) :이와

query_posts(array( 
    'post_type'   => 'post', 
    'posts_per_page' => 10, 
    'post__in'   => $post_id 
)); 

:

query_posts(array( 
    'post_type'   => 'post', 
    'posts_per_page' => 10, 
    'post__in'   => $post_id, 
    'orderby'   => 'date', 
    'order'    => 'DESC' 

)); 

그것은 최신 게시물을 표시합니다.

관련 문제