地味に困るページネーション
はい。
弊社はよくWordoressのオリジナルテンプレートを作成して、
クライアントに納品を繰り返しているわけですが、
後々の要望で、コンテンツの一覧ページ(archive.php)でページネーションが欲しい!
とかってご意見をいただくことがあります。
「archive.php」とかは固定ページという扱いではないらしく、
関数を貼り付ければサラッと表示された気がするけど、
「固定ページ」で一覧を作成する時とかは舐めてかかると結構ハマるページネーション。
もう迷いたくないので、自分のためにもこちらに残すことに。
コードはこれ!
まず、phpで必要な情報を取得。
//カテゴリー一覧用のカテゴリー取得
$categories = get_categories();
//現在のページを取得
$paged = (int) get_query_var('paged');
// 記事 投稿取得
$args = array(
'post_type' => 'post',
'posts_per_page' => 20,
'order' => 'DESC', // 降順
'orderby' => 'date', // ソート条件を日付
'paged' => $paged,
);
$allPost = new WP_Query($args);
そして、ページネーション自体のコードがこちら。
<?php //** PAGINATION SECTION ******************************* // ?>
<section class="pagenation-sec">
<div class="container">
<div class="pagenation">
<?php if ($allPost->max_num_pages > 1) {
echo paginate_links(array(
'base' => get_pagenum_link(1) . '%_%',
'format' => 'page/%#%/',
'current' => max(1, $paged),
'total' => $allPost->max_num_pages
));
}?>
<?php wp_reset_postdata(); ?>
</div>
</div>
</section>
これでwp_queryを使用した「固定ページ」でページネーションが出ます!