我需要有关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错误, 但我始终显示第一页(并且分页链接始终被隐藏)。
任何的想法?我究竟做错了什么?
谢谢!
#1
你应该像这样将参数传递给此函数, 总页面从$ 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);
评论前必须登录!
注册