WordPressでtitleタグが2つダブって表示されてしまう場合の対処法
2017.11.07
目次
タイトルタグがダブる
僕自身、Wordpressをさわり始めた頃によくあったのですが、
header.phpに直接titleタグを書いて、自由に編集したのに、
どうもブラウザで見るとタイトルが変わっていない。
ファイルもちゃんと上書き保存したし、FTPアップもちゃんとできている。
何故だ何故だとなって、ソースを見てみると、なんとtitleタグが2つも表示されている。
自分で頑張ってheader.phpに書いたtitleの後に、別のtitleタグがあるので
そりゃいくらやっても変わらない。
ということがありました。
結論から言いますと、これはWordPressに設置されている「wp_head」が自動で出力しているものでした。
それが自分で追記したheader.phpのtitleタグとダブっていたのです。
デフォルトで表示されるtitleタグは、管理画面で指定した「サイト名」や「記事タイトル」を自動で反映してくれるので、便利なのですが、
全ページで固定にしたいときなどは、自分でtitleタグを固定で書かないといけなかったりします。
そんなtitleタグを自分で書きたいのに、自動表示でダブってしまう時の解決方法をご紹介します。
「wp_head」は必須
ならば勝手にtitleタグをはき出す「wp_head」ごと消してしまえばいいのか?ということになりますが、
wp_headが無いとプラグインなどが動かなくなったりすることがあるので、これはNGです。
これはfooter.phpなどにあらかじめ書いてある「wp_footer」についても同様です。
「wp_head」からtitleタグを削除する手順
となるとやはり「wp_head」からtitleタグだけを削除しなければなりません。
そのためにはfunctions.phpを編集します。
まず、このタグ自体は下記のように「wp-includes/default-filters.php」というファイルで、表示設定がされています。
// Actions add_action( ‘wp_head’, ‘_wp_render_title_tag’, 1 );
でもこれはWordpressをバージョンアップすると上書きされてしまうので、ここは編集しません。
functions.phpに、上記を削除する命令を書きます。
functions.phpに下記を追記
//wp_headのtitleタグを削除 remove_action(‘wp_head’, ‘_wp_render_title_tag’, 1);
これで「wp_head」からtitleタグが削除されました。
自由にtitleタグを書いていただければと思います。
当然ですが、「wp_head」が行っていた、トップ、カテゴリページ、記事ページなどでの自動振り分け表示も無くなるので、
振り分け等が必要な場合は、自分で書く必要があります。