WordPress 4.1から テーマのヘッダー(header.php)に titleタグを入れなくてもWordPressがいい感じにタイトルを出力してくれる機能が追加されました。
この機能を使っているテーマは header.phpには titleの項目は無くて、functions.php に add_theme_support( ‘title-tag’ ); が追記されます。
TwentyFifteen とか今後リリースされるテーマがそうなってくると思います。これでヘッダーもスッキリしました。
しかし、タイトル内の区切り線 | を変えるにはどうしたらいい?と質問がありました。
確かにテーマ内にはwp_title関数はどこにも見当たりません。気にもしなかったのですが、こたわる方は変えたいのでしょう。
以前のように add_theme_support( ‘title-tag’ ); を削除して header.php に書き込めばいいのでしょうがこれではTheme Checkに怒られます。
という事で以下のコードを テーマの functions.php に設置すると wp_title関数に引数を送れるようになります。
※WordPress 4.4以降は非推奨になりました。
/* * タイトルタグのレンダリングを停止する * @since WordPress 4.1.0 */ remove_action( 'wp_head', '_wp_render_title_tag', 1 ); /* * タイトルタグをヘッダーに設置 (区切り線を - にする) * * @since WordPress 4.1.0 * License: GPLv2 or later */ function nendebcom_header_title_tag(){ ?> <title><?php wp_title( '-', true, 'right' ); ?></title> <?php } add_action( 'wp_head', 'nendebcom_header_title_tag' );
設置したらサイトのhtmlソースを見て確認しましょう。( titleタグが2重にでてないか..もです。)
*Theme Checkをバスする為に echo は使っていません。
※WordPress 4.4以降はこちらです。
/* * タイトルの区切り線を | にする * * @since WordPress 4.4.0 * License: GPLv2 or later */ function nendebcom_title_separator( $sep ){ $sep = '|'; return $sep; } add_filter( 'document_title_separator', 'nendebcom_title_separator' );
スポンサードリンク
大がかりに変更したい場合
上記の wp_title~ の所を 以下の wp_title関数を参考にがっつりコードを書いてみるもいいかと思います。
※WordPress 4.4未満はこちらです。
wp-includes/general-template.php 内 「function wp_title()」
※WordPress 4.4以降はこちらです。
wp-includes/general-template.php 内 「function wp_get_document_title()」
参考
WordPress Codex Title Tag
http://wpdocs.sourceforge.jp/Title_Tag
WordPress Codex テンプレートタグ/wp title
http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/wp_title
Make WordPress Core Title Tags in 4.1
https://make.wordpress.org/core/2014/10/29/title-tags-in-4-1/