カスタムコンテンツフィルタリングをWordPressで構築する際、ブログ、製品カタログ、サービスディレクトリのためのtax_queryパラメータは最も重要なツールの一つです。これにより、開発者は特定のタクソノミー用語に基づいて投稿、ページ、またはカスタム投稿タイプを取得できます。

 WordPressにおけるタクソノミーとは?

WordPressにおけるタクソノミーは、コンテンツをグループ化する方法です。WordPressには2つのデフォルトのタクソノミーがあります。

  • category
  • post_tag

しかし、開発者は以下のようなカスタムタクソノミーも作成できます。

  • brand
  • region
  • product_type
  • skill_level

各タクソノミーには用語が含まれます。たとえば、地域タクソノミーにはeurope、asia、またはusのような用語が含まれるかもしれません。

 タックスクエリとは?

タックスクエリは、WP_Queryに渡される条件の配列で、WordPressに特定のタクソノミー用語に一致するコンテンツのみを取得するよう指示します。

使用例には以下が含まれます。

  • 特定のカテゴリからのブログ投稿を表示する。
  • 属性によってフィルタリングされた製品を表示する。
  • 検索やアーカイブのための動的フィルタを作成する。

 簡単な例:カテゴリでフィルタリング

$args = array(
  'post_type' => 'post',
  'tax_query' => array(
    array(
      'taxonomy' => 'category',
      'field'    => 'slug',
      'terms'    => 'news',
    ),
  ),
);
$query = new WP_Query($args);

これにより、ニュースカテゴリのすべての投稿が返されます。

 使用できる演算子

WordPressはタックスクエリでいくつかの演算子をサポートしています。

  • IN — 用語のいずれかに一致(デフォルト)
  • NOT IN — これらの用語を除外
  • AND — すべての用語に一致する必要があります
  • EXISTS / NOT EXISTS — タクソノミーが設定されているかどうかを確認

 高度な例:複数の条件

複数のタクソノミーフィルタを組み合わせることができます。

$args = array(
  'post_type' => 'product',
  'tax_query' => array(
    'relation' => 'AND',
    array(
      'taxonomy' => 'product_type',
      'field'    => 'slug',
      'terms'    => 'hosting',
    ),
    array(
      'taxonomy' => 'region',
      'field'    => 'slug',
      'terms'    => array('europe', 'us'),
      'operator' => 'IN',
    ),
  ),
);

これにより、ホスティングタイプの製品が返され、ヨーロッパまたはUS地域で利用可能です。

実用的な使用例

実際のWordPressプロジェクトにおけるタックスクエリの一般的な使用例には以下が含まれます。

  • 不動産サイトが物件タイプと場所でリストをフィルタリングする。
  • 部署とシニアリティによって仕事を表示する求人ボード。
  • ブランド、色、または可用性によって製品をフィルタリングするWooCommerceストア。

 まとめ

WordPressのtax_queryパラメータは、開発者が動的で関連性のあるコンテンツ表示を構築する力を与えます。フィルタリングされた製品グリッド、検索ページ、またはカスタムアーカイブを作成する場合でも、タックスクエリを使用すると、定義したタクソノミーセットアップに基づいて、ユーザーに表示されるコンテンツを微調整できます。さらに進みたいですか?タックスクエリをメタクエリや検索パラメータと組み合わせて、さらに強力なフィルタリングを実現しましょう。