Skip to content

Developers

[sieve]

Rendert einen vollständigen, eigenständigen Filter: Facetten, Ergebnisraster, Sortierung, aktive Filter-Chips und Seitennummerierung. Er liest den aktuellen Filterzustand aus der URL (sf_* query vars), sodass das erste Rendern serverseitig und teilbar ist.

Der Block Sieve Filter (sieve/filter) ist ein dynamischer Block, der dasselbe Widget wie der Shortcode rendert. Fügen Sie ihn über den Block-Inserter hinzu.

Der Filterzustand liegt in der URL, sodass er als Lesezeichen gespeichert und mit dem Zurück-Button sicher bedient werden kann:

  • sf_<facet> - die ausgewählten Werte einer Facette (durch Kommas getrennt, min-max für einen Bereich).
  • sf_q - die Suchanfrage.
  • sf_orderby - die Sortierreihenfolge.
  • sf_paged - die aktuelle Seite.

POST /wp-json/sieve/v1/filter

Öffentlicher, schreibgeschützter Endpunkt, der die AJAX-Filterung antreibt. Body: { "query": { "sf_product_cat": "hoodies", "sf_orderby": "price" } }. Gibt die gerenderten Fragmente (facets_html, toolbar_html, results_html, pagination_html), die Ergebnisanzahl und found zurück. Das Frontend tauscht diese an Ort und Stelle aus.

Admin-Endpunkte (Berechtigung manage_woocommerce):

  • GET/POST /wp-json/sieve/v1/settings - die Facetten-Konfiguration lesen oder speichern.
  • GET /wp-json/sieve/v1/catalog - die automatisch erkannten Facetten-Quellen.
  • POST /wp-json/sieve/v1/reindex - den Index neu aufbauen.

Sieve löst nach dem Start eine Aktion aus, sodass eine Erweiterung zusätzliche Dienste im gemeinsamen Container registrieren kann:

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