Wordpress - 在类别页面上使用查询帖子

时间:2013-03-07 19:01:09

标签: wordpress pagination

我正在尝试限制在类别页面上显示的帖子数量。我正在使用query_posts这样做,就像这样

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
    if (have_posts()){
        query_posts('posts_per_page=6&paged=' . $paged);

问题是query_posts似乎使网站无法实现它所在的类别页面,因此它显示了所有类别的帖子。有没有办法来解决这个问题?似乎应该有一种方法强制WordPress在query_posts之后“获取类别”,以便它实现它所在的类别,然后只显示相关的帖子?

------编辑以在使用WP_query时显示代码----

echo '<h4>Latest Resources</h4>'."\n";
    global $post;

    if (have_posts()){
    $paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1; 
    $the_query = new WP_Query( array(
                 'post_type' => 'post', 
                 'paged' => $paged,
                 'posts_per_page' => 6));   
        while($the_query->have_posts()) { 
        $the_query->the_post(); 
            if($post->post_type == 'page') continue;
            setup_postdata($post);
            $categories = get_the_category();
                echo '<div class="listing">';

1 个答案:

答案 0 :(得分:0)

请不要擅长query_posts用户WP_Query,而不是如此:

<强> EDITED

$paged = get_query_var( 'paged' ) ? get_query_var( 'paged' ) : 1; 
    $the_query = new WP_Query( array( 
    'post_type' => 'page',
    'orderby' => 'date',
    'category_name' => 'slug of your category here',
    'order' => 'DESC',
    'paged' => $paged,
    'posts_per_page' => 2) 
);

更多关于分页和WP_Query here

附加信息

//usage of the $the_query
while ( $the_query->have_posts() ) : $the_query->the_post();
//pagination
get_next_posts_link(Older', $the_query->max_num_pages);
get_previous_posts_link( Newer', $the_query->max_num_pages);