development_creative

この記事は1年以上経過しています。

【WordPress】もうおさらば!ページネーションが表示されない・・・

地味に困るページネーション

はい。

弊社はよく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を使用した「固定ページ」でページネーションが出ます!

Related ariticle

関連記事

TOP