【WP4.4】<title>タグからdescriptionをトル

テーマのカスタマイズしてて気づいたんだけど、Wordpress4.4からwp_title関数が使えないのね…。
titleタグの書き出しが気にいらないので修正しようとして気づいた。

どゆことかちゅーと、functions.phpに

って書いても使えない、と。

いつからだっけ、何年か前からheadタグ内ってテンプレートには

とだけ書いておいて、wp_headの中身はfunctions.phpでフックして書き換えてね、って感じになってるのよ。
動的にごりごり書き換わる部分だから、テンプレートに書かないでほしいってことかね。
まあそれはいいんだけど。

titleタグが気に入らない

デフォルトだと、ホームを表示したときのtitleタグが、

になるの。それはいいとしてもだ。
次のページを表示したら

になるの。
そ、そこにページ数カウントが割り込んでくるのかあ… それどうかなあ…
カテゴリーアーカイブのページとかでは

になるから、それと統一してんのかね?

サイト説明いらない

俺的には、サイト説明をtitleタグにいれなくていい。SEO的にはアレかもしれんが。
ホームの時は

でいいし、次のページいったとき

となればいいわけ。他のページでもサイト説明をtitleタグに入れる必要ない。

そこらへんどうなってるのか調べたら、ありました。
https://developer.wordpress.org/reference/functions/wp_get_document_title/

これだわ。
なるほど、$titleの配列の[‘tagline’]にサイト説明が入ってる、と。
そんでページによって、配列に要素がないときは消して、うまいこと表示したり非表示にしたりしてるわけですね。

で、フィルターフックは”document_title_parts”でいけるようだ。
https://developer.wordpress.org/reference/hooks/document_title_parts/

用があるのは[‘tagline’]だけなんで、こんな感じにしました。functions.phpに記述。

[‘tagline’]の中身をからっぽにしたった(;´Д`)
wp-includes/general-template.php の934行目で

ってなってるからカラにすれば消えるよね。

以上です。

ちなみに

$titleが配列になってるんで並び替えも、”document_title_parts”のフックでできるね。
$titleは、[‘title’] , [‘page’] , [‘tagline’] , [‘site’] の順で格納されてるようです。たぶん…ですけど。
wp-includes/general-template.php を見ると、
is_front_page()のとき、[‘title’]にはサイト名、[‘tagline’]にサイト説明が入って、[‘site’]はnull、
ページングした時だけ[‘page’]にページ数が入ってそれ以外のときはnull、
それ以外のページでは、[‘title’]にページ名、[‘tagline’]はnull、[‘site’]にサイト名、が入るようになっていると思われる。たぶん。

例えば、

とかやると、キーの昇順で並ぶから、
[‘page’] , [‘site’] , [‘tagline’] , [‘title’]
の順に並ぶよ(;´Д`) やってみたらできた。めちゃくちゃだ。わらい。

コメントを残す

メールアドレスが公開されることはありません。