woof_products_ids_prediction
woof_products_ids_prediction
Shortcode [woof_products_ids_prediction] to wyspecjalizowana otoczka dla [woof_products], zaprojektowana do przewidywania, które identyfikatory produktów będą pasować do bieżącego stanu filtra. Jest przydatny w konfiguracjach opartych na AJAX, gdzie musisz znać zestaw przefiltrowanych produktów przed ich wyrenderowaniem.
Jak to działa
Wewnętrznie, ten shortcode wywołuje tę samą metodę woof_products() z flagą is_prediction ustawioną na true. Jedyną różnicą w zachowaniu jest to, że w trybie przewidywania per_page domyślnie wynosi 9999 — co oznacza, że domyślnie zwraca wszystkie pasujące produkty, co jest przydatne do uzyskania pełnego zestawu identyfikatorów produktów.
Atrybuty
Obsługuje wszystkie atrybuty z [woof_products]:
| Atrybut | Domyślne | Opis |
|---|---|---|
columns | WooCommerce default | Liczba kolumn produktów |
orderby | no | Pole sortowania (no = użyj ustawień WooCommerce, price, price-desc, date, title, itd.) |
order | no | Kolejność sortowania (ASC, DESC lub no dla domyślnej) |
page | 1 | Numer strony dla paginacji |
per_page | 9999* | Produktów na stronę. W trybie przewidywania domyślnie 9999 (wszystkie produkty). Użyj konkretnej liczby, jeśli potrzebujesz wyników paginowanych. |
is_ajax | 0 | Włącz tryb AJAX (1 lub 0) |
taxonomies | '' | Filtruj według taksonomii. Format: product_cat:9,12+locations:30,31 (znak plus oddziela różne taksonomie) |
sid | '' | ID wyszukiwania do identyfikacji konkretnych instancji filtra |
behavior | '' | Specjalne zachowanie (np. recent dla ostatnich produktów) |
custom_tpl | '' | Ścieżka do niestandardowego pliku szablonu (np. wp-content/themes/my_theme/woo_tpl_1.php) |
tpl_index | '' | Indeks dowolnego rozszerzenia szablonu |
predict_ids_and_continue | false | Przewiduj identyfikatory i kontynuuj z pełnym zapytaniem o produkty |
get_args_only | false | Gdy true, zwraca tylko argumenty WP_Query bez wykonywania zapytania |
product_ids | '' | Lista identyfikatorów produktów oddzielonych przecinkami do wyświetlenia |
post__in | '' | Lista identyfikatorów postów oddzielonych przecinkami do uwzględnienia |
display_on_search | 0 | Ustaw na 1, aby wyświetlać produkty tylko wtedy, gdy wyszukiwanie/filtr jest aktywny |
* W trybie przewidywania (woof_products_ids_prediction), per_page domyślnie wynosi 9999. W zwykłym shortcode [woof_products] domyślnie wynosi 0 (używa ustawień wtyczki).
Podstawowe użycie
[woof_products_ids_prediction]
Zwraca wszystkie identyfikatory produktów pasujące do bieżącego stanu filtra.
Użycie z taksonomiami
[woof_products_ids_prediction taxonomies="product_cat:15,17" orderby="price" order="ASC"]
Zwraca identyfikatory produktów z kategorii 15 i 17, posortowane według ceny rosnąco.
Użycie z AJAX
[woof_products_ids_prediction is_ajax="1" per_page="12" display_on_search="1"]
Wyświetla produkty w trybie AJAX, 12 na stronę, tylko gdy filtr jest aktywny. W trybie przewidywania pomaga to wstępnie załadować oczekiwany zestaw wyników.
Pobieranie tylko argumentów zapytania
[woof_products_ids_prediction get_args_only="true"]
Zwraca tylko argumenty WP_Query jako tablicę zamiast wykonywać zapytanie — przydatne w zaawansowanych niestandardowych integracjach, gdzie chcesz sprawdzić lub zmodyfikować zapytanie przed jego uruchomieniem.
Integracja z PHP / Hooks
Możesz filtrować zapytanie o produkty, używając standardowych hooków WooCommerce i HUSKY. Na przykład, aby zmodyfikować argumenty zapytania:
add_filter('woof_draw_products_get_args', function($args) {
// Modyfikuj argumenty zapytania przed wykonaniem
$args['post_type'] = array('product', 'product_variation');
return $args;
});
Kiedy używać woof_products_ids_prediction a kiedy [woof_products]
- Użyj
[woof_products], gdy chcesz wyświetlić produkty z filtrowaniem. - Użyj
[woof_products_ids_prediction], gdy musisz przewidzieć, które produkty będą pasować — na przykład, aby wstępnie załadować dane produktów, zaktualizować licznik lub przygotować powiązane zapytania przed renderowaniem. - Tryb przewidywania domyślnie pobiera wszystkie pasujące produkty (per_page=9999), co czyni go idealnym do uzyskania pełnego zestawu identyfikatorów produktów.