WordPressのカテゴリ表示に悩まされた話

WordPressのテンプレートカスタマイズの勉強中にハマりました・・・。

テンプレートのカスタマイズは初めてなんですが、ネットで見ると超簡単!などと方法がでていたので、「調べながらすぐできるでしょ」と安易な気持ちではじめたのですが、大ハマり。中々の時間をロスしてしまいました。

<li class="first">
  <a href="<?php the_permalink(); ?>">
      <figure>
          <?php echo get_the_post_thumbnail( $page->ID, 'first-size' ); ?>
	<figcaption>
                     <?php the_title(); ?><br>
	     <span class="date"><?php the_time('Y.n.j'); ?></span><span class="cat"><?php the_category(' '); ?></span>
	</figcaption>
      </figure>
   </a>
</li>

最新記事のループがしたくて、上記のようなコードを書いていたのですが、なぜか、<a>タグの子孫要素全てに<a>タグが付与される(コピーされる)という挙動になって、悩みました。どうやら、<figcaption>内のthe_category(' ');が問題でした。リンクありのカテゴリ名が表示されてしまうんですね。(リファレンスをちゃんと読んでませんでした・・・。)リンク内にリンクを挿入することになるので、wp側で補正されてこうなったようです。

修正したものが以下です。無事解決しました。

<?php $cat = get_the_category(); ?>
<?php $cat = $cat[0]; ?>
<?php echo get_cat_name($cat->term_id); ?>

参考にしたサイト