サポート » 使い方全般 » 親・子カテゴリーの表示

  • category.phpやsingle.phpのループ内で各記事の親カテゴリと子カテゴリを表示したいと考えています。
    現状、

    $cat = get_the_category();
    $pid = $cat[0]->parent;
    $t = get_term_by( '', $pid, 'category' );
    echo '<span>' . $t->name . '</span>/';
    echo '<span>' . $cat[0]->name . '</span>';

    としており、
    この場合、管理画面で子カテゴリのみにチェックを入れると、正常に 親カテゴリ/子カテゴリ と表示されるのですが、
    親子両方にチェックを入れていると、うまく表示できない場合があります。

    親子両方にチェックを入れた状態で正常に表示させるにはどうすればよいのでしょうか。
    ご教授頂ければ幸いです。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • モデレーター Takuro Hishikawa

    (@hissy)

    質問の際は、最終的にどうしたいのかを明確に書かれた方が、回答が付きやすいと思います。「正常」がどういう状態なのか、どういう仕様にしたいのか、ご質問からは読み取れませんでした。その上でアドバイス致しますと、get_the_category() 関数は、投稿のカテゴリーを配列で取得します。$cat[0] と書いている時点で、配列から1つめのカテゴリーを取り出して使っています。したがって、親子など2個以上のカテゴリーが選択されている場合に、片方が消えるのは必然です。foreach文などを用いて、配列内の全ての要素について処理する必要があるでしょう。

1件の返信を表示中 - 1 - 1件目 (全1件中)
  • トピック「親・子カテゴリーの表示」には新たに返信することはできません。