wp_list_categories()でカスタムタクソノミーを出力させる
wp_list_categories()
でもカスタムタクソノミーを出力することが可能です。出力させたい場合、カスタムタクソノミー名が必要です。例えばカスタムタクソノミー名が'custom-post-terms'
だった場合下記のようにwp_list_categories()
にパラメータを指定してあげるとカスタムタクソノミー一覧が表示されます。
例
<?php
wp_list_categories( array(
'title_li' => '',
'taxonomy' => 'custom-post-terms',
));
?>
カスタムタクソノミーがわからない場合functions.php
にregister_taxonomy()
を登録しているので、その第一引数がタクソノミー名になりますのでその値を'taxonomy'
の値に入力します。
デフォルトだと出力は<li>
になります。なので下記のように<ul>
タグ等で囲む必要があります。
<ul>
<?php
wp_list_categories( array(
'title_li' => '',
'style' => 'list',
'taxonomy' => 'custom-post-terms',
));
?>
</ul>
HTMLをカスタマイズしたい場合
もしHTML出力をカスタマイズしたい場合wp_list_categories()
の用意されているパラメータだけだと限界があります。wp_list_categories()
だけでもできなくはないのですが、get_terms()
を使ったほうがHTMLカスタマイズしやすいのでこちらを使ってご紹介します。
<?php
$terms = get_terms(array(
'taxonomy' => 'custom-post-terms',
));
foreach($terms as $tags){
echo '<li><a href="' . esc_url(get_term_link($tags->term_taxonomy_id)) . '">' . esc_html($tags->name) . '</a></li>';
}
?>
'taxonomy'
にはカスタムタクソノミー名を入力することで対象のカスタムタクソノミーが出力されます。
こちらのほうがli
内のクラスもないのですっきりするのでカスタマイズしたい方はこちらがおすすめです。