ラック
Home > CMS > 記事 > 2016年3月 > タイトルタグの出力を変更したい

タイトルタグの出力を変更したい

カテゴリ: WordPress

WordPressのタイトルを条件によって変更したい、と思い立ちました。

が、wp_titleがない…?

WP4.1からはwp_titleは非推奨となり、wp_headの中で自動生成されるようになったとのこと。

な、なんだって…。

ということで、4.4.2で動くような改造を施してみました。

function original_title_tag() {
	if ( ! current_theme_supports( 'title-tag' ) ) {
		return;
	}

	$flag = _flag();
	if($flag) {
		echo '<title>オリジナルタイトル</title>' . "\n";
	}
	else {
		echo '<title>' . wp_get_document_title() . '</title>' . "\n";
	}
}
remove_action('wp_head', '_wp_render_title_tag', 1);
add_action('wp_head', 'original_title_tag');

function judge_flag() {
	/* is_pageとかやりたい条件分岐を記述、判定させる */
	$flag = true; //$flag = false;

	return $flag;
}
/* ./wp-includes/default-filters.php の _wp_render_title_tag 関数を動かないようにフックを外し、 *
* 独自のtitleタグ部分出力関数(_wp_render_title_tagをコピペして画像検索の条件判定を追加しただけ)をフックさせる */

コメントの通り、デフォルトで用意されている_wp_render_title_tagを封じてオレオレ関数で処理させるという改造。

タグ: カスタマイズ

 



関連する記事一覧