get_the_category()で記事のカテゴリ名を表示したい
-
TOPページ、サイドバーに投稿記事の属するカテゴリー名を表示させたいです。
index.phpやsidebar.phpに以下のようなquery_postsのコードを組んでいます。
・index.phpの一部<?php $cat = get_the_category(); $catname = $cat[0]->cat_name; //カテゴリー名 query_posts('posts_per_page=5&cat=ID番号(1,2・3,5,6など複数)'); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <dt><?php the_time('Y.m.d') ?></dt> <dd><span class="cat"><?php echo $catname; ?></span> <a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></dd> <?php endwhile; endif; ?> <?php wp_reset_query(); ?>
・sidebar.phpの一部
<?php $cat = get_the_category(); $cat = $cat[0]; $catname = $cat->cat_name; //カテゴリ名 query_posts('posts_per_page=5&cat=ID番号(1,2・3,5,6など複数)'); ?> <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?> <li><?php the_time('Y.m.d') ?><br /> <span class="cat"><?php echo $catname; ?></span><br /> <a href="<?php echo get_permalink() ?>"><?php the_title(); ?></a></li> <?php endwhile; endif; ?> <?php wp_reset_query(); ?> </ul>
現状、親カテゴリーA,Bとその中に小カテゴリーが2,3つ入っています。
TOPページは、
【親カテゴリーA】
0000/00/00 カテゴリー名 記事タイトル
0000/00/00 カテゴリー名 記事タイトル
【親カテゴリーB】
0000/00/00 カテゴリー名 記事タイトル
0000/00/00 カテゴリー名 記事タイトル
サイドバーは
【親カテゴリーA】
0000/00/00
カテゴリー名
記事タイトル
0000/00/00
カテゴリー名
記事タイトル
【親カテゴリーB】
0000/00/00
カテゴリー名
記事タイトル
0000/00/00
カテゴリー名
記事タイトルとなってほしいのですが、カテゴリーの箇所が、
TOPページでは記事のカテゴリー名がすべて最新の記事のカテゴリー名で表示され、
内部ページのサイドバーには空欄ができています。
初めは wp_reset_query が抜けていたかと思ったのですが、そうでもなさそうで記事を投稿するとカテゴリーの表示が変わるため、<?php echo $catname; ?>の部分が最新記事のカテゴリーしか表示させていないということは分かりましたが、何が問題なのかわかりませんでした。
query_posts - reset_query は同じページに複数使うとデータが上書きされるなどということなのでしょうか。
(的外れでしたらすみません。)
アドバイスをいただけると助かります。
よろしくお願い致します。———————
・WordPress のバージョン
4.2.2
・使用しているプラグインとテーマの情報(名称、入手先 URL、バージョン)
自作
・PHP、MySQL のバージョン、サーバー環境(ホスティングサービス名、OS、ウェブサーバー等)
phpは5.6です。hetemlを使用しています。
・ブラウザとそのバージョン
最新のgooglechrome
- トピック「get_the_category()で記事のカテゴリ名を表示したい」には新たに返信することはできません。