2012-03-22

[WordPress] query_postsでwp_pagenaviがうまく機能しない


カスタム投稿タイプを使用した一覧ページで、
wp_pagenaviを使ったページングがうまくいかなかったので調べてみました。


まず、wp_pagenavi()を書く位置ですが、当然ながらwp_reset_query()よりも
先に書いておかないといけません。

そして、表示はされても2ページ以降がnot foundになってしまう場合の注意点は、
WordPressの管理画面の表示設定で、「1ページに表示する最大投稿数」と
query_postsで指定している件数(posts_per_page)よりも小さい数にしないとダメなようです。
ちなみに同じ数字でもダメでした。
Ktaistyleでは管理画面の表示設定の投稿数でページ送りするのでややこしいです。。

参考サイト
http://d.hatena.ne.jp/nakagaw/20100710/1278803760


最終的なソースはこちら
<ul>
<?
query_posts(
Array(
'post_type' => 'item',
'orderby' => 'date',
'order' => 'DESC',
'posts_per_page' => 10,
'paged' => $paged,
)
);
while ( have_posts() ) : the_post();
?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php
endwhile;
?>
</ul>

<?php
//ページナビ
if(function_exists('wp_pagenavi')) { wp_pagenavi(); }

//ページ呼び出し時のクエリ状態にリセット
wp_reset_query();
?>

Comment:

Trackback URL: