ホーム・サイドバーで投稿記事に合わせたクラスを取得したい
はじめてのWordPressでカスタマイズをしながらブログサイトを作っています。
ホームやサイドバーに表示される記事たちに対してカテゴリーごとにイラストアイコンをつくたく、記事のカテゴリースラッグを取得させてclassへ出力させています。
発生している問題
ホームから見える過去記事一覧はすべて投稿記事に合わせたclassが取得できており、思ったとおりのイラストアイコンが表示されています。
しかし、サイドバーに「最新記事」や「人気の投稿」があり、こちらに思ったとおりのクラスが取得できません。
仮にサイドバーに表示される最新記事がAカテゴリーであってもBカテゴリーであっても、現在表示されているページがCカテゴリーであればすべてのクラスはCとなっています。
投稿記事リンク先のカテゴリーを取得したいのですが、表示中の投稿ページのカテゴリーを取得していると思います。
該当のソースコード
html
1<!-- ホーム --> 2<?php 3$cat = get_the_category(); 4$catid = $cat[0]->cat_ID; // ID 5$catname = $cat[0]->name; // カテゴリ名 6$catslug = $cat[0]->category_nicename; // カテゴリスラッグ名 7$link = get_category_link($catid); // カテゴリURL 8?> 9 10<p class="<?php echo $catslug; ?>"> 11<?php the_category(' ') ?> / <?php the_tags(' ', ' ', ' '); ?></div> 12</p>
html
1<!-- サイドバー --> 2<?php 3$cat = get_the_category(); 4$catid = $cat[0]->cat_ID; // ID 5$catname = $cat[0]->name; // カテゴリ名 6$catslug = $cat[0]->category_nicename; // カテゴリスラッグ名 7$link = get_category_link($catid); // カテゴリURL 8?> 9 10<p class="<?php echo $catslug; ?>"> 11<a href="<?php the_permalink(); ?>" title="<?php the_title(); ?>"> 12<?php echo $catname; ?></a> 13</p>
補足情報(FW/ツールのバージョンなど)
- 使用テーマはGush2です
- 人気の記事、新着記事はプラグインではありません
- 同じようなコードを今回相談しているhome.php、sidebar.php、とは別にsingle.phpにも書いています
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。