HUSKY - Product Filter for WooCommerce

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

AtrybutWartość domyślnaOpis
columnsDomyślne ustawienie WooCommerceLiczba 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 do paginacji
per_page9999*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_ajax0Włą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_continuefalsePrzewiduj identyfikatory i kontynuuj z pełnym zapytaniem o produkty
get_args_onlyfalseGdy 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_search0Ustaw 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.