Przejdź do głównej zawartości

Dla deweloperow

[sieve]

Renderuje kompletny, samodzielny filtr: facety, siatke wynikow, sortowanie, aktywne etykiety filtrow i paginacje. Czyta aktualny stan filtrow z adresu URL (sf_* query vars), wiec pierwszy render jest serwerowy i mozliwy do udostepnienia.

Blok Sieve Filter (sieve/filter) jest blokiem dynamicznym, ktory renderuje ten sam widget co shortcode. Dodaj go z insertera blokow.

Stan filtrow jest zapisany w adresie URL, dzieki czemu mozna go zapisac i bezpiecznie obslugiwac przyciskiem wstecz:

  • sf_<facet> - wybrane wartosci filtra (oddzielone przecinkami, min-max dla zakresu).
  • sf_q - wyszukiwana fraza.
  • sf_orderby - kolejnosc sortowania.
  • sf_paged - aktualna strona.

POST /wp-json/sieve/v1/filter

Publiczny endpoint tylko do odczytu, ktory obsluguje filtrowanie AJAX. Body: { "query": { "sf_product_cat": "hoodies", "sf_orderby": "price" } }. Zwraca wyrenderowane fragmenty (facets_html, toolbar_html, results_html, pagination_html), liczbe wynikow i found. Frontend podmienia te fragmenty w miejscu.

Endpointy administracyjne (uprawnienie manage_woocommerce):

  • GET/POST /wp-json/sieve/v1/settings - odczyt albo zapis konfiguracji filtrow.
  • GET /wp-json/sieve/v1/catalog - automatycznie wykryte zrodla filtrow.
  • POST /wp-json/sieve/v1/reindex - przebudowanie indeksu.

Sieve wywoluje akcje po uruchomieniu, dzieki czemu rozszerzenie moze zarejestrowac dodatkowe uslugi we wspolnym kontenerze:

add_action( 'sieve/booted', function ( \Sieve\Plugin $plugin ) {
// Extend the container or register your own hooks.
} );