wp_tax_query()


WordPressのwp_tax_query()関数は、投稿やカスタム投稿タイプを特定のタクソノミー条件に基づいて取得するために使用されます。

シンタックス

$args = array(
    'tax_query' => array(
        array(
            'taxonomy' => 'category',
            'field' => 'slug',
            'terms' => 'example-slug',
        ),
    ),
);
$query = new WP_Query( $args );

引数の説明:

  • taxonomy (string) — タクソノミー名(例: category, post_tag)。
  • field (string) — 比較するフィールド(例: id, slug, name)。
  • terms (array|string) — 比較対象の値。
  • operator (string) — 比較演算子(例: IN, NOT IN, AND)。

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

このコードは、カテゴリー「example-slug」に属する投稿を取得します。

$args = array(
    'tax_query' => array(
        array(
            'taxonomy' => 'category',
            'field' => 'slug',
            'terms' => 'example-slug',
        ),
    ),
);
$query = new WP_Query( $args );

例2: タグに基づいて投稿を取得

このコードは、特定のタグに関連付けられた投稿を取得します。

$args = array(
    'tax_query' => array(
        array(
            'taxonomy' => 'post_tag',
            'field' => 'slug',
            'terms' => array( 'tag1', 'tag2' ),
        ),
    ),
);
$query = new WP_Query( $args );

例3: 複数のタクソノミー条件を使用

このコードは、カテゴリーとタグの両方の条件を満たす投稿を取得します。

$args = array(
    'tax_query' => array(
        'relation' => 'AND',
        array(
            'taxonomy' => 'category',
            'field' => 'slug',
            'terms' => 'example-category',
        ),
        array(
            'taxonomy' => 'post_tag',
            'field' => 'slug',
            'terms' => 'example-tag',
        ),
    ),
);
$query = new WP_Query( $args );

例4: タクソノミーの条件を除外

このコードは、特定のカテゴリーを除外した投稿を取得します。

$args = array(
    'tax_query' => array(
        array(
            'taxonomy' => 'category',
            'field' => 'slug',
            'terms' => 'excluded-category',
            'operator' => 'NOT IN',
        ),
    ),
);
$query = new WP_Query( $args );

例5: カスタムタクソノミーを使用

このコードは、カスタムタクソノミー「genre」に基づいて投稿を取得します。

$args = array(
    'tax_query' => array(
        array(
            'taxonomy' => 'genre',
            'field' => 'slug',
            'terms' => 'science-fiction',
        ),
    ),
);
$query = new WP_Query( $args );

注意事項

tax_queryは多次元配列である必要があります。
WP_Queryの引数として使用される場合、他の条件と組み合わせることが可能です。


関連機能: