get_termsで属する記事がないターム名も一覧表示する【WordPress】

- WordPress -
2019.11.25
WordPress

カスタムタクソノミーのターム一覧をページに表示する必要があったので、以下コードを書いてみました。

カスタムタクソノミー名は"column_category"で作ってます。

<?php
$terms = get_terms( 'column_category' );
foreach ( $terms as $term ) {
    echo esc_html($term->name);
}
?>

でも、これだと

記事が1つも紐づいてないタームが表示されない

という問題がありました。

で、結局めちゃくちゃ考えて遠回りして無駄にサブループ回してなんとか実現できたんですが、そんな面倒なことしなくても超簡単な方法があったんですね・・・。

get_terms()のパラメータに'hide_empty=0'を指定するだけです。

<?php
$terms = get_terms( 'column_category', 'hide_empty=0' );
foreach ( $terms as $term ) {
    echo esc_html($term->name);
}
?>

これで、正真正銘、全てのタームを全出力できました。

やはり、しっかりと読みこむべきはまずWordPress公式サイトですね・・・。

WordPress Codex: 関数リファレンス/get terms ≫

UdemyでサクッとWordPressを学習してみる ≫