VWSとは フォーラム バグ報告と提案 [ 解決済 ] 投稿に表示されるカテゴリーの区切り文字について

[ 解決済 ] 投稿に表示されるカテゴリーの区切り文字について

このトピックには2件の返信が含まれ、2人の参加者がいます。5 ヶ月前 tpyh さんが最後の更新を行いました。

3件の投稿を表示中 - 1 - 3件目 (全3件中)
  • 投稿者
    投稿
  • #15297

    tpyh
    参加者

    お世話になっております。

    投稿ページのentry-footer内で表示してあるカテゴリーのリストですが、カテゴリーが2つの場合は区切り文字がひらがなの「と」、3つ以上の場合は読点(、)になるようです。
    カスタム分類でも同様です。

    このサイト内ですと、以下のページのような状態です。

    カテゴリーが2つの場合
    https://vws.vektor-inc.co.jp/archives/customize_tips/lightning-variety-breadcrumb

    カテゴリーが3つの場合
    https://vws.vektor-inc.co.jp/archives/customize_tips/pale-header-color-custom

    区切り文字は「と」以外ならなんでもよいのですが、2つの場合でも3つ以上の場合でも統一することは可能でしょうか?
    (とにかく「と」をやめたい。)
    もしくは区切り文字を指定できる機能や、カスタム投稿用のテンプレートなどで修正する方法がありましたらご教授いただければ幸いです。

    #15332

    kurudrive
    キーマスター

    子テーマのfunctions.php などに以下のコードを貼り付けるとかわるかと思います。

    add_filter( 'lightning_taxnomiesHtml', 'lightning_taxnomiesHtml_custom' );
    
    function lightning_taxnomiesHtml_custom() {
    	global $post;
    
    	$taxonomies = get_the_taxonomies( $post->ID, $args );
    
    	$terms_html    = '';
    	$taxnomiesHtml = '';
    	if ( $taxonomies ) {
    		foreach ( $taxonomies as $taxonomy => $value ) {
    			if ( $taxonomy != 'post_tag' ) {
    				$taxonomy_info = get_taxonomy( $taxonomy );
    
    				$terms = get_the_terms( get_the_ID(), $taxonomy );
    
    				$count = 0;
    				foreach ( $terms as $term_key => $term ) {
    					if ( $count != 0 ) {
    						$terms_html .= ', ';
    					}
    					$link        = get_term_link( $term->term_id, $taxonomy );
    					$terms_html .= '<a href="' . esc_url( $link ) . '">' . esc_html( $term->name ) . '</a>';
    					$count++;
    				}
    				$taxnomiesHtml .= '<div class="entry-meta-dataList"><dl><dt>' . esc_html( $taxonomy_info->label ) . '</dt><dd>' . $terms_html . '</dd></dl></div>';
    			}
    		} // foreach
    	} // if ($taxonomies)
    	return $taxnomiesHtml;
    }
    #16070

    tpyh
    参加者

    返信が遅くなり申し訳ありません。

    上記コードをfunctions.phpに貼り付けたところ、カスタム投稿では以下のような表示になりました。

    カスタム分類1: カテゴリ1-A, カテゴリ1-B
    カスタム分類2: カテゴリ1-A, カテゴリ1-B, カテゴリ2-A, カテゴリ2-B
    カスタム分類3: カテゴリ1-A, カテゴリ1-B, カテゴリ2-A, カテゴリ2-B, カテゴリ3-A

    希望する表示は

    カスタム分類1: カテゴリ1-A, カテゴリ1-B
    カスタム分類2: カテゴリ2-A, カテゴリ2-B
    カスタム分類3: カテゴリ3-A

    だったので、

    $taxnomiesHtml .= '<div class="entry-meta-dataList"><dl><dt>' . esc_html( $taxonomy_info->label ) . '</dt><dd>' . $terms_html . '</dd></dl></div>';

    の直後に

    unset($terms_html);

    を挿入して解決しました。
    間違っているようでしたらご指摘いただければ幸いです。

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

3件の投稿を表示中 - 1 - 3件目 (全3件中)

このトピックに返信するにはログインが必要です。