wp_get_object_terms()


WordPressの関数wp_get_object_terms()は、オブジェクトに関連付けられているタクソノミーのタームを取得するために使用されます。

構文

wp_get_object_terms( array|int $object_ids, string|array $taxonomies, array $args = array() );

引数の説明:

  • $object_ids (array|int) — オブジェクトIDまたはIDの配列。
  • $taxonomies (string|array) — タクソノミー名またはその配列。
  • $args (array) — 取得条件を指定するためのオプション配列。

例1: 特定の投稿のカテゴリを取得

指定した投稿のカテゴリを取得します。

<?php $terms = wp_get_object_terms( get_the_ID(), 'category' ); ?>

例2: 投稿タイプ「product」のカスタムタクソノミー「product_tag」を取得

カスタム投稿タイプのタクソノミータームを取得します。

<?php $terms = wp_get_object_terms( get_the_ID(), 'product_tag' ); ?>

例3: タームのスラッグのみを取得

取得したタームからスラッグを配列で取得します。

<?php
$terms = wp_get_object_terms( get_the_ID(), 'category', array( 'fields' => 'slugs' ) );
?>

例4: タームIDを条件付きで表示

特定の条件に基づいてタームIDを取得します。

<?php
$terms = wp_get_object_terms( get_the_ID(), 'category', array( 'fields' => 'ids' ) );
if ( ! empty( $terms ) ) {
    echo 'タームID: ' . implode( ', ', $terms );
}
?>

例5: 特定のタームを含むか確認

オブジェクトが特定のタームを含むかを確認します。

<?php
$terms = wp_get_object_terms( get_the_ID(), 'category' );
foreach ( $terms as $term ) {
    if ( $term->slug === 'example-slug' ) {
        echo 'この投稿は "example-slug" を含んでいます。';
    }
}
?>

注意点

wp_get_object_terms()を使用する際、結果はタームオブジェクトとして返されるため、必要に応じてプロパティ(例: nameslug)を指定してアクセスしてください。また、パフォーマンスの観点から、大量のデータを処理する場合はキャッシュの利用を検討してください。


関連機能: