我正在尝试做一些自定义页面,我没有使用wp_pagenavi插件,而是使用我的自定义页面的自定义函数,现在它只适用于index.php页面,但它在几天前工作正常我之前添加了更多查询元素。
//custom pagepavi function
function my_pagenavi( $the_query = false ){
global $wp_query;
$query = ($the_query) ? $the_query : $wp_query;
$max = $query->max_num_pages;
$current_page = max(1, get_query_var('paged'));
$big = 999999999;
if ( $max > 1 ) {
echo "<div class='pagination' style='height:auto'>";
echo paginate_links(array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => $current_page,
'show_all' => false,
'total' => $max,
'type' => 'list',
'prev_text' => __('PREV','dnp_theme'),
'next_text' => __('NEXT','dnp_theme'),
));
echo "</div>";
}
}
现在这是我模板页面的循环。
//some query stuff
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$query = 'offset=0&paged='.$paged;
$blogs = new WP_Query($query);
if ( $blogs->have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( $blogs->have_posts() ) : $blogs->the_post(); ?>
<?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>
<?php my_pagenavi( array('query' => $blogs) ); ?>
<?php endif; ?>
为什么不加载任何东西?发生了什么事?
答案 0 :(得分:0)
查询不正确,这就是它无法正常工作的原因,至少它不是,不是我的工作正常:)
而不是
$blogs = new WP_Query($query);
以及所有应该
$blogs = query_posts( 'post_type=post&posts_per_page=4&paged='.get_query_var('paged') );
循环就像任何其他循环一样完美
if ( have_posts() ) : ?>
<?php /* Start the Loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<?php get_template_part( 'content', get_post_format() ); ?>
<?php endwhile; ?>
<?php my_pagenavi(); ?>
<?php endif; ?>
答案 1 :(得分:-1)
结束后编写此代码
全球$ wp_query;
$ big = 999999999; //需要一个不太可能的整数
echo paginate_links(array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages
));