サイト内検索

2008.06.25

category: WordPress

query_posts ではまった→スッキリ

投稿記事一覧を query_posts() を使って出力して、1ページに10投稿ずつ表示していく場合、単純に1ページあたりの投稿表示数を指定すれば大丈夫だと思ってました。

<?php query_posts(posts_per_page=10); ?>
<?php if(have_post()) : while (have_posts()) : the_post(); ?>

1ページ目を見たときには全く気づかなかったんですが、2ページ目を見てみると1ページ目と同じリストが表示されてる…。
どれだけページを進めても実際取得しているのは先頭の10件だけ。

posts_per_page とか showposts とかパラメータの値を変えたり、パラメータ自体を変えたりしてみたが一向に上手くいかない。

調べてみると、フォーラムで同じ質問している人がいました。
それによると、query_posts() は現在ページの指定がないと2ページ目だろうがなんだろうが1ページ目を読み込んでしまうようで、これは query_posts() だけではどうしようもない様子…。

それでもこの問題が簡単に解決する方法が解説してあったので、早速試してみました。
そこに書いてあった解決法は、以下の通り

<?php $paged = get_query_var('paged'); ?>
<?php query_posts("posts_per_page=10&paged=$paged"); ?>
<?php if(have_post()) : while (have_posts()) : the_post(); ?>

query_posts() の前で、現在のページ数を指定する paged の値を取得して、その値を query_posts()の paged の中に毎回入れていくってことなのかな?
おかげさまで悩んでた query_posts() のワナから抜け出し、スッキリしたのでした。

関連投稿

関連投稿はまだありません。

posted on 2008.06.25 12:21pm

Comment and Trackback
Trackback URL
kogi57@2008年7月7日 11:51 AM

query_postsを使うときのTips

linpeina@2009年3月10日 9:41 PM

wordpress、カテゴリー指定表示時などで、ページネーションの動作がおかしくなるのを解決する。

Bill Romanos Delicious Subscriptions@2009年7月23日 10:38 AM

query_postsではまった→スッキリ | WordPress | understandard.net – http://www.understandard.net/wordpre…

jamology@2009年8月5日 4:09 PM

query_posts()は現在ページの指定がないと2ページ目だろうがなんだろうが1ページ目を読み込んでしまう

miccweb@2010年6月15日 11:46 AM

@understandard さまのブログが役に立った!ありがとう http://www.understandard.net/wordpress/wp004.html

take_it02@2010年10月23日 9:23 PM

query_postsで同じエントリが表示されてしまうときの対応方法。 / query_postsではまった→スッキリ | WordPress | understandard.net http://htn.to/DgFG8r

たけ@2010年10月23日 9:23 PM

query_postsで同じエントリが表示されてしまうときの対応方法。 / query_postsではまった→スッキリ | WordPress | understandard.net http://www.understandard.net/wordpre…

take-it@2010年10月23日 9:23 PM

query_postsで同じエントリが表示されてしまうときの対応方法。

hkuze_flipboard@2010年10月23日 9:37 PM

query_postsではまった→スッキリ | WordPress | understandard.net http://dlvr.it/7QrFm

webbingstudio@2010年10月23日 9:48 PM

RT @take_it02: query_postsで同じエントリが表示されてしまうときの対応方法。 / query_postsではまった→スッキリ | WordPress | understandard.net http://htn.to/DgFG8r

NRHR@2010年11月3日 2:24 AM

同一カテゴリ内のページ送りでつまった

同一カテゴリのみを記事として表示させるのは <?php $paged = get_query_var(‘paged’); ?> <?php query_posts(“cat=*&paged=$paged”); ?> <?php if(have_posts()) : while (have_posts()) : the_post();…

taka_kimra@2010年11月24日 6:43 AM

@understandard おはようございます。2時間前くらいに http://p.tl/AEq3 こちら参考にさせて頂きました。WordPress今日から本格的にやってきます。

hysmnk@2011年1月26日 10:20 AM

wordpress query_posts ではまったら

nuestyle@2011年3月6日 12:17 AM

一発で解決。query_postsで次ページ表示しない。

Genki Katsutani@2011年3月25日 4:42 PM

query_posts ではまった→スッキリ | WordPress | understandard.net – http://www.understandard.net/wordpre…

Takeru@2011年5月12日 4:39 PM

query_postsではまった→スッキリ | WordPress | understandard.net – http://www.understandard.net/wordpre…

mypacecreator@2011年7月25日 1:16 PM

get_query_var('paged')を入れようって話

take_it02@2011年8月27日 4:35 PM

query_posts ではまった→スッキリ | understandard.net http://t.co/OpIZlzV

Deslio » Blog Archive » ページ送りの注意@2011年9月8日 1:31 PM

[...] もっとスマートな解決は、understandard.net様・フォーラムで紹介されてました。 ありがとうございます。 [...]

take_it02@2012年1月13日 8:50 PM

@HissyNC @toro_unit やっぱ他の使った方がいいすよね。。。あざます!!! ページ送りは http://t.co/e2PSWzfe でせうか?

take_it02@2012年1月16日 10:28 AM

query_posts ではまった→スッキリ | understandard http://t.co/e2PSWzfe

ta2_o2p@2012年2月4日 3:01 PM

同じところでハマっていた/if(have_post())じゃなくてif(have_posts())だった

ta2_o2p@2012年2月4日 3:01 PM

同じところでハマっていた / “query_postsではまった→スッキリ | WordPress | http://t.co/CrQfsswmhttp://t.co/JIuUBDcQ

ta2(たた)@2012年2月4日 3:01 PM

同じところでハマっていた / “query_postsではまった→スッキリ | WordPress | http://www.understandard.net/http://www.understandard.net/wordpre…