【WordPress】タームのリストを出力したい

タームを出力したいことよくありますよね。

投稿に設定されているすべてのタームを出力する

投稿に設定されている全てのタームを出力します。

<?php
$terms = get_terms( [$taxonomies] ); //任意のタクソノミーを指定
if ( $terms ) :
	?>
	<ul>
		<?php foreach ( $terms as $term ) :
			?>
			<li>
				<a href="<?php echo get_term_link( $term ); ?>"><?php echo $term->name; ?></a>
			</li>
		<?php endforeach; ?>
	</ul>
<?php endif; ?>

投稿数トップ10のタームを出力する

投稿数の多い順で10つまで出力する設定です。

<?php
$args = array(
	'orderby' => 'count',
	'order'   => 'DESC'
);
$terms = get_terms( [$taxonomies], $args ); //任意のタクソノミーを指定
if ( $terms ) :
	?>
	<ul>
		<?php $max_display_num = 10; ?>
		<?php for ( $i = 0; $i < $max_display_num; $i++ ) : ?>
			<li>
				<a href="<?php echo get_term_link( $terms[$i] ); ?>"><?php echo  $terms[$i]->name; ?></a>
			</li>
		<?php endfor; ?>
	</ul>
<?php endif; ?>

投稿数トップ10のタームを出力する+投稿数表示

投稿に設定されている数を表示させています。

<?php
$args = array(
	'orderby' => 'count',
	'order'   => 'DESC'
);
$terms = get_terms( [$taxonomies], $args ); //任意のタクソノミーを指定
if ( $terms ) :
	?>
	<ul>
		<?php $max_display_num = 10; ?>
		<?php for ( $i = 0; $i < $max_display_num; $i++ ) : ?>
			<li>
				<a href="<?php echo get_term_link( $terms[$i] ); ?>"><?php echo $terms[$i]->name; ?> <?php echo $terms[$i]->count; ?></a>
			</li>
		<?php endfor; ?>
	</ul>
<?php endif; ?>

参考

備考

タームの並べ替えを可能にするプラグイン「Category Order and Taxonomy Terms Order」を入れていると機能がバッティングして上記のコードが正常に動作しない場合があります。

石井秀幸@WEBデザイナー
横浜WordPress Meetup 主宰/株式会社ノクチ基地 取締役/モンゼンクリエイティブ合同会社 代表
WEB制作に関する技術や役立つ情報を発信していきます。10年にわたるWordPress歴を背景に、幅広いアイデアを形にするお手伝いをしています。