Wordpress 自定义 wp_pagenavi 不适用于具有自定义查询的自定义页面

问题描述 投票:0回答:2

我正在尝试做一些自定义页面,我没有使用 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; ?>

为什么没有加载任何东西?这是怎么回事??

php wordpress navigation
2个回答
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
投票

结束后写下这段代码

全局$wp_query;

$大= 999999999; // 需要一个不可能的整数

回显分页链接(数组(

'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

));

© www.soinside.com 2019 - 2024. All rights reserved.