ワードプレスで投稿のページネーションを出力するにはthe_posts_paginationといった関数を使用します。
自動でページのリンクや「前へ」「次へ」を出力してくれる非常に便利な関数です。
しかし、screen-reader-textと言われる”投稿ナビゲーション”というテキストを出力してしまったり、リンクのHTMLタグに制限があるなど不自由な点もいくつかあります。
このthe_posts_paginationのタグ構造を変更する方法をご紹介します。
通常、ページネーションの構造は次のようになっています。
<nav class="navigation %1$s" role="navigation"> <h2 class="screen-reader-text">%2$s</h2> <div class="nav-links">%3$s</div> </nav>
ここからscreen-reader-textを取り除き、nav-linksのタグを<div>ではな<ul>へ変更してみます。
functions.phpにて、the_posts_paginationのテンプレートを変更するフィルターを追加します。
function my_php( $template, $class ){ if ($class == 'pagination') { $template = ' <nav class="navigation %1$s" role="navigation"> <ul class="nav-links">%3$s</ul> </nav>'; } return $template; } add_filter('php', 'my_php', 10, 2);
これでページネーションから”投稿ナビゲーション”が削除され、タグは<ul>に変更されました。
WordPressをカスタマイズされる方は是非お試しください。