web-dev-qa-db-ja.com

WP-PageNaviは最初のページのみを表示しています

私は自分のカスタムtplページに組み込んだWP-PageNaviプラグインを使用しています。私が表示したいと思うすべての製品を保持するウーコマースのショートコードがあります、しかし私は今までに同じものと1ページだけの結果を見るだけです。私は自分が何をしているのかわかりません。コードは次のとおりです。

  <?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(); ?>
1
Nancy

wp_queryの場合、このようにショートコードを使用することはできません

<?php wp_pagenavi(); ?>

あなたはshortcodeの中の配列に(あなたがwp_queryを格納している)変数を使う必要があります。代わりにこのようなショートコードを使用してください。上のショートコードを下のものに置き換えます。

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

_アップデート_

これは、私が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();?>
1
Rishabh

query_postsを使用することで、ページネーションがうまく行われるという希望を常になくします。ページネーションが気になる場合は、メインクエリを調整するためにpre_get_postsフィルタを使用してください。

あなたがページテンプレートのコンテキストであなたがすることが何でも必要であり、あなたがより適切な書き換え規則を追加することによってあなた自身のURL構造をよりよく使うべきであるならば、実際に達成するのは難しいでしょう。

0
Mark Kaplun