HUSKY - Products Filter Professional for WooCommerce

woof_products_ids_prediction

Документация по шорткоду HUSKY плагина woof_products_ids_prediction - технический справочник с примерами кода

woof_products_ids_prediction

Шорткод [woof_products_ids_prediction] представляет собой специализированную обертку вокруг [woof_products], предназначенную для прогнозирования того, какие ID продуктов будут соответствовать текущему состоянию фильтра. Он полезен для настроек, управляемых AJAX, где вам необходимо знать отфильтрованный набор продуктов до их отображения.

Принцип работы

Внутри этот шорткод вызывает тот же метод woof_products() с флагом is_prediction, установленным в true. Единственное поведенческое отличие состоит в том, что в режиме прогнозирования per_page по умолчанию равен 9999 — это означает, что он возвращает все соответствующие продукты по умолчанию, что полезно для получения полного набора ID продуктов.

Атрибуты

Поддерживает все атрибуты из [woof_products]:

АтрибутПо умолчаниюОписание
columnsПо умолчанию WooCommerceКоличество колонок продуктов
orderbynoПоле для сортировки (no = использовать настройки WooCommerce, price, price-desc, date, title и т.д.)
ordernoПорядок сортировки (ASC, DESC или no для значения по умолчанию)
page1Номер страницы для пагинации
per_page9999*Продуктов на страницу. В режиме прогнозирования по умолчанию 9999 (все продукты). Используйте конкретное число, если вам нужны результаты с пагинацией.
is_ajax0Включить режим AJAX (1 или 0)
taxonomies''Фильтровать по таксономиям. Формат: product_cat:9,12+locations:30,31 (знак плюс разделяет разные таксономии)
sid''ID поиска для идентификации конкретных экземпляров фильтра
behavior''Специальное поведение (например, recent для недавних продуктов)
custom_tpl''Путь к пользовательскому файлу шаблона (например, wp-content/themes/my_theme/woo_tpl_1.php)
tpl_index''Индекс любого расширения шаблона
predict_ids_and_continuefalseПрогнозировать ID и продолжить с полным запросом продуктов
get_args_onlyfalseКогда true, возвращает только аргументы WP_Query без выполнения запроса
product_ids''Список конкретных ID продуктов, разделенных запятыми, для отображения
post__in''Список ID записей, разделенных запятыми, для включения
display_on_search0Установите в 1, чтобы показывать продукты только при активном поиске/фильтре

* В режиме прогнозирования (woof_products_ids_prediction) per_page по умолчанию равен 9999. В обычном шорткоде [woof_products] он по умолчанию равен 0 (использует настройки плагина).

Базовое использование

[woof_products_ids_prediction]

Возвращает все ID продуктов, соответствующие текущему состоянию фильтра.

Использование с таксономиями

[woof_products_ids_prediction taxonomies="product_cat:15,17" orderby="price" order="ASC"]

Возвращает ID продуктов из категорий 15 и 17, отсортированных по цене по возрастанию.

Использование с AJAX

[woof_products_ids_prediction is_ajax="1" per_page="12" display_on_search="1"]

Показывает продукты в режиме AJAX, по 12 на страницу, только при активном фильтре. В режиме прогнозирования это помогает предварительно загрузить ожидаемый набор результатов.

Получение только аргументов запроса

[woof_products_ids_prediction get_args_only="true"]

Возвращает только аргументы WP_Query в виде массива вместо выполнения запроса — полезно для расширенных пользовательских интеграций, где вы хотите проверить или изменить запрос перед его выполнением.

Интеграция с PHP / Hooks

Вы можете фильтровать запрос продуктов, используя стандартные хуки WooCommerce и HUSKY. Например, чтобы изменить аргументы запроса:

add_filter('woof_draw_products_get_args', function($args) {
    // Modify query arguments before execution
    $args['post_type'] = array('product', 'product_variation');
    return $args;
});

Когда использовать woof_products_ids_prediction против [woof_products]

  • Используйте [woof_products], когда вы хотите отобразить продукты с фильтрацией.
  • Используйте [woof_products_ids_prediction], когда вам нужно прогнозировать, какие продукты будут соответствовать — например, для предварительной загрузки данных о продуктах, обновления счетчика или подготовки связанных запросов перед отображением.
  • Режим прогнозирования по умолчанию извлекает все соответствующие продукты (per_page=9999), что делает его идеальным для получения полного набора ID продуктов.