WP タイトルタグ・ディスクリプションのカスタマイズ

タイトルタグ

 * タイトルタグのテキストを変更する
 */
add_filter('document_title_parts', 'my_document_title_parts');
function my_document_title_parts($title)
{
    if (is_home()) {

        $title['title'] = 'コラムの記事一覧 | Acots';
        unset($title['tagline']); //フロントページの場合のキャッチフレーズを非表示
    } elseif (is_category()) {

        $title['title'] = 'コラムの' . $title['title'] . '一覧';
    } elseif (is_tag()) {

        $title['title'] = 'コラムの' .  $title['title'] . '一覧';
    }
    return $title;
}

上記のようにすると TOPページのタイトルはコラムの記事一覧 | Acots

カテゴリページのタイトルはコラムの該当カテゴリ一覧 | Acots

タグ一覧ページのタイトルはコラムの該当タグ一覧 | Acots

ディスクリプション

<?php if (is_home() || is_front_page()) : ?>
    <meta name="description" content="<?php bloginfo('description'); ?>">

<?php elseif (is_category()) : ?>
    <meta name="description" content="<?php echo category_description(); ?>">

<?php elseif (is_tag()) : ?>
    <meta name="description" content="<?php echo tag_description(); ?>">

<?php elseif (is_singular()) : ?>
    <meta name="description" content="<?php echo get_the_excerpt(); ?>">

<?php endif; ?>

TOPでは設定したディスクリプションが表示。 カテゴリ・タグページではカテゴリ・タグで設定したディスクリプションが表示。 シングルページでは抜粋が表示

■もし、カテゴリ一覧・タグ一覧で表示をカスタマイズしたい時(カテゴリのタイトルを使用したい時)

<?php if (is_home() || is_front_page()) : ?>
    <meta name="description" content="<?php bloginfo('description'); ?>">

<?php elseif (is_category() || is_tag()) : ?>
    <meta name="description" content="コラム記事の<?php wp_title(''); ?>一覧です。">

<?php elseif (is_singular()) : ?>
    <meta name="description" content="<?php echo get_the_excerpt(); ?>">

<?php endif; ?>

上記の方法で前後に余白が入る時はfunctions.phpに下記を記述

/**
 * wp_titleの$separatorの余分な余白削除
 */
function my_title_fix($title, $separator, $seplocation)
{
    if (!$separator || $separator == '|') {
        $title = str_replace(' ' . $separator . ' ', $separator, $title);
    }
    return $title;
}
add_filter('wp_title', 'my_title_fix', 10, 3);