HUSKY - Product Filter for WooCommerce

[woof_products_ids_prediction]

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

Как это работает

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

Атрибуты

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

АтрибутПо умолчаниюОписание
columnsWooCommerce по умолчаниюКоличество колонок для товаров
orderbynoПоле сортировки (no = использовать настройки WooCommerce, price, price-desc, date, title, и т.д.)
ordernoПорядок сортировки (ASC, DESC, или no по умолчанию)
page1Номер страницы для пагинации
per_page9999*Количество товаров на странице. В режиме предсказания по умолчанию 9999 (все товары). Используйте конкретное число, если вам нужны результаты с пагинацией.
is_ajax0Включить режим AJAX (1 or 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 / хуков

Вы можете фильтровать запросы товаров, используя стандартные хуки 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 vs [woof_products]

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