Skip to content

Gutenberg blocks

Drei Gutenberg-Blöcke zum Einfügen von Shop-Modulen. Jeder Block bietet eine Vorschau im Editor (Server-side Render) und eine Konfiguration im seitlichen Panel.

  • WordPress 6.0 oder neuer
  • Gutenberg-Blockeditor (nicht der klassische Editor)
  • Das entsprechende Modul in den Einstellungen von Polski for WooCommerce aktiviert

Die Blöcke von Polski for WooCommerce finden Sie im Block-Inserter (die Schaltfläche +) in der Kategorie Polski for WooCommerce. Sie können sie auch über den Namen finden, indem Sie “Polski” oder den Modulnamen eingeben.

Blockname: polski/ajax-search

Fügt ein Suchfeld mit AJAX-Vorschlägen ein. Die Ergebnisse erscheinen während der Eingabe eines Suchbegriffs in einem Dropdown.

AttributTypStandardBeschreibung
placeholderstringSearch products...Platzhaltertext im Feld
widthstring100%Feldbreite
showIconbooltrueLupensymbol
showCategoryboolfalseDropdown zur Kategoriefilterung
limitnumber8Limit der Vorschläge
minCharsnumber3Min. Zeichen für die Suche
stylestringdefaultStil: default, rounded, flat

Das seitliche Panel des Blocks enthält folgende Abschnitte:

Sucheinstellungen:

  • Platzhaltertext
  • Mindestanzahl an Zeichen
  • Ergebnislimit
  • Kategoriefilter (ja/nein)

Darstellung:

  • Feldbreite
  • Stil (default, rounded, flat)
  • Lupensymbol (ja/nein)
  • Rahmen (ja/nein)
  • Schatten (ja/nein)

Erweitert:

  • Zusätzliche CSS-Klassen
  • HTML-Anker

Beispiel für die Blockregistrierung (interne Implementierung)

Section titled “Beispiel für die Blockregistrierung (interne Implementierung)”
register_block_type('polski/ajax-search', [
'api_version' => 3,
'editor_script' => 'polski-blocks-editor',
'editor_style' => 'polski-blocks-editor-style',
'style' => 'polski-blocks-style',
'render_callback' => [AjaxSearchBlock::class, 'render'],
'attributes' => [
'placeholder' => [
'type' => 'string',
'default' => __('Search products...', 'polski'),
],
'width' => [
'type' => 'string',
'default' => '100%',
],
'showIcon' => [
'type' => 'boolean',
'default' => true,
],
'showCategory' => [
'type' => 'boolean',
'default' => false,
],
'limit' => [
'type' => 'number',
'default' => 8,
],
],
]);
add_filter('polski/blocks/ajax_search/output', function (string $html, array $attributes): string {
// Block-HTML anpassen
return $html;
}, 10, 2);

Blockname: polski/ajax-filters

Fügt eine Reihe von AJAX-Filtern ein, um die Produktliste ohne Neuladen der Seite zu filtern.

AttributTypStandardBeschreibung
filtersarray['category', 'price', 'stock']Aktive Filter
stylestringexpandedStil: expanded, compact, accordion
showCountbooltrueProduktzähler
showResetbooltrueZurücksetzen-Schaltfläche
columnsnumber1Filterspalten
collapsiblebooltrueEinklappbare Abschnitte

Filterauswahl:

  • Kontrollkästchen für jeden Filtertyp
  • Sortierung der Reihenfolge per Drag & Drop
  • Konfiguration je Filter (z. B. Preisspannen)

Darstellung:

  • Anzeigestil (expanded, compact, accordion)
  • Anzahl der Spalten
  • Zähler (ja/nein)
  • Zurücksetzen-Schaltfläche (ja/nein)
  • Standardmäßig eingeklappt/ausgeklappt

Erweitert:

  • Modus AJAX / GET-Fallback
  • Zusätzliche CSS-Klassen

Der Block erkennt verfügbare Filter automatisch anhand der Produktdaten:

FilterTypBeschreibung
categoryHierarchieProduktkategorien
priceRange-SliderPreisspanne
stockCheckboxLagerstatus
saleCheckboxNur im Angebot
brandListeHersteller/Marke
pa_*Liste/SwatchProduktattribute
ratingSterneKundenbewertung
add_filter('polski/blocks/ajax_filters/output', function (string $html, array $attributes): string {
return $html;
}, 10, 2);

Der AJAX-Filter-Block funktioniert am besten in der Seitenleiste der Shop-Seite. In einem Block-Theme (FSE) fügen Sie ihn im Template Archive: Product in die Seitenspalte ein.

In klassischen Themes verwenden Sie den Block im Widget-Bereich Shop Sidebar.

Blockname: polski/product-slider

Fügt ein Produktkarussell mit Pfeilnavigation und optionalen Paginierungspunkten ein.

AttributTypStandardBeschreibung
typestringlatestTyp: related, sale, featured, bestsellers, latest, category, ids
limitnumber8Produktlimit
columnsnumber4Spalten Desktop
columnsTabletnumber2Spalten Tablet
columnsMobilenumber1Spalten Mobil
categorystringKategorie-Slug
productIdsarray[]Produkt-IDs
showArrowsbooltrueNavigationspfeile
showDotsboolfalsePaginierungspunkte
autoplayboolfalseAutomatisches Scrollen
autoplaySpeednumber5000Pause zwischen Slides (ms)
gapstring16pxAbstand zwischen Karten
titlestringTitel
orderbystringdateSortieren nach
orderstringDESCRichtung

Produktquelle:

  • Slider-Typ (Dropdown mit Optionen)
  • Kategorieauswahl (für type=category)
  • Produktauswahl (für type=ids) - Suche mit Autovervollständigung
  • Produktlimit
  • Sortierung

Anzeige:

  • Spalten (Desktop / Tablet / Mobil)
  • Abstand (Gap)
  • Pfeile (ja/nein)
  • Punkte (ja/nein)
  • Titel

Animation:

  • Autoplay (ja/nein)
  • Autoplay-Geschwindigkeit (Slider 1000-10000 ms)
  • Pause beim Hover

Der Block rendert eine Slider-Vorschau direkt im Gutenberg-Editor (Server-side Render). Die Vorschau zeigt echte Produkte aus der Datenbank und ermöglicht es, die Darstellung vor der Veröffentlichung zu beurteilen.

Wenn der Shop keine Produkte hat, die dem gewählten Typ entsprechen (z. B. keine Angebotsprodukte), zeigt der Block einen Platzhalter mit einer Meldung an.

add_filter('polski/blocks/product_slider/output', function (string $html, array $attributes): string {
return $html;
}, 10, 2);
// Produktabfrage anpassen
add_filter('polski/blocks/product_slider/query_args', function (array $args, array $attributes): array {
// Produkte aus der Kategorie "hidden" ausschließen
$args['tax_query'][] = [
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => 'hidden',
'operator' => 'NOT IN',
];
return $args;
}, 10, 2);

Die Blöcke von Polski for WooCommerce funktionieren vollständig mit Block-Themes (Full Site Editing). Sie können eingefügt werden in:

  • Seiten-Templates
  • Templates für Produktarchive
  • Template-Teile - Header, Footer, Seitenleiste
  • Patterns

Jeder Block erzeugt CSS-Klassen gemäß der BEM-Konvention. Zusätzlich unterstützen die Blöcke die nativen Stileinstellungen von Gutenberg:

  • Farben (Text, Hintergrund)
  • Typografie (Größe, Stärke, Schriftfamilie)
  • Außen- und Innenabstände (Spacing)
  • Rahmen

Die Blöcke erscheinen nicht im Inserter - stellen Sie sicher, dass das entsprechende Modul unter WooCommerce > Polski > Shop-Module aktiviert ist. Die Blöcke erfordern die Aktivierung des entsprechenden Moduls.

Die Blockvorschau ist leer - prüfen Sie, ob der Shop Produkte hat, die dem gewählten Typ entsprechen. Eine leere Produktdatenbank erzeugt keine Vorschau.

Die Blöcke funktionieren nicht in Elementor - diese Blöcke sind für den Gutenberg-Editor konzipiert. Für Elementor verwenden Sie Shortcodes oder dedizierte Elementor-Widgets (verfügbar für die AJAX-Suche).

Probleme melden: github.com/wppoland/polski/issues

Diese Seite dient ausschließlich Informationszwecken und stellt keine Rechtsberatung dar. Konsultieren Sie vor der Umsetzung einen Anwalt. Polski for WooCommerce ist Open-Source-Software (GPLv2), die ohne Gewährleistung bereitgestellt wird.