ループの中で記事のカスタムタクソノミーのタームスラッグを取得する(WP)

今回はWordPressのスニペットを一つ紹介します。

MixItUpというjQueryプラグインを使って絞込をするため、呼び出す記事ごとにカスタムタクソノミーのタームスラッグをclassにつけたい!という時に調べたスニペットです。

具体的には、「gallery」と言うカスタム投稿
「season」と言うカスタム分類でタームが「spring、summer、autumn、winter」といった時にすべての記事のサムネイルを呼び出していて、春というボタンをクリックしたら、サムネイルを絞り込んで春の写真だけを表示するという実装のシチュエーションで考えてみます。

<?php $terms=wp_get_object_terms($post->ID,'season');foreach($terms as $term){echo $term->slug.' ';}?>

mixitupと合わせて、サムネイルの表示もすると下記のような感じです。(mixitupの使い方は公式サイトを参照して下さい。→MixItUp

<div class="mix <?php $terms = wp_get_object_terms($post->ID,'season'); foreach($terms as $term){echo $term->slug. ' ';} ?>">
  <a href="<?php the_permalink(); ?>">
	<?php if (has_post_thumbnail()) {
	    the_post_thumbnail('gallery');
	}else {
	echo '<img src="http://placehold.jp/110x110.png" alt="" />';
        }
        ?>
    </a>
</div>

実際出力されるコードは、

<div class="mix spring">
  <a href="https://yusukexp.com/hogehoge/">
	<img src="http://placehold.jp/110x110.png" alt="" />';
    </a>
</div>

のようになります。とりあえずこれで実装しましたが、もっと簡単に実装出来そうな気がしてなりません。誰か教えて頂けたら嬉しいです!!\(^o^)/

RSSでブログを購読する!

follow us in feedly RSS subscribe

Yusukexp