• 締切済み

wordpressのカテゴリ名表記について

wordpressのカテゴリ名表記について下記のようなカテゴリ構造の場合 (1)大カテ1>小カテ1>記事1 (2)大カテ2>小カテ2>記事2 投稿ページ内にカテゴリ名(小カテ名)を表記するために下記のようなソースを書きました。 <?php $cat_now = get_the_category(); $cat_now = $cat_now[0]; ----------------(A) $now_name = $cat_now->cat_name; echo $now_name; ?> しかし一部のページで大カテ名が表記されてしまいます。 そのため、上記のソースの(A)の箇所を $cat_now = $cat_now[1]; に変更すると問題のあったページは小カテ名が出るのですが、 今度はこれまで上手くいっていたページが大カテ名が出てしまいます。 これは何が問題なのでしょうか。 どなたかご教授頂ければ、非常に助かります。よろしくお願い致します。

みんなの回答

回答No.1

配列 $cat_now は、カテゴリーのID順(名前順だったかも)に格納されています。 親,子の順番に格納されているわけではありません。 $cat_now = get_the_category(); $cat_now = $cat_now[0]; if ($cat_now->category_parent==0) { $now_name = $cat_now[1]->cat_name; } else { $now_name = $cat_now[0]->cat_name; } echo $now_name;

関連するQ&A

  • [wordpress] 固定ページで、カテゴリ名の

    [wordpress] 固定ページで、記事の一覧を表示し、その記事の属するカテゴリ名の表示 wordpressで、商品一覧ページを作成していて、一覧を表示するページは固定ページにしています。 その商品一覧の中で、記事(商品)の属するカテゴリ名を表示させたいのですが どうすればいいでしょうか? 商品が服なので、その商品が属するカテゴリを項目の一つとして出力したいのです。 つまり『抽出した商品毎(have_post()の出力結果)にカテゴリ名を抽出』という感じです。 具体的なソースも教えて頂けると助かります。 <?php the_category(); ?> はダメでした。 [参考ソース] <div id="collectionWrap" class="clearfix"> <?php $loop = new WP_Query( array( 'post_type' => 'collection', 'posts_per_page' => 8 ) ); while ( $loop->have_posts() ) : $loop->the_post(); ?> <div class="collection"> <div class="image"> <a href="<?php the_permalink() ?>"><?php echo wp_get_attachment_image(get_post_meta($post->ID,"画像",true),'medium' ); ?></a> </div> <div class="txt"> <div class="clearfix mb10"> <p class="upDate"><?php echo get_post_meta($post->ID,"性別",true); ?></p> <p class="seasons"> <span> /*ここにカテゴリの種類を出力 */ </span></p> </div> <p class="itemName"><a href="<?php the_permalink() ?>"><?php the_title(); ?></a></p> <p class="itemPrice">&yen;&nbsp;<?php echo get_post_meta($post->ID,"価格",true); ?></p> </div> </div> <?php endwhile; ?> <?php wp_reset_query(); ?> </div> どうかよろしく御願いします。足りない情報等あればおっしゃってください。 自分でもいろいろ調べてるのですが、わかりません。。急いでます。

    • ベストアンサー
    • PHP
  • wordpress カテゴリのパーマリンク

    こんにちは、 wordpressのカテゴリのパーマリンク?の設定についてお聞きしたいのですが 現在、下記のようにIDがついているのですが 各記事 http://www.~~/blog/?p=154 各カテゴリ http://www.~~/blog/?cat=1 これをカテゴリだけスラッグ(category1)?の値を入れたい 各記事 http://www.~~/blog/?p=154 各カテゴリ http://www.~~/blog/?category1 そのような事出来るでしょうか?

  • WordPress カテゴリーページをトップページに設定できないでしょうか?

    WordPressを使用してサイトを作成しています。 サイトのトップページを、「新着記事」や「ページ」ではなく、 あるカテゴリーページにしたいのですがうまくいきません。 トップに表示させたいカテゴリーページのURLは http://test.com/?cat=99 なので、.htaccess に下記のように記述してみました。 DirectoryIndex index.php?cat=99 こうすると、http://test.com にアクセスしたとき 実際には http://test.com/?cat=99 が表示され、一応うまくいきました。 しかし、他のカテゴリーページや、単一記事のページにアクセスしたときも http://test.com/?cat=99 が表示されてしまいます。 (例えば http://test.com/?cat=123 にアクセスしても http://test.com/?cat=99 のページが表示されてしまうのです。) リンクの書き方を、ファイル名を省略しないで”index.php?cat=XX”と記述すれば、 きちんとそのページが表示されるのですが、 例えば、管理画面の「この投稿を表示」で表示するプレビュー画面のURLなどは 変更することができないため、どの記事をプレビューしても http://test.com/?cat=99 のページが表示されてしまいます。 .htaccessを使ったやり方に無理があるのでしょうか? 他によい方法をご存知の方がいらっしゃいましたら教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • 【WordPress】投稿がないカテゴリ非表示方法

    【WordPress】 投稿がないカテゴリー 非表示 方法 カテゴリーの1つを決め すべての子カテゴリーと投稿を表示させる際に、 子カテゴリー内に投稿がない場合、 子カテゴリー名を表示させないようにしたいです。 下記のソースでうまくいきませんでした。 <?php $chihirdren=get_categories( 'parent=5&hide_empty=0&orderby=slug&order=DESC'); foreach($chihirdren as $child){ ?> <?php if(have_posts()):?> <h2><?php echo $child->cat_name ?></h2> <?php else: // no post ?> <?php endif; ?> <?php $wp_query->query(array('cat'=>$child->cat_ID,'posts_per_page'=>-1)); while ($wp_query->have_posts()) : $wp_query->the_post(); ?> <h3><?php the_title(); ?></h3> <?php endwhile; } ?> 大変申し訳ございません。 ご教授をお願いいたします。。

    • ベストアンサー
    • PHP
  • wordpress カテゴリスラッグ名を複数出力

    $cat = get_the_category(); $cat = $catClass[0]; echo $cat->category_nicename; 上記でカテゴリスラッグ名の一覧は取得できると思いますが、 記事が複数のカテゴリにまたがる場合でも一つ分しか表示されません。 両方出力したいのですがどうすればよいでしょうか? (ちなみに出力されたものは画像名に使うので順番も制御したいです。)

    • ベストアンサー
    • PHP
  • WORDPRESSのカテゴリーページについて

    WORDPRESSでカテゴリーページを設定しましたが、記事の投稿をせずにカテゴリーページが表示されるようにすることは可能でしょうか? 複数のカテゴリーページを作成しましたが、現状ではそのカテゴリーに紐付けた記事が無いため、記事を投稿するまで説明文のところで情報を記入して表示されるようにしたいと考えています。 ご存じの方がおられましたら、ご教示よろしくお願いします。

    • 締切済み
    • CSS
  • WordPressのカテゴリページにhtmlで表示

    WordPress初心者です。 ついに行き詰まってしまったので質問させていただきます。 カテゴリーページについて、あるカテゴリーで投稿したブログ記事がそのカテゴリーページに表示される訳ですが、現状<h2>タグでくくられたタイトルをクリックすると記事の詳細ページに飛びます。 カテゴリーページに記事の本文は<p>タグでくくられて、テキストが流れている状態です。 そうではなくて、カテゴリーページで簡潔させたいのです。 記事の本文に<table>などのhtmlタグを入力しているのに、カテゴリーページに表示されている記事の本文を見ると、<table>などのhtmlタグはまったくなくなっていて、すべて<p>でくくられてしまっています。 記事の本文に入れているhtmlソースをそのままカテゴリーページに表示させることはできないのでしょうか? 方法があれば、それについて記載されているURLなど教えていただけると幸いです! よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • WordPressについて教えてください。

    WordPressについて以下のようなことが可能かお教え願います。 例えば、 1.カテゴリーに「日記」と「お知らせ」というものを作り、そのカテゴリーごとの記事を書くとします。 2.それを表示する時に、トップページ(index.php)では、以下のような表記で日付とカテゴリー名、記事タイトルをリンクでその記事ページに飛べるように表示する。 ○月○日 日記:ほにゃららに行きました。 ○月△日 お知らせ:ツイッターを始めました。 3.トップページに、「日記」と「お知らせ」のメニューボタンを設置して、日記メニューをクリックしたら日記カテゴリーだけの記事、お知らせメニューをクリックしたらお知らせカテゴリーだけの記事だけが表示されるページを表示する。 それぞれのページは異なるデザインにする。 カスタマイズすることで、上記のようなことを実現することは可能でしょうか?

    • ベストアンサー
    • PHP
  • wordpressのdescription設定

    wordpress、phpの初心者です。 SEO対策のために、descriptionを全ページ、コンテンツに適したもので出力できればと思い、 ・トップページは一般設定の「キャッチフレーズ」 ・カテゴリーページは「カテゴリーの説明文」 ・投稿ページは「カスタムフィールド」 ・それ以外、及びカスタムフィールドが入力されていない投稿ページは「ページタイトル | 一般設定のキャッチフレーズ」 上記の用に出力できるよう、ググって色んなサイトを参考に下記のように記述したのですが、 真っ白になって表示されません。 <?php if (is_home()) { echo '<meta name="description" content="<?php bloginfo('description'); ?>" />'; } elseif (is_category()) { echo '<meta name="description" content="<?php echo category_description(); ?>" />'; } elseif(is_single()){ echo '<meta name="description" content="<?php echo get_post_meta($post->ID,'description',true);?>" />'; } else { echo '<meta name="description" content="<?php wp_title('|', true, 'right'); bloginfo('description'); ?>" />'; }?> プラグインもイマイチ希望のものが見つからず、 何とか試行錯誤しているのですが、未だに解決出来ずにいます。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • WordPressのカテゴリートップページについて

    WordPress2.9.2を使用しています。 各カテゴリーのトップページには、属するアーカイブのタイトル、日付、そして記事全文が表示されてしまいますが、タイトルのみ表示させるにはどうしたらよいのでしょうか。

専門家に質問してみよう