サポート » 使い方全般 » 複数のカテゴリでのパンクズについて

  • 解決済 AkitoiRo

    (@dona0513)


    お世話になります。

    現在
    トップ > エリアを選択 > 東京都 > 店名
    トップ > カテゴリを選択 > ケーキ屋 > 店名

    とパンクズを2つ表示しております。

    <?php
    $categories = get_the_category();
    
    if ( $categories ) {
      foreach( $categories as $category ) {
        echo ”<li><a href='http://hoge.jp/wp'>トップ</a> > ".get_category_parents($category->cat_ID,true," > ").get_the_title()."</li>";
      }
    }
    ?>

    で出力しているのですが、投稿記事によって、
    トップ > エリアを選択 > 東京都 > 店名
    トップ > カテゴリを選択 > ケーキ屋 > 店名
    となったり

    トップ > カテゴリを選択 > ケーキ屋 > 店名
    トップ > エリアを選択 > 東京都 > 店名
    と上下が入れ替わったりします。

    トップ > エリアを選択 > 店名
    トップ > カテゴリを選択 > 店名
    も出力されますが、CSSで消しています。

    上記の2つを削除し、
    トップ > エリアを選択 > 東京都 > 店名
    トップ > カテゴリを選択 > ケーキ屋 > 店名
    と順番の表示を固定するにはどのような編集をすればいいのでしょうか…

    宜しくお願い致します。

    • このトピックはAkitoiRoが2年、 9ヶ月前に変更しました。
    • このトピックはAkitoiRoが2年、 9ヶ月前に変更しました。
    • このトピックはAkitoiRoが2年、 9ヶ月前に変更しました。
3件の返信を表示中 - 1 - 3件目 (全3件中)
  • こんにちは

    親カテゴリー ID(parent)でソートするのではどうでしょうか。

    $categories = get_the_category();
    if ( $categories ) {
    	usort( $categories, function( $a, $b ) { return( $a->parent < $b->parent ); } );

    順番が逆の場合は、

    usort( $categories, function( $a, $b ) { return( $a->parent > $b->parent ); } );

    CSS で消しています。

    子カテゴリー(「東京都」「ケーキ屋」)は親カテゴリーが存在するので parent が 0 以外になります。これで子カテゴリーかどうかを判定できます。

    if ( $category->parent )

    • この返信は2年、 9ヶ月前にishitakaが編集しました。理由: 誤記

    無事表示できました。
    ありがとうございました。

    閉めます。

3件の返信を表示中 - 1 - 3件目 (全3件中)
  • トピック「複数のカテゴリでのパンクズについて」には新たに返信することはできません。