taxonomy_exists()


WordPress関数taxonomy_exists()は、指定されたタクソノミーが登録されているかどうかを確認するために使用されます。この関数は、タクソノミーが登録されている場合にtrueを返し、そうでない場合にfalseを返します。

構文

taxonomy_exists( string $taxonomy );
  • $taxonomy (string) — チェックしたいタクソノミー名を指定します。

例1: タクソノミーの存在を確認する

以下のコードは、カスタムタクソノミーgenreが登録されているかを確認します。

<?php
if ( taxonomy_exists( 'genre' ) ) {
    echo 'タクソノミー "genre" は存在します。';
} else {
    echo 'タクソノミー "genre" は存在しません。';
}
?>

例2: 条件に応じて処理を分岐する

特定のタクソノミーが存在する場合にのみ特定のコードを実行します。

<?php
if ( taxonomy_exists( 'location' ) ) {
    register_taxonomy( 'region', 'post', array( 'label' => 'Region' ) );
}
?>

例3: 投稿タイプに関連付けられているタクソノミーの確認

特定の投稿タイプに関連付けられているタクソノミーを確認します。

<?php
$post_type = 'book';
$taxonomy = 'genre';

if ( taxonomy_exists( $taxonomy ) && in_array( $taxonomy, get_object_taxonomies( $post_type ) ) ) {
    echo 'タクソノミー "genre" は投稿タイプ "book" に関連付けられています。';
}
?>

例4: プラグインの互換性チェック

プラグインが登録するタクソノミーが存在するかを確認します。

<?php
if ( taxonomy_exists( 'product_category' ) ) {
    echo 'タクソノミー "product_category" は登録されています。';
}
?>

例5: カスタムタクソノミーが未登録の場合のエラー処理

特定のタクソノミーが登録されていない場合にエラーをログに記録します。

<?php
if ( ! taxonomy_exists( 'custom_tax' ) ) {
    error_log( 'タクソノミー "custom_tax" が存在しません。' );
}
?>

注意事項:

  • この関数は、タクソノミーが登録されているかを確認するためのシンプルな方法を提供しますが、タクソノミーの詳細情報を取得する場合は他の関数を使用してください。
  • 無効なタクソノミー名を指定するとfalseが返されます。

関連機能: