Kiedy budujesz niestandardowe filtrowanie treści w WordPress — dla blogów, katalogów produktów lub katalogów usług — parametr tax_query w WP_Query jest jednym z najważniejszych narzędzi. Pozwala deweloperom na pobieranie postów, stron lub niestandardowych typów postów na podstawie określonych terminów taksonomii.

Czym są taksonomie w WordPressie?

Taksonomie w WordPressie to sposoby grupowania treści. WordPress ma dwie domyślne taksonomie:

  • kategoria
  • tag_postu

Jednak deweloperzy mogą również tworzyć niestandardowe taksonomie, takie jak:

  • marka
  • region
  • typ_produktu
  • poziom_umiejętności

Każda taksonomia zawiera terminy — na przykład taksonomia regionu może zawierać terminy takie jak europa, azja lub usa.

Co to jest zapytanie taksonomiczne?

Zapytanie taksonomiczne to tablica warunków przekazywanych do WP_Query, która informuje WordPress, aby pobrał tylko treści odpowiadające określonym terminom taksonomii.

Przykłady zastosowań obejmują:

  • Wyświetlanie postów blogowych z określonej kategorii.
  • Wyświetlanie produktów filtrowanych według atrybutów.
  • Tworzenie dynamicznych filtrów dla wyszukiwania lub archiwów.

Prosty przykład: Filtrowanie według kategorii

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

To zwróci wszystkie posty w kategorii wiadomości.

Operatory, których możesz użyć

WordPress obsługuje kilka operatorów w zapytaniach taksonomicznych:

  • IN — dopasuj dowolny z terminów (domyślnie)
  • NOT IN — wyklucz te terminy
  • AND — musi pasować do wszystkich terminów
  • EXISTS / NOT EXISTS — sprawdź, czy taksonomia jest ustawiona, czy nie

Zaawansowany przykład: Wiele warunków

Możesz połączyć wiele filtrów taksonomicznych:

$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',
    ),
  ),
);

To zwróci produkty, które są typu hosting i dostępne w regionach Europy lub USA.

Praktyczne zastosowania

Niektóre powszechne przypadki użycia zapytań taksonomicznych w rzeczywistych projektach WordPress:

  • Strona nieruchomości filtrująca oferty według typu nieruchomości i lokalizacji.
  • Tablica z ofertami pracy pokazująca oferty według działu i seniority.
  • Sklep WooCommerce filtrujący produkty według marki, koloru lub dostępności.

Podsumowanie

Parametr tax_query w WordPressie umożliwia deweloperom budowanie dynamicznych, odpowiednich wyświetleń treści. Niezależnie od tego, czy tworzysz filtrowaną siatkę produktów, stronę wyszukiwania czy niestandardowe archiwum, zapytania taksonomiczne pozwalają na precyzyjne dostosowanie tego, co jest wyświetlane użytkownikom — na podstawie dowolnej konfiguracji taksonomii, którą zdefiniowałeś. Chcesz pójść dalej? Połącz zapytania taksonomiczne z zapytaniami meta lub parametrami wyszukiwania, aby uzyskać jeszcze potężniejsze filtrowanie.