昨夜、WordPress 4.1 RC1 がリリースされまして、今回のバージョンではテーマで使うテンプレートタグが幾つか追加される予定なので先取りで紹介しようかと思います。

なお、執筆時点で WordPress 4.1 のリリースは 2014年12月16日となっています。

スポンサーサイト

WordPress 4.1 デベロッパー向け情報

デベロッパー向け情報は以下のリンクを参考に
https://make.wordpress.org/core/tag/4-1-dev-notes/

この中で新しいテンプレートタグとして「Archive Template Tags」(アーカイブ用テンプレートタグ)「Navigation Template Tags」(ナビゲーション用テンプレートタグ)が掲載されています。

Archive Template Tags

追加されるのは以下の4つ。

  • get_the_archive_title() and the_archive_title()
  • get_the_archive_description() and the_archive_description()

ざっくり実行結果として get_* は returnのみ(echoしない)、the_* は出力(echo)される、とおぼえておきましょう。

the_archive_title() は表示しているターム(カテゴリー、タグ、カスタム分類)や日別、投稿タイプ、投稿者のアーカイブにあわせてタイトルを出力します。

the_archive_description() は上記と同じ条件で、説明を表示します。

実はこの部分は _s では archive.php に先取りで実装されています(実際には下位互換をとるため、inc/template-tags.php にも書かれてます)

すごくスッキリしました。
特別な理由がない限り、archive.php のみで カテゴリーからカスタム投稿タイプのアーカイブまで汎用的に対応できるようになります。

Navigation Template Tags

追加されるのは以下の6つ。

  • get_the_post_navigation() and the_post_navigation()
  • get_the_posts_navigation() and the_posts_navigation()
  • get_the_posts_pagination() and the_posts_pagination()

the_post_navigation()

the_post_navigation() は single.php で投稿記事の前後リンクに使われます。
このタグだけで以下のような結果が得られます。

いい感じに一番新しい記事や古い記事の場合でも、リンク先がなければその部分は出力されません。
また関数の内部は今まで使われてきた previous_post_link()next_post_link() で処理されています。

the_posts_navigation()、the_posts_pagination()

the_posts_navigation()the_posts_pagination() はアーカイブ系で使います。
the_posts_navigation() は前後のリンク。the_posts_pagination() はページネーション(ページャー)での出力になります。

どちらも内部では既存の関数を使って処理されています。

the_posts_navigation() の出力結果はこちら。
もちろんページがなければ、リンク部分も出力されません。

the_posts_pagination() の出力結果はこちら。
一番最初のページや最終ページ、省略なども自動で計算してくれます。


この情報はあくまで WordPress 4.1 RC1 時点での出力結果です。
出力されるクラス名などまだ取り込まれていないパッチもあり、正式リリース時点では変わる可能性もあること、ご了承ください。

追記1

テストがてら _s をフォークして実装してみたのでテストしてみたい方はどうぞ。

追記3参照

追記2

WordPress 4.1 ライブになりました。

追記3 (2014.1.8)

WordPress 4.1 がライブになったので _s の当該部分をプルリクエストで送ってマージされました。めでたい。