WordPressのページネーションを徹底解説!自作する方法からプラグインなしで実装する手順まで解説

WordPressで記事数が増えてくると、読者のためにも「ページネーション(ページ送り)」の設置は不可欠です。しかし、思ったように表示されなかったり、2ページ目以降が同じ内容になってしまったりと、意外とつまづくポイントも多いのが事実。本記事では、WordPressでページネーションを導入・自作する方法を、プラグインを使わずに実装する手順まで含めて詳しく解説します。トラブル時の対応策や固定ページへの対応方法も取り上げているので、開発初心者の方にも安心です。

目次

ページネーションとは?WordPressでの役割

ページネーション(pagination)とは、複数の投稿やコンテンツをページ分けし、1ページに表示する件数を制限して、下部にページリンクを表示する仕組みのことです。

ページネーションが必要な理由

  • ユーザビリティの向上(一覧が長くなりすぎない)
  • サイト表示速度の改善
  • 内部リンクの最適化(SEOにもプラス)

WordPressの標準ページネーションの種類

WordPressでは、以下のようなページネーションが標準で用意されています。

previous_posts_link() / next_posts_link()

  • 古い記事へ、新しい記事へリンクを設置する基本関数

paginate_links()

  • ページ番号(1, 2, 3…)を出力する関数。カスタマイズしやすく人気

the_posts_pagination()

  • paginate_links() のラッパー関数で、テーマ開発者向け

ページネーションを自作する方法(functions.phpで追加)

ステップ1:テーマにfunctionsを追記

function my_custom_pagination() {
    global $wp_query;
    $big = 999999999;

    echo paginate_links(array(
        'base' => str_replace($big, '%#%', esc_url(get_pagenum_link($big))),
        'format' => '?paged=%#%',
        'current' => max(1, get_query_var('paged')),
        'total' => $wp_query->max_num_pages,
        'prev_text' => '« 前へ',
        'next_text' => '次へ »'
    ));
}

ステップ2:ページネーションを表示したいテンプレートに追加

<?php my_custom_pagination(); ?>

プラグインを使わない理由とメリット

WordPressページネーション プラグインなしで行う利点

  • 軽量で高速(プラグインの読み込み不要)
  • 自分好みに完全カスタマイズ可能
  • 他の機能と干渉しにくい

表示されない・2ページ目が同じ時の対処法

よくあるトラブルと原因

症状原因解決策
ページネーションが表示されないループ外で呼び出しているif ( have_posts() ) 内に記述
2ページ目で同じ記事が表示されるquery_posts() の使い方が不適切WP_Query or pre_get_postsを使う
URLに?p=2と出るパーマリンク設定が「基本」になっている「投稿名」などに変更

カスタマイズ例:見た目を変えるCSSサンプル

.pagination {
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-top: 30px;
}
.pagination a, .pagination span {
  padding: 8px 12px;
  background: #f2f2f2;
  border-radius: 4px;
  color: #333;
  text-decoration: none;
}
.pagination .current {
  background: #0073aa;
  color: white;
  font-weight: bold;
}

固定ページでページネーションを使いたい場合

WordPressの固定ページでは、記事内で手動によるページ分割が可能です。

実装方法:

記事編集画面で <!--nextpage--> を挿入すると、次ページとして区切ることができます。

※ビジュアルエディタでは「ページ区切り」ブロックを使用(ブロックエディタの場合)

おすすめプラグイン(使いたい場合)

以下は、カスタマイズ性の高いページネーション用プラグインです。

  • WP-PageNavi:超定番。CSS付きでボタン表示が簡単
  • Pagination by BestWebSoft:日本語対応&設定簡単
  • WP-Paginate:テーマに溶け込むようなデザインで設置可能

まとめ:ページネーションを自在に操れるとサイト運営がもっと楽になる

WordPressでページネーションを使いこなせれば、コンテンツの整理が一気に進み、読者の回遊率やSEOにも良い影響を与えます。

プラグインに頼らず自作で実装することで、サイトの表示速度やデザイン自由度も高まり、無駄なバグやトラブルも減らせます。

今回紹介したトラブル対処法やカスタマイズ方法を参考に、あなたのWordPressサイトに最適なページネーションを組み込んでみてください。

資料ダウンロード

弊社のサービスについて詳しく知りたい方はこちらより
サービスご紹介資料をダウンロードしてください