2014-09-05 4 views
1

내 목표는 내 쿼리 결과를 게시 된 마지막 X 개의 게시물 수로 제한하는 것입니다.WP_Query 결과를 마지막으로 게시 된 X 개의 게시물 수로 제한하는 방법은 무엇입니까?

지금까지, 내 ​​쿼리는 다음과 같습니다

$args = array(
    'post_type' => 'post' 
); 
$query = new WP_Query($args); 

내가 사용할 수있는 매개 변수가 아니면 나는 사용자 정의 SQL 쿼리를 작성해야?

참조 : WP_Query 소요되는 매개 변수의 http://codex.wordpress.org/Class_Reference/WP_Query#Parameters

답변

7

하나는 posts_per_page입니다. 가장 최근의 게시물별로 정렬되므로 posts_per_page 매개 변수 만 필요합니다.

<?php 
$args = array(
    'post_type'  => 'post', 
    'posts_per_page' => '5' 
); 

$query = new WP_Query($args); 
+0

그러나이 쿼리는 여전히 _all_ 게시물을 반환하지 않을까요? – henrywright

+0

아니요, 쿼리가 제한됩니다. 위 코드의 직접 쿼리는 다음과 같습니다. 'SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts WHERE 1 = 1 AND wp_posts.post_type = '게시'AND (wp_posts.post_status = '게시'OR wp_posts.post_status = 'private') ORDER BY wp_posts.post_date DESC LIMIT 0, 5' – Ryan

0
Solution : 

    $args = array('post_type' => 'post','posts_per_page' => 'your no of post', 'orderby' => 'ID', 'order' => 'DESC'); 
    $query = new WP_Query($args); 

    AND FOR Custom Query 
    global $wpdb; 

    $qyery="your custom query here"; 
    $wpdb->query($query); Use this function 

    or 

    $wpdb->get_results($query, output_type);