我需要有关WordPress分页的帮助。
我正在尝试对我的类别页面中的所有帖子进行分页。我在循环末尾添加了paginate_links()
函数,但前端未显示任何内容。
这是我用于显示所有“设计”帖子的代码:
<div role="main">
<h3 class="page-title">RECENT POSTS IN DESIGN</h3>
<div id="full-post-list" class="row between-xs margin-category-title">
<?php
if( is_category() ) {
$cat = get_query_var('cat');
$args = array(
'offset' => 1,
'posts_per_page' => 21,
'cat' => $cat,
'orderby' => 'date',
'order' => 'DESC',
'post_not_in' => get_option( 'sticky_posts' )
);
$query = new WP_Query($args);
if ( $query->have_posts() ) {
while( $query->have_posts() ) {
$query->the_post();
get_template_part( 'content', 'latest' );
}
}
}
?>
</div>
<div id="pagination">
<?php echo paginate_links(); ?>
</div>
</div>
一个奇怪的事情是,如果我在浏览器URL栏中输入mysite.com/category/design/page/2,我看不到404错误,但我始终显示第一页(分页链接始终被隐藏) )。
有什么主意吗?我在做什么错了?
谢谢!
答案 0 :(得分:0)
您应该像这样将参数传递给此函数,总页面可从$ query获取:
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => '/page/%#%',
'current' => $current_page,
'total' => $total_pages,
'prev_text' => __('« prev'),
'next_text' => __('next »'),
));
或定义全局$ wp_query,它将使用默认参数自动分页:
<?php
global $wp_query
if( is_category() ) {
$wp_query = new WP_Query($args);