前回の”Welcart導入記 その2:商品の最新N件を出力するコードを書いてみる&usces_the_item()の処理を覗いてみる”とほぼコード同じなのでわざわざ別にすることもないのですが、、、。前回のママだとページングがうまくいきません。ページングに対応させるために若干追記します。Welcartのデフォルトのテーマの記述を参考にしました。以下ページング対応版コードです。
<ul> <?php $paged = $wp_query->query_vars['paged']; query_posts('cat=3&status=post&paged=' . $paged . '&posts_per_page=8'); ?> <?php if (have_posts()) : while (have_posts()) : the_post(); ?> <?php usces_the_item(); //オブジェクト準備 ?> <li class="item"> <ul> <li><?php usces_the_itemName(); ?></li> <li><a href="<?php the_permalink(); ?>"><?php usces_the_itemImage(0, 150, 150); ?></a></li> <?php if (usces_is_skus()) : ?> <li>¥ <?php usces_the_firstPrice(); ?><?php usces_guid_tax(); ?></li> <?php endif; ?> <li><?php echo $post->post_excerpt; ?></li> <li><a href="<?php the_permalink(); ?>">詳細情報を見る</a></li> </ul> </li> <?php endwhile; else: ?> <p>商品が見つかりません。</p> <?php endif; ?> </ul>
ポイントは
<?php $paged = $wp_query->query_vars['paged']; query_posts('cat=3&status=post&paged=' . $paged . '&posts_per_page=8'); ?>
でquery_postで何か指定したりするとクエリがちょっとおかしくなるので、”WordPressのquery_postsでハマった場合の解決法(2パターン)”にて別エントリでも書きましたが、現在のページ数を指定するpagedの値を毎回取得し、その値をquery_postsのpagedに入れていくやり方でページングできなくなる問題を回避しています。
ページングに関してはプラグインをいれるなり、プラグインでやらない場合は”WP-PageNavi を使わずにナビゲーション表示”が参考になると思います。
次はいよいよ本丸の”商品詳細ページのカスタマイズ”について書いていきます。