サポート » 使い方全般 » 複数カテゴリでの所属名取得

  • 解決済 AkitoiRo

    (@dona0513)


    カテゴリページにて現在の表示されている場所のカテゴリ名を取得したいです。

    ■先祖
     ●親
      -子
      -子2
      -子3
       =孫

    とカテゴリがあり、
    子を表示中は先祖名は非表示で「親>子」
    孫表示中は先祖名非表示で「親>子3>孫」
    とリンク無しで表示したいのですが、プログラミングが書けず色々探しているのですが
    なかなか見つかりません。

    先祖も取得する事はできたのですが、先祖は除外したいです。
    どのようにすれば可能でしょうか?

    現在のコード
    <?php
    $category = get_queried_object();
    if ( $category->parent != 0 ):
    $ancestors_arr = get_ancestors($category->cat_ID, ‘category’);

    $ancestors_arr = array_reverse($ancestors_arr);

    foreach ( $ancestors_arr as $ancestor ): ?>
    <?php echo get_cat_name($ancestor);?>
    <?php endforeach;
    endif;
    ?>
    <?php single_cat_title(); ?>

    です。宜しくお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • コードはバッククオートで囲ってください。

    これでどうですか?

    
    <?php
    $category = get_queried_object();
    if ( $category->parent != 0 ):
    	$ancestors_arr = get_ancestors($category->cat_ID, 'category');
    	$ancestors_arr = array_reverse($ancestors_arr);
    	unset( $ancestors_arr[0] );
    		foreach ( $ancestors_arr as $ancestor ):
    			echo get_cat_name( $ancestor );
    		endforeach;
    endif;
    if ( !empty( $ancestor )) {
    	echo '>';
    }
    single_cat_title();
    ?>

    変換されてますが、if ( !empty( $ancestor )) {の下&は半角で echo ‘&gt;’;としています。
    まぁどっちでも良いですけどね 

    • この返信は2年、 11ヶ月前にmanboが編集しました。
    • この返信は2年、 11ヶ月前にmanboが編集しました。
    • この返信は2年、 11ヶ月前にmanboが編集しました。

    コードまでありがとうございます!
    無事希望通り表示出来ました。

    また何かありましたら宜しくお願い致します。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「複数カテゴリでの所属名取得」には新たに返信することはできません。