previous_post_link / next_post_link
/* 前の記事表示 */
previous_post_link( $format, $link, $in_same_term, $excluded_terms, $taxonomy );
/* 次の記事表示 */
next_post_link( $format, $link, $in_same_term, $excluded_terms, $taxonomy );
/* 引数指定不要なら以下で表示 */
previous_post_link(); next_post_link();
/* PHP値で取得なら以下 */
get_previous_post_link(); get_next_post_link();
- format・・・リンクの文字列。「%link」でOK
- link・・・表示するリンクのテキスト。記事タイトルなら「%title」でOK
- in_same_term・・・現在の投稿と同じタクソノミー・タームの投稿に限定するかどうか。true or false(初期値:false)
- excluded_terms・・・除外したい投稿のタームID。配列もしくはコンマ区切り
- format・・・タクソノミー指定。「in_same_term」がtrueの場合のみ有効
previous_post_link、next_post_linkにて引数すべて省略し出たのが以下。
/* previous_post_link() */
« <a href="前ページリンク先" rel="prev">前ページリンク先タイトル</a>
/* next_post_link() */
<a href="次ページリンク先" rel="next">次ページリンク先タイトル</a> »
ここで「?」と思ったのが「矢印」を表す特殊文字がaタグ内にない・・・。
aタグをボタン化しようと思ったのでこりゃまずい。ついでに表示テキストも変え、リストでHTML成形。
/* singleテンプレ内 */
<ul>
<li><?php previous_post_link('%link', '« 前の記事へ'); ?></li>
<li><?php next_post_link('%link', '次の記事へ »'); ?></li>
</ul>
前次分けて出すのが面倒なら the_post_navigation
確認の意味で調べていたら、こんなのもあった。
/* 前次表示 */
the_post_navigation( array $args = array() );
/* PHP値として取得なら */
get_the_post_navigation( array $args = array() );
ちなみにthe_post_navigationで引数省略し出たのが以下。
/* HTML */
<nav class="navigation post-navigation" role="navigation" aria-label="投稿">
<h2 class="screen-reader-text">投稿ナビゲーション</h2>
<div class="nav-links">
<div class="nav-previous"><a href="<前ページリンク先>" rel="prev">前ページタイトル</a></div>
<div class="nav-next"><a href="<次ページリンク先>" rel="next">次ページリンク先</a></div>
</div>
</nav>
引数の配列$argsは以下参照。いろいろてんこ盛りで出るので調整は必要かなと。