При створенні кастомної фільтрації контенту в WordPress – для блогів, каталогів товарів або каталогів послуг – параметр tax_query в WP_Query є одним з найбільш важливих інструментів. Він дозволяє розробникам отримувати пости, сторінки або кастомні типи постів на основі певних умов таксономії.

Що таке таксономії в WordPress?

Таксономії в WordPress – це способи групування контенту. WordPress постачається з двома таксономіями за замовчуванням:

  • категорія
  • тег_посту

Але розробники також можуть створювати власні таксономії, наприклад

  • бренд
  • регіон
  • тип_продукту
  • рівень_кваліфікації

Кожна таксономія містить терміни – наприклад, таксономія регіону може включати такі терміни, як Європа, Азія або США.

Що таке податковий запит?

Податковий запит – це масив умов, переданих до WP_Query, який вказує WordPress отримати лише той контент, який відповідає певним таксономічним термінам.

Варіанти використання включають

  • Відображення записів блогу з певної категорії.
  • Відображення продуктів, відфільтрованих за атрибутами.
  • Створення динамічних фільтрів для пошуку або архівів.

Простий приклад: Фільтр за категорією

$args = array(
  'post_type' => 'post',
  'tax_query' => 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(
    'відношення' => 'І',
    array(
      'taxonomy' => 'product_type',
      'field' => 'slug',
      'terms' => 'hosting',
    ),
    array(
      'taxonomy' => 'region',
      'field' => 'slug',
      'terms' => array('europe', 'us'),
      'operator' => 'IN',
    ),
  ),
);

Це поверне продукти, які мають тип хостинг і доступні в регіонах Європи або США.

Практичне використання

Деякі поширені випадки використання податкових запитів у реальних проектах WordPress:

  • Сайт нерухомості, що фільтрує списки за типом нерухомості та місцем розташування.
  • Дошка оголошень про роботу, що показує вакансії за відділами та стажем.
  • Магазин WooCommerce, що фільтрує товари за брендом, кольором або наявністю.

Підсумок

Параметр tax_query в WordPress дозволяє розробникам створювати динамічні, релевантні відображення контенту. Незалежно від того, чи створюєте ви відфільтровану сітку продуктів, сторінку пошуку або кастомний архів, податкові запити дозволяють вам точно налаштувати вміст, який буде показано користувачам – на основі будь-якого визначеного вами налаштування таксономії. Хочете піти далі? Комбінуйте податкові запити з мета-запитами або параметрами пошуку для ще більш потужної фільтрації.