web関連

wp_title()タグでtitleが表示されない時の対処方法

wp_title()タグでtitleが表示されない時の対処方法

営業さんを通してお客さんから、サイトのtitleタグがおかしいと連絡があり、確認をしたらtitleタグが生成されておらずソースコードを見たら空白になっており対応したときの備忘録です

問題だったコード

「ページ名|サイトタイトル」というコードを吐き出す記述をしていたのですが、どうやらwp_title()がWordpress4.4以降から廃止になったようですね…知らんかった

//使えなくなったコード
wp_title( '|', true, 'right' );

対処方法

wp_title()が使えなくなった代わりにwordpress側でtitleを吐き出してくるようになったようです。
function.phpファイルに以下の記述をかきます。
吐き出されるtitleは「ページ名|サイトタイトル」にしたいので①を使い「|(縦棒)」を入れる記述をしています。
titleをとにかく吐き出せばいいという方は②だけで十分です。

// ①
function sample_title_separator( $sep ){
    $sep = '|';
    return $sep;
}
add_filter( 'document_title_separator', 'sample_title_separator' );

// ②
function sample_theme_slug_setup() {
   add_theme_support( 'title-tag' );
}
add_action( 'after_setup_theme', 'sample_theme_slug_setup' );

このときheader.phpとかにwp_title()をかきっぱなしの方は消しておいてください、重複しますので。

以上、僕はこれで直りました。

今回被害にあったサイトは僕が初めて作成したサイトで右も左もわからぬまま作らせて頂いた手前いいわけをしてしまったのですが、そもそもwordpressバージョンを更新時に気づくべきだったんだよなーお客さんと営業さんには大変申し訳ない事をしたと反省…