WordPressの2ページ目が表示されない(´・ω・`)

記事が増えてきて気が付いたのだが、
次のページをクリックしても
1ページ目と同じ内容が表示されてしまうのだ!!

どこかコードが間違ってるのか?!

いつものごとくググってみますた(・∀・)

query_postsを使っている場合は要注意!

自分のサイトは、とあるカテゴリーの記事をメイン画面に表示したくないため
『query_posts()』を使ってフィルタをかけていたのです。

(「つぶやき以上、日記未満」が文字数も少ないプチ日記なので
サイドバーだけに表示するようにしています。)

これを実現するために書いていたコードが下のやつ。

<?php query_posts('showposts=5&cat=-4'); ?>

ちょいと調べたところquery_postsを使う場合はページ指定をしてあげなければいけないらしい。

なるほど。
さっそく書き替えてみた。

<?php $paged = get_query_var('paged'); ?>
<?php query_posts('showposts=5&cat=-4&page=$page'); ?>

むぅ、変わらん(´・ω・`)

さらに調べてみるとquery_postsで表示数を制限する場合
「showposts」ではなくて「posts_per_page」を使えとのこと。

なるほど。
さっそくもう一度書き替えてみた。

<?php $paged = get_query_var('paged'); ?>
<?php query_posts('posts_per_page=5&cat=-4&page=$page'); ?>

ぅぅむ、まだダメだ(´・ω・`)
参考サイトをよ~く眺めてみると・・・

ぁあ!変数「$paged」をクォーテーションで囲ってた!

そういうわけで正しくはこれ

<?php $paged = get_query_var('paged'); ?>
<?php query_posts('posts_per_page=5&cat=-4&paged='.$paged); ?>

これで無事に2ページが表示できるようになりました(・∀・)

今回参考にしたサイトはこちら
http://ja.forums.wordpress.org/topic/127
WordPress公式のフォーラムです(`・ω・´)

1 個のコメント

  • 同じことで悩んでいましたが、素人でよくわかりませんでしたが本記事通りに行ってうまく表示することができました。ありがとうございます。

     
  • 匿名 へ返信する コメントをキャンセル

    メールアドレスが公開されることはありません。 が付いている欄は必須項目です