HUSKY - Products Filter Professional for WooCommerce

woof_products_ids_prediction

Dokumentacja dla shortcode'u HUSKY woof_products_ids_prediction - odniesienie techniczne z przykładami kodu

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]:

AtrybutDomyślneOpis
columnsWooCommerce defaultLiczba kolumn produktów
orderbynoPole sortowania (no = użyj ustawień WooCommerce, price, price-desc, date, title, itd.)
ordernoKolejność sortowania (ASC, DESC lub no dla domyślnej)
page1Numer strony dla paginacji
per_page9999*Produktów na stronę. W trybie przewidywania domyślnie 9999 (wszystkie produkty). Użyj konkretnej liczby, jeśli potrzebujesz wyników paginowanych.
is_ajax0Włą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_continuefalsePrzewiduj identyfikatory i kontynuuj z pełnym zapytaniem o produkty
get_args_onlyfalseGdy 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_search0Ustaw 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.