サポート » 使い方全般 » 投稿ページ(single.php)のサイドバーに表示記事のカテゴリ一覧を表示したい

  • 解決済 yukarinote

    (@yukarinote)


    現在カテゴリページ(categoly.php)に表示中カテゴリの記事一覧を下のコードで表示しています。
    <?php
    $catname= single_cat_title(“”,false);
    $cat=get_cat_ID($catname);

    if (is_home() == False) {

    if (have_posts()) : query_posts(“&posts_per_page=-1&cat=$cat”); ?>

    <?php } ?>

    記事リンクをクリックして特定記事を表示させた後も、
    サイドバーの表示が変わらないようにしたいのですが、どうすればよいのでしょうか。

    ちなみに、記事は一つのカテゴリしか属しませんし、カテゴリに親や子の構造はありません。

    どうしてもこれができず、二日間迷っております。
    よろしくお願いいたします。

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

    (@jim912)

    yukarinoteさん、こんにちは。

    query_postsのパラメータで使われている $cat がカテゴリーでも投稿でも同じなれば良いことになります。

    投稿表示の場合、single_cat_title でカテゴリー名を取ることができないので、$catの指定もなくなり、結果的に内容が変わってしまいます。

    では、投稿の場合はどうすればよいかというと、get_the_categoryを使います。
    複数のカテゴリーに属している場合は問題になりますが、幸いにカテゴリーは1つにしか属していないということなので、得られた配列の最初のものを利用すればカテゴリーと同じように表示できます。

    ちなみに上記コードだと、年月アーカイブや、投稿タグ、検索結果などの場合にも全投稿が表示されてしまうことになると思うので、

    if (is_home() == False) {

    の条件分岐は、少々検討された方がよいかもしれません。

    トピック投稿者 yukarinote

    (@yukarinote)

    jim912さん。どうもありがとうございました。
    get_the_categoryで実現できました。
    こちらの変数の方が、いろいろな場合に対応できて便利そうです。

    初め配列から変数が取得できなくて、
    arrey表示に泣かされましたが、無事使えるようになりました。

    これからも応用がききそうです。

    大変助かりました。
    また、困ったらお願いすることもあるかと思います。

    is_homeの分岐の件はちょっと検討してみます。

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

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「投稿ページ(single.php)のサイドバーに表示記事のカテゴリ一覧を表示したい」には新たに返信することはできません。