wp_title()がなくなったかわりにtitle-tagで対応しよう

前回の「WordPressのテーマでカスタムヘッダーのプレビューはいらなくなった」に引き続き、最近のテーマ開発で気がついたこと。

<title>タグを出力するために、これまでheader.phpの内にwp_title()を書いていた。これも4.1からは必要なくなっている。

title-tagを使おう

多くのテーマはおそらく、header.phpにwp_title()を書き、functions.phpでwp_titleをフックしトップページ、シングルページ、カテゴリーの一覧ページ、またはその2ページ目の場合などに分けて、<title>タグを出し分けていたと思う。WordPressの4.1からはwp_title()が廃止された。

テーマを初期化するアクションフックafter_setup_themeのタイミングで、
add_theme_support( 'title-tag' );
としておけば、<title>タグにそれなりの文字列が自動で出力されるようになっている。
Theme-Checkで知った次第。

twentyfifteenのhead
twentyfifteenのhead

以前のバージョンにも対応するには?

急になくなったwp_title()。
かといって、そこいらじゅうのWordPressが一斉にバージョンアップしているわけでもない。フロントに影響することなので、場合によっては前のバージョンにも対応しておく必要があるだろう。

header.phpにwp_title()と書いていた部分を以下のように差し替えるとよい。

対応する関数をfunctions.phpに追加する。

こうしておくと、WordPressが4.1未満の場合にはwp_titleが発生する。functions.phpでやっていたwp_titleフックの部分が生かされてくるので、しばらくは残しておこう。

»Title Tag – WordPress Codex 日本語版

1件のコメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください