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サイトに最適なページネーションを組み込んでみてください。