[WordPress General] Document Title の出力とカスタマイズをする
add_theme_support( ‘title-tag’ ) をカスタマイズします。
Contents
利用するタグ
before
以前のバージョンでは wp_title
を利用していました。
<title><?php wp_title( '|', true, 'right' ); bloginfo('name'); ?></title>
after
WordPress v4.1 から add_theme_support( 'title-tag' );
を利用することで、wp_head()
に簡単出力できるようになりました。
add_theme_support( 'title-tag' );
コード
- セパレーターの変更。
- タイトルにカテゴリーを追加。
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 );
}