WP-PageNavi仅显示第一页

时间:2016-11-15 作者:Nancy

我正在使用WP PageNavi插件,我将其合并到我的定制tpl页面中。有一个woocommerce快捷码,它保存了我想要显示的所有产品,但我只看到了相同的产品和一页的结果。我看不出我做错了什么。代码为:

  <?php 
    /* Template Name: shine*/ 
    ?>
    <?php get_header(); ?>

    <div class="wrapper clearfix">


            <?php $args = array(
                    \'post_type\' => \'page\',
                    \'orderby\' => \'title\',
                    \'order\' => \'ASC\',
                    \'posts_per_page\' => 5,
                    \'paged\' => get_query_var(\'paged\'),

                ); ?>
          <?php query_posts($args); ?>

          <?php if ( have_posts() ) : ?>
              <?php while ( have_posts() ) : the_post(); ?>

              <?php endwhile; ?>
          <?php endif; ?>





            <h2>SHINE kolekcija</h2>    


    <?php

 echo do_shortcode( \'[product_attribute attribute="kolekcije" filter="shine"]\' );
  ?>

 <div class="naviButs">
            <?php wp_pagenavi(); ?>
        </div>



            </div>




    <?php  get_footer(); ?>

2 个回复
SO网友:Rishabh

如果wp_query, 不能这样使用快捷码

<?php wp_pagenavi(); ?>
您需要在短代码内的数组中使用变量(在其中存储wp\\u查询)。改为使用这样的短代码。将上面的短代码替换为下面的短代码。

<?php wp_pagenavi( array( \'query\' => $query_slider ) ); ?>

UPDATE

这是我使用的一种方式wp_query 显示不带用于显示产品的快捷码的产品列表。

<?php
/*
Template Name: shine
*/
get_header(); ?>
<?php 
$paged = get_query_var(\'paged\') ? get_query_var(\'paged\') : 1;
$args = array(\'post_type\' => \'product\',
\'orderby\' => \'title\',
\'order\' => \'ASC\',
\'posts_per_page\' => 5, 
\'paged\' => $paged);
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
?>
 <li style="list-style:none;">
    <h3><a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><?php the_title();?></a>&nbsp;(<?php echo get_the_date(\'d.m.Y\');?>)</h3>
    <a href="<?php the_permalink() ?>" title="<?php the_title(); ?>">
    <?php 
/*****     Thumbnail     ******/
the_post_thumbnail(
    array(120, 90), 
    array(

        \'class\' => \'enter-class-here\',   //Specify class for product\'s image if any
        \'alt\' => \'Preview unavailable\', //Specify alternate text for products, in case if there is no products image
        \'title\' => \'Enter-title-here\'  //Specify title if any
    )
);
/*******     Thumbnail Ends   ********/
?>      </a>   
</li><hr />
<?php 
endwhile; ?>

<?php wp_pagenavi( array( \'query\' => $loop ) ); ?>
<?php get_footer();?>

SO网友:Mark Kaplun

使用query_posts 总是会扼杀任何分页成功的希望。您应该使用pre_get_posts 如果您关心分页,请使用筛选器调整主查询。

如果您需要在页面模板的上下文中执行任何操作,并且您应该通过添加适当的重写规则来更好地使用自己的URL结构,那么这实际上很难实现。