我正在尝试列出“alps”类别中的帖子。问题是如果我定义'posts_per_page'=> -1,工作正常,我得到完整的列表,但如果我要求一些帖子,我只是重复一页一页的相同帖子。这是我的loop-alps.php文件。
<?php
$args = array(
'order' => 'asc',
'order_by' => 'title',
'posts_per_page'=> 5,
'category_name'=> 'alps'
);
$wp_query = new WP_Query($args);
if($wp_query->have_posts()): while($wp_query->have_posts()): $wp_query->the_post();
echo '<h1>' .get_the_title() .'</h1>';
the_post_thumbnail();
endwhile;
endif;
?>
<div class="navigation">
<?php if(function_exists('tw_pagination')) tw_pagination($the_query); ?>
</div>
答案 0 :(得分:2)
根据WP文档(Codex),您似乎应该使用paged
参数才能使其正常工作。
$args = array(
'order' => 'asc',
'order_by' => 'title',
'posts_per_page'=> 5,
'category_name'=> 'alps',
'paged' => get_query_var( 'paged' )
);
get_query_var( 'paged' )
- 此函数基本上在网址中查找GET变量,'?paged = X'如果我没有错误。因此,请确保通过单击分页链接可以看到此参数正在添加到URL中并相应地进行更改。
来源:https://codex.wordpress.org/Class_Reference/WP_Query#Pagination_Parameters
答案 1 :(得分:0)
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'order' => 'asc',
'order_by' => 'title',
'posts_per_page' => 12,
'category_name' => 'alps',
'paged' => $paged,
'offset'=> 1
);
答案 2 :(得分:-1)
只需添加'paged' => get_query_var( 'paged' ),
,然后将其调整为您自己的
<?php
$paged = ( get_query_var( 'paged' ) ) ? get_query_var( 'paged' ) : 1;
$myposts = array(
'showposts' => 6,
'post_type' => 'your-post-type',
'orderby' => 'date',
'paged' => get_query_var( 'paged' ),
'tax_query' => array(
array(
'taxonomy' => 'your-taxonomy',
'field' => 'slug',
'terms' => 'your-terms')
)
);
$wp_query= null;
$wp_query = new WP_Query();
$wp_query->query($myposts);
?>