ページャーを簡単に表示できるWordopressのプラグイン「WP-PageNavi」でつまづきましたのでメモとして残します。
ページは遷移しているのに同じ内容が表示される
「WP-PageNavi」をインストールしてarchive.phpやcategory.phpにページャーを表示するphpコード「<?php wp_pagenavi(); ?>」を記述して動かしてみたのですが…。
ページャーは正常に表示され、クリックしてみるとURLも「category/blog/」「category/blog/page/2/」「category/blog/page/3/」…と順調に遷移しているのに、どのページでも表示される内容が最新の10件と変わらず、古い記事が一向に表示されません。
原因は表示カテゴリーと表示数を指定していたため
記事一覧を書き出すためのphpコードをこのように書いていたのが原因でした。
<?php
$posts = get_posts(‘numberposts=10’);
global $post;
?>
<?php if($posts): foreach($posts as $post): setup_postdata($post); ?>
・・・
<?php endforeach; endif;?>
<?php
$posts = get_posts(‘numberposts=10&category=3’);
global $post;
?>
<?php if($posts): foreach($posts as $post): setup_postdata($post); ?>
・・・
<?php endforeach; endif;?>
これを両方とも以下のように修正しました。とてもスッキリしました!
<?php if(have_posts()): while(have_posts()):the_post(); ?>
・・・
<?php endwhile; endif; ?>
「get_posts(‘numberposts=10’);」や「get_posts(‘numberposts=10&category=3’);」といったカテゴリや表示数の指定を行うと、ページャーが他のページに移った時もこの指示を読み込んでしまい最新の一覧が生成されてしまうので、ページは遷移しているの同じ内容が表示される現象が起こるようです。
また、特定カテゴリーのアーカイブを作成するときは、どうしても必要な時以外はコードで指定せずファイル名の指定の方がスマートです。

飯田市でホームページ制作・広告運用をサポート|デザインスタジオiR
牧内理恵
まきうちりえ
飯田市在住、広告制作歴20年以上。これまで200名以上のクライアント様と向き合い、100件以上のサイト制作を手掛けてきたデザイナー兼エンジニアの牧内理恵です。御社の強みを引き出し、業績アップに繋がるWebサイト・ネットショップ・販促ツールをご提案します。拠点とする長野県内はもちろん、全国各地からのご依頼にも柔軟に対応しております。
「相談してよかった」と言っていただける、飯田下伊那地域のパートナーとして。
長野県飯田市を拠点に、ホームページ制作やECサイト構築、Web運用のトラブル解決を承っています。20年以上のキャリアで培った「伝わるデザイン」と「確かな技術」で、御社の業績アップを支えます。飯田・下伊那エリアはもちろん、全国からのオンライン相談も大歓迎です。
「ホームページを作りたい」「ホームページをリニューアルしたい」といったご依頼もお気軽にお声がけください。
※強引な勧誘は一切ありませんので、安心してお悩みをお聞かせください。


