kiwさん、こんにちは。
2ページ目以降のURLをどのように作成しているか、またその結果として、$query_stringがどのようになっているかなどにより異なる可能性はありますが、
- get_query_var( ‘page’ );でページ数を取得し
- query_postsの引数から$query_stringを削除
- query_postsの引数にpagedパラメータを追加、指定する値は、手順1で取得したページ数
で正常になるのではないかと思います。
トピック投稿者
kiw
(@kiw)
jim912さま いつも的確なアドバイスありがとうございます。
以下のように変更し、うまくいきませんでした。たぶん間違っているんだと思います。
$pag = get_query_var( ‘page’ );
query_posts(‘cat=21&posts_per_page=3&paged=$pag’);
paged=$pag
を
paged=2
と直接記述して試してみたところ2ページ目が表示されました。
つまり、上のような場合、
get_query_var( ‘page’ );
で取得された値からページ数を抜き出してその値を$pagに代入してやればいけそうかなと思うのですが、ページ数を抜き出す方法がいまいちわかりません。。
$pag = get_query_var( 'page' );
query_posts('cat=21&posts_per_page=3&paged='.$pag);
じゃ、ないですかね?
トピック投稿者
kiw
(@kiw)
shokun0803さま ご指摘ありがとうございます。
基本的なミスでした。お恥ずかしい限りです。
get_query_var( ‘page’ );
をechoで表示してみたのですが、中身が空でしたので、
get_query_var( ‘page’ )
を
get_query_var( ‘paged’ )
と修正し、
$pag = get_query_var(‘paged’);
query_posts(‘cat=21&posts_per_page=3&paged=’.$pag);
のように修正したら、うまくいきました。
どうもありがとうございました!