WordPressのアーカイブページのページネーションについてのお話です。
当たり前のことですが、アーカイブページには「次のページへ」とか「前のページへ」とか、他のページへの移動をするためのリンクが必要です。
このページネーションですが、単純に「次のページ」「前のページ」に移動する場合と、直接指定のページへ移動したいという場合があります。
「次のページ」「前のページ」へ移動するだけのページネーション
[code]
<?php
// 前のページへのリンク
previous_posts_link();
// 次のページへのリンク
next_posts_link();
?>
[/code]
指定したページへ直接移動できるページネーション
[code]
<?php
$arg = array(
'prev_next' => false,
'current' => max( 1, get_query_var('paged') ),
'total' => $wp_query->max_num_pages,
'type' => 'array'
);
var_dump( paginate_links($arg) );
?>
[/code]
この「paginate_links()」という関数は、複数ページが有った場合に、ページ毎のリンクを生成することができます。
ここでは、$arg['type'] に array を指定することによって、各ページへのリンクを配列に格納しています。
そうすることで、出力するページネーションのhtmlタグやクラスを自分で設定できます。
ちなみに type に array を指定した場合、ページ数が1だった場合の返り値はNULLになります。
$arg には様々なパラメータを指定することで、柔軟なページネーションタグの出力が可能となっています。
パラメータの詳細は、WordPress Codexを参照してください。