[woof_products_ids_prediction]
Shortcode [woof_products_ids_prediction] jest wyspecjalizowanym opakowaniem wokół [woof_products], zaprojektowanym do przewidywania, które identyfikatory produktów będą pasować do bieżącego stanu filtra. Jest przydatny w konfiguracjach opartych na AJAX, gdzie trzeba znać zestaw filtrowanych produktów przed renderowaniem.
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 działaniu jest to, że per_page domyślnie wynosi 9999 w trybie przewidywania — co oznacza, że domyślnie zwracane są 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 | Wartość domyślna | Opis |
|---|---|---|
columns | Domyślne ustawienie WooCommerce | 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 do paginacji |
per_page | 9999* | Liczba produktów na stronę. W trybie przewidywania domyślnie wynosi 9999 (wszystkie produkty). Użyj konkretnej liczby, jeśli potrzebujesz stronicowanych wyników. |
is_ajax | 0 | Włącz tryb AJAX (1 lub 0) |
taxonomies | '' | Filtrowanie według taksonomii. Format: product_cat:9,12+locations:30,31 (znak plus oddziela różne taksonomie) |
sid | '' | Identyfikator wyszukiwania do identyfikowania 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 | '' | Rozdzielana przecinkami lista konkretnych identyfikatorów produktów do wyświetlenia |
post__in | '' | Rozdzielana przecinkami lista identyfikatorów wpisów do uwzględnienia |
display_on_search | 0 | Ustaw na 1, aby pokazywać produkty tylko wtedy, gdy wyszukiwanie/filtr jest aktywny |
* W trybie przewidywania (woof_products_ids_prediction), per_page domyślnie wynosi 9999. W zwykłym shortcodzie [woof_products] domyślnie wynosi 0 (używane są ustawienia 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 w kategoriach 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"]
Pokazuje produkty w trybie AJAX, 12 na stronę, tylko wtedy, 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 PHP / Hooks
Możesz filtrować zapytanie o produkty za pomocą standardowych hooków WooCommerce i HUSKY. Na przykład, aby zmodyfikować argumenty zapytania:
add_filter('woof_draw_products_get_args', function($args) {
// Modify query arguments before execution
$args['post_type'] = array('product', 'product_variation');
return $args;
});
Kiedy używać woof_products_ids_prediction, a kiedy [woof_products]
- Używaj
[woof_products], gdy chcesz wyświetlić produkty z filtrowaniem. - Używaj
[woof_products_ids_prediction], gdy potrzebujesz 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 kompletnego zestawu identyfikatorów produktów.