get_terms() – 複数のタクソノミーを出力する

get_terms()'taxonomy'に複数の値を指定することで複数のタクソノミーを取得することが可能です。下記は例になります。

$terms = get_terms([
	'taxonomy' => ['custom-cat', 'custom-tags'],
]);

また下記のような記述も可能。

$taxonomies = ['custom-cat', 'custom-tags'];

$terms = get_terms([
	'taxonomy' => $taxonomies,
]);

上記のように記述することで特定のタクソノミーを取得することができます。あとはこの中身を出力をしたいのでforeachを使用します。そのまま出力しようとすると複数のタクソノミーがごっちゃになるので仕分けします。

$cat = '';
$tags = '';
foreach($terms as $term){
	switch($term){
		case $term->taxonomy == 'custom-cat':
			$cat .= '<li><a href="' . esc_url(get_term_link($term)) . '">' . esc_html($term->name) . '</a></li>';
			break;
		case $term->taxonomy == 'custom-tags':
			$tags .= '<li><a href="' . esc_url(get_term_link($term)) . '">' . esc_html($term->name) . '</a></li>';
			break;
	}
}
printf('<ul class="custom-cat">%s</ul>', $cat);
printf('<ul class="custom-tags">%s</ul>', $tags);