説明
taxonomy_exists() は、指定したタクソノミーが登録されているかを調べる関数です。
基本構文
taxonomy_exists( string $taxonomy ): bool
引数
$taxonomy:タクソノミー名
戻り値
登録されていれば true。
使い方(サンプル)
if ( taxonomy_exists( 'genre' ) ) {
// genre が登録済み
}
注意点
initより前に呼ぶと、登録前でfalseになります。
実務での使いどころ
- タクソノミーが登録されているかを、確認してから使うとき。
- 他のプラグインが登録するタクソノミーを、あるときだけ使うとき。
よくあるミスと対処
initフックより前に呼び、まだ登録されておらずfalseになる。register_taxonomy()の直後の、登録の失敗に気づかない。
NG例
if ( taxonomy_exists( 'news_cat' ) ) { // init より前に呼ぶと false
// ...
}
OK例
add_action( 'init', function () {
if ( taxonomy_exists( 'news_cat' ) ) {
// ...
}
}, 20 );
使い分け早見表
| やりたいこと | 使うもの |
|---|---|
| タクソノミーがあるか確認 | taxonomy_exists() |
| タクソノミーの情報を取得 | get_taxonomy() |
| タクソノミーの一覧を取得 | get_taxonomies() |
関連項目
register_taxonomy()、get_taxonomies()
公式リファレンス:taxonomy_exists() | Function | WordPress Developer Resources

コメント