woof_products_ids_prediction
woof_products_ids_prediction
Шорткод [woof_products_ids_prediction] є спеціалізованою обгорткою навколо [woof_products], розробленою для прогнозування того, які ідентифікатори товарів відповідатимуть поточному стану фільтра. Він корисний для налаштувань, керованих AJAX, де вам потрібно знати відфільтрований набір товарів перед їх відображенням.
Як це працює
Внутрішньо цей шорткод викликає той самий метод woof_products() з прапором is_prediction, встановленим на true. Єдина відмінність у поведінці полягає в тому, що per_page за замовчуванням дорівнює 9999 у режимі прогнозування — це означає, що він повертає всі відповідні товари за замовчуванням, що корисно для отримання повного набору ідентифікаторів товарів.
Атрибути
Підтримує всі атрибути з [woof_products]:
| Атрибут | За замовчуванням | Опис |
|---|---|---|
columns | За замовчуванням WooCommerce | Кількість колонок товарів |
orderby | no | Поле для сортування (no = використовувати налаштування WooCommerce, price, price-desc, date, title тощо) |
order | no | Порядок сортування (ASC, DESC або no для замовчування) |
page | 1 | Номер сторінки для пагінації |
per_page | 9999* | Товарів на сторінку. У режимі прогнозування за замовчуванням 9999 (всі товари). Використовуйте конкретне число, якщо вам потрібні результати з пагінацією. |
is_ajax | 0 | Увімкнути режим AJAX (1 або 0) |
taxonomies | '' | Фільтрувати за таксономіями. Формат: product_cat:9,12+locations:30,31 (знак плюс розділяє різні таксономії) |
sid | '' | Ідентифікатор пошуку для визначення конкретних екземплярів фільтра |
behavior | '' | Особлива поведінка (наприклад, recent для нещодавніх товарів) |
custom_tpl | '' | Шлях до файлу користувацького шаблону (наприклад, wp-content/themes/my_theme/woo_tpl_1.php) |
tpl_index | '' | Індекс будь-якого розширення шаблону |
predict_ids_and_continue | false | Прогнозувати ідентифікатори та продовжити з повним запитом товарів |
get_args_only | false | Коли true, повертає лише аргументи WP_Query без виконання запиту |
product_ids | '' | Список конкретних ідентифікаторів товарів, розділених комами, для відображення |
post__in | '' | Список ідентифікаторів постів, розділених комами, для включення |
display_on_search | 0 | Встановіть на 1, щоб показувати товари лише тоді, коли пошук/фільтр активний |
* У режимі прогнозування (woof_products_ids_prediction) per_page за замовчуванням дорівнює 9999. У звичайному шорткоді [woof_products] він за замовчуванням дорівнює 0 (використовує налаштування плагіна).
Базове використання
[woof_products_ids_prediction]
Повертає всі ідентифікатори товарів, що відповідають поточному стану фільтра.
Використання з таксономіями
[woof_products_ids_prediction taxonomies="product_cat:15,17" orderby="price" order="ASC"]
Повертає ідентифікатори товарів у категоріях 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) {
// Змінити аргументи запиту перед виконанням
$args['post_type'] = array('product', 'product_variation');
return $args;
});
Коли використовувати woof_products_ids_prediction проти [woof_products]
- Використовуйте
[woof_products], коли ви хочете відобразити товари з фільтрацією. - Використовуйте
[woof_products_ids_prediction], коли вам потрібно прогнозувати, які товари відповідатимуть — наприклад, для попереднього завантаження даних про товари, оновлення лічильника або підготовки пов'язаних запитів перед відображенням. - Режим прогнозування за замовчуванням передбачає отримання всіх відповідних товарів (per_page=9999), що робить його ідеальним для отримання повного набору ідентифікаторів товарів.