WordPress

WordPress で1ページ目のときにページネーションを「もっと見る」ボタンに変更する方法

WordPress で1ページ目のときにページネーションを「もっと見る」ボタンに変更する方法を紹介します。
例えば、一覧の最後で次のページへ遷移して欲しいときに便利な方法です。

  1. ページネーションを「もっと見る」ボタンに変更する方法
  2. プラグイン WP-PageNavi を使っている場合の方法

ページネーションを「もっと見る」ボタンに変更する方法

1ページ目のときにページネーションを「もっと見る」ボタンに変更するには is_pagedget_next_posts_link を使用します。
関数 is_paged は、現在表示されているページ番号が1より大きいかどうかを判別します。
関数 get_next_posts_link は、次のアーカイブページがあるかどうかを判別します。
例えば、wp_link_pages を使用している場合は、次のコードを追加します。

<?php // 1ページ目のときにページネーションを「もっと見る」ボタンに変更
if(!is_paged() && get_next_posts_link()) { // ページが1ページ目で、かつ2ページ目が存在するときに true
echo '<a href="'.("http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]).'/page/2" class="btn-more">もっと見る</a>'; // もっと見るボタンを表示
} else { // 2ページ目以降はページネーションを表示
wp_link_pages();
}
}
?>

ページネーションの種類によっては、1ページ目で2ページ目が存在しない場合の処理を追加したいときはこちら。

<?php // 1ページ目のときにページネーションを「もっと見る」ボタンに変更
if(!is_paged() && get_next_posts_link()) { // ページが1ページ目で、かつ2ページ目が存在するときに true
echo '<a href="'.("http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]).'/page/2" class="btn-more">もっと見る</a>'; // もっと見るボタンを表示
} elseif(!is_paged() && !get_next_posts_link() { // ページが1ページ目で、かつ2ページ目が存在しないときに true
} else { // 2ページ目以降はページネーションを表示
wp_link_pages();
}
}
?>

プラグイン WP-PageNavi を使っている場合の方法

プラグインなど独自の関数を使用している場合は function_exists を使用します。
例えば、WP-PageNavi を使用している場合は、次のコードを追加します。

<?php // 1ページ目のときにページネーションを「もっと見る」ボタンに変更
if(function_exists('wp_pagenavi')){ // 関数 wp_pagenavi の判別
if(!is_paged() && get_next_posts_link()) { // ページが1ページ目で、かつ2ページ目が存在するときに true
echo '<a href="'.("http://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]).'/page/2" class="btn-more">もっと見る</a>'; // もっと見るボタンを表示
} else { // 2ページ目以降はページネーションを表示
wp_pagenavi();
}
}
?>

まとめ

WordPress で1ページ目のときにページネーションを「もっと見る」ボタンに変更する方法を紹介しました。

合わせて読みたい関連記事