[WordPress General] Document Title の出力とカスタマイズをする
add_theme_support( ‘title-tag’ ) をカスタマイズします。
[markdown]
## 利用するタグ
### before
以前のバージョンでは `wp_title` を利用していました。
> * [テンプレートタグ/wp title – WordPress Codex 日本語版](https://wpdocs.osdn.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)
“`php
“`
### after
WordPress v4.1 から `add_theme_support( ‘title-tag’ );` を利用することで、`wp_head()` に簡単出力できるようになりました。
> * [タイトルタグ – WordPress Codex 日本語版](https://wpdocs.osdn.jp/%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB%E3%82%BF%E3%82%B0)
“`php
add_theme_support( ‘title-tag’ );
“`
## コード
– セパレーターの変更。
– タイトルにカテゴリーを追加。
“`php:functions.php
add_theme_support( ‘title-tag’ );
/**
* ドキュメントの投稿タイトルのセパレーターを変更する
*
* @return string The filtered title.
*/
function custom_title_separator() {
$sep = ‘|’;
return $sep;
}
add_filter( ‘document_title_separator’, ‘custom_title_separator’ );
/**
* ドキュメントの投稿タイトルにカテゴリを追加する
*
* @param string $title Default title text for current view.
* @return string The filtered title.
*/
function add_category_to_the_document_title( $title ) {
if ( is_single() ) {
$categories = get_post_categories();
$title[‘title’] = ‘[‘ . $categories . ‘] ‘ . $title[‘title’];
}
return $title;
}
add_filter( ‘document_title_parts’, ‘add_category_to_the_document_title’, 10, 1 );
/**
* 投稿の所属するカテゴリを求める
*
* @param string $sep Optional separator.
* @return string The categories.
*/
function get_post_categories( $sep = ‘, ‘ ) {
$category_array = array_map( create_function( ‘$category’, ‘return $category->name;’ ), get_the_category() );
return join( $sep, $category_array );
}
“`
## 補遺
> * [WordPress4.4以降でtitleタグをカスタマイズする方法 | Glatch(グラッチ) – 夫婦で活動するフリーランスWeb制作ユニット](http://glatchdesign.com/blog/web/wordpress/1070)
[/markdown]