WordPress3.1の現在のカテゴリーの見出し表示についてお伺いします。初心です。

ナビメニューなどでカテゴリーで現在いる子カテゴリーの見出し(カテゴリー名)のみリストID順表示したい場合の
タグの書き方をお教えください。

また、ループ内にて子カテゴリーの見出しをタイトルにして 以下に記事のタイトルを表示したいと思います。
子カテゴリー + description (小さく)出したいのです。
下記はH2は親がでてしまいました。またdescriptionは表示されませんでした。
<?php $category = get_the_category(); ?>
<h2><?php echo $category[0]->cat_name ?> <span class="s2"><?php echo category_description(', ') ?></span></h2>
よろしくお願いします。

回答の条件
  • URL必須
  • 1人5回まで
  • 13歳以上
  • 登録:2011/06/18 22:05:37
  • 終了:2011/06/25 22:10:03

回答(0件)

回答はまだありません

  • id:rouge_2008
    > カテゴリーで現在いる子カテゴリーの見出し(カテゴリー名)のみリストID順表示したい


    質問文では「現在いる子カテゴリーの見出し」とあるのですが、現在いるのは親カテゴリーで、「現在いるカテゴリーで、子カテゴリーの見出し(カテゴリー名)のみリストID順表示したい」でしょうか?
    それとも、子カテゴリーにいる時に、さらに子カテゴリー(※孫カテゴリー)がある場合に表示したいのでしょうか?

    親カテゴリー
    - 子カテゴリー1
    - 孫カテゴリー1-1(子カテゴリー1を表示している時リスト表示する)
    - 孫カテゴリー1-2(同上)
    - 子カテゴリー2
    - 孫カテゴリー2-1(子カテゴリー2を表示している時リスト表示する)
    - 孫カテゴリー2-2(同上)
    - 孫カテゴリー2-3(同上)
    - 子カテゴリー3(該当カテゴリがないのでリスト表示しない)

    やりたい事が良く分からなかったので、もう少し詳しく教えてください。
    ※例として、上記のようにカテゴリー構造とどのカテゴリーを表示するかを教えてもらった方が回答しやすいと思います。
  • id:Becky_moni
    失礼しました
    親カテゴリA
     --子カテゴリ1
    --子カテゴリ2
    親カテゴリB
     --子カテゴリ3 ←現在いる場所
    --子カテゴリ4
    親カテゴリC
     --子カテゴリ5
    --子カテゴリ6
    --------------
    上記を兄弟の子カテゴリーのみリスト表示させリンクを張りたいのですが。

    子カテゴリ3 ←現在の場所
    子カテゴリ4

    --------------

    また、singleで商品の詳細ページを出すようにしてますが、
    見出しで ”子カテゴリ3”というタイトルと descriptionを取り出し表示させたいのですが。
    このときにリンクは入りません。
    上記のテンプレートへの書き方をお教えください。

    ずーっと調べていましたがなかなか見つからず get_category_childrenという関数がつかるようですが、親まで表示されてしまうようでした。


    また、シングルページでカテゴリーを取得する方法はありますか?
    説明が悪くてすみません。
  • id:rouge_2008
    兄弟の子カテゴリーのみ表示させると言うのは、例では子カテゴリ3と子カテゴリ4が兄弟の子カテゴリーの関係にあって、この2つのみリスト表示させると言う事ですか?
    ※親カテゴリと子カテゴリの2階層で、3階層目のカテゴリーは存在しないと言う事で大丈夫ですか?


    シングルページでのカテゴリーの取得については、get_the_category()で大丈夫なはずです。
    親カテゴリーが表示されたというのが分からないのですが、現在のカテゴリー(商品の詳細ページが入っているカテゴリー)が表示されませんでしたか?
    「category_description()」は、カテゴリーアーカイブページ以外で利用する場合は、引数としてカテゴリーIDを整数で渡す必要があるようです。
    http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/category_description
    せっかく「get_the_category()」を使用しているのですから、descriptionもこちらで取得した物を使用します。
    (「category_description()」では、改行が入ってしまいますし・・・)
    以下のようにしてみてください。

    <?php $category = get_the_category(); $cat_name = $category[0]->cat_name; $cat_desc = $category[0]->category_description ;?><h2><?php echo $cat_name ;?>&nbsp;-&nbsp;<span class="s2"><?php echo $cat_desc ;?></span></h2>


    ※descriptionを表示するには、カテゴリーの説明文を設定しておく必要があります。
  • id:rouge_2008
    もしかしてその記事は、親フォルダと子フォルダの両方にチェックを入れていますか?
    以下のようにしてみてください。

    <?php $category = get_the_category(); $cat = array_reverse($category); $cat_name = $cat[0]->cat_name; $cat_desc = $cat[0]->category_description ;?><h2><?php echo $cat_name ;?>&nbsp;-&nbsp;<span class="s2"><?php echo $cat_desc ;?>
  • id:Becky_moni
    rouge_2008さん いろいろありがとうございます。
    親がでるという意味は



    という感じに全部でてしまうという意味です。
    悩んでいただき、頂いたスクリプト感謝しております。
    自分には手に負えないこととおもい断念してしまいました。
  • id:rouge_2008
    ※書き直し再投稿です。

    「親、子、子」が全部出るという事は、その詳細ページの投稿がそのすべてのカテゴリー(親、子、子)に属していると言う事だと思います。
    最後に提示したコードでは、一番小さな(下の)カテゴリーだけが表示されるはずですが、駄目だったのでしょうか?
    商品詳細ページという事ですから、より小分類のカテゴリーに属する事はあっても、兄弟カテゴリに属する事はほとんどないと思います。
    もし兄弟カテゴリにも属しているのでしたら、カテゴリー分類をもう一度見直してみてください。

    例)以下のようなカテゴリー構造になっている場合に、メーカーAの●●シリーズのノートでしたら、「文房具」「ノート」「メーカーA」「メーカーA(●●シリーズ)」の4つに属する事になりますが、他のカテゴリーは商品のシリーズまたはメーカー、あるいは商品その物の分類が違うので、他のカテゴリーには属しません。

    文房具
     -ノート
     --メーカーA
     ---メーカーA(●●シリーズ)
     ---メーカーA(◎□シリーズ)
     --メーカーB
     ---メーカーB(○□シリーズ)
     --メーカーC
     ---B5サイズ
     ---A4サイズ
     -鉛筆
     -消しゴム

    (※「-」の個数で親子関係を判断してください。)


    『断念してしまいました。』との事ですが、商品の詳細ページで見出しとしてカテゴリー名とカテゴリーの説明文(description)を出すのは動作するはずですので・・・
    記事のカテゴリー分類、あるいはカテゴリーの構造に問題がないか確かめてみてください。
    質問締め切り後に失礼しました。
  • id:Becky_moni
    rouge_2008さん 本当にありがとうございます。
    なんでかがようやくわかりました。
    カテゴリーのボタンですが、子カテゴリのみとか 親と両方にチェックが入ってないと
    ダメみたいでした。
    なんて遠回りしてしまったんだろう。
    自分には手に負えなかったので人にお願いしてしまいました。
    本当に感謝しております。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません