サポート » 使い方全般 » タイトルにカテゴリ名(スラッグ)を入れるには?

  • 解決済 tako86

    (@tako86)


    訳あって記事タイトルの同じものが複数存在します。
    そこで、タイトルにカテゴリ名を入れタイトルの重複を回避するために、下記のようにしました。
    これでも特に問題はないのですが、もう少しスマートな記述があるのでは?と思い投稿しました。

    function my_document_title_separator() {
        if( is_single() ) {
            if( in_category( 'category-a' ) ) {
                $sep = '【カテゴリA】-';
            } elseif ( in_category( 'category-b' ) ) {
                $sep = '【カテゴリB】-';
            } else {
                $sep = '【カテゴリC】-';
            }
        } else {
            $sep = '-';
        }
        return $sep;
    }
    add_filter( 'document_title_separator', 'my_document_title_separator' );
    

    上記の場合、「記事タイトル+space+(【カテゴリ名】+セパレータ)+サイト名」となりますが「記事タイトル+【カテゴリ名】」のようにシンプルにしたいと考えております。

    アドバイスをよろしくお願いいたします。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは

    document_title_parts フィルタフックではどうでしょうか。

    例:

    function my_document_title_parts( $title ) {
    	if ( is_single() ) {
    		if ( in_category( 'category-a' ) ) {
    			$title['title'] .= ' -【カテゴリA】';
    		} elseif ( in_category( 'category-b' ) ) {
    			$title['title'] .= ' -【カテゴリB】';
    		} else {
    			$title['title'] .= ' -【カテゴリC】';
    		}
    		// サイトタイトルを削除
    		unset( $title['site'] );
    	}
    	return $title;
    }
    add_filter( 'document_title_parts', 'my_document_title_parts' );
    • この返信は5年、 9ヶ月前にishitakaが編集しました。
    トピック投稿者 tako86

    (@tako86)

    ishitaka 様

    まさに私が望んでいたものです。
    大変助かりました。

    ありがとうございました。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「タイトルにカテゴリ名(スラッグ)を入れるには?」には新たに返信することはできません。