Skip to content

Wishlist

Die Wunschliste ermöglicht es Kunden, Produkte für später zu speichern. Sie funktioniert sowohl für angemeldete Kunden als auch für Gäste.

Wunschliste, Vergleich und Schnellansicht auf der Shop-Seite

Gehen Sie zu WooCommerce > Polski > Storefront-Module und aktivieren Sie die Option Wishlist. Nach der Aktivierung erscheint auf jedem Produkt ein Herzsymbol, mit dem es zur Liste hinzugefügt werden kann.

Unterstützung für Gäste und angemeldete Benutzer

Section titled “Unterstützung für Gäste und angemeldete Benutzer”

Für Gäste wird die Wunschliste im localStorage des Browsers gespeichert. Die Daten stehen sofort ohne Serveranfragen zur Verfügung. Nach der Anmeldung wird die localStorage-Liste automatisch mit der Datenbank synchronisiert - Produkte gehen nicht verloren.

Für angemeldete Kunden werden die Daten in der Tabelle wp_usermeta unter dem Schlüssel _polski_wishlist gespeichert. Dadurch ist die Liste nach der Anmeldung auf jedem Gerät verfügbar.

Das Modul fügt im Bereich Mein Konto von WooCommerce einen neuen Reiter Wunschliste hinzu. Der Kunde sieht:

  • Produkt-Miniaturansicht
  • Name mit Link zur Produktseite
  • Preis (aktuell, inklusive Aktionen)
  • Verfügbarkeitsstatus (auf Lager / nicht auf Lager)
  • Schaltfläche In den Warenkorb
  • Schaltfläche Von der Liste entfernen

Der Reiter ist nur sichtbar, wenn das Modul aktiv ist. Der URL-Endpunkt lautet wishlist - z. B. ihrshop.de/my-account/wishlist/.

Das Hinzufügen und Entfernen von Produkten aus der Liste erfolgt über AJAX - die Seite wird nicht neu geladen. Nach dem Klick auf das Herzsymbol:

  1. Das Symbol wechselt den Zustand (leer/gefüllt) mit einer CSS-Animation
  2. Eine AJAX-Anfrage wird an admin-ajax.php gesendet
  3. Der Zähler am Symbol im Header aktualisiert sich in Echtzeit

Vom Modul verarbeitete AJAX-Aktionen:

AktionBeschreibung
polski_wishlist_addProdukt zur Liste hinzufügen
polski_wishlist_removeProdukt von der Liste entfernen
polski_wishlist_getGesamte Liste abrufen
polski_wishlist_clearGesamte Liste leeren

Der Shortcode zeigt die Wunschlisten-Tabelle an beliebiger Stelle im Shop an.

ParameterTypStandardBeschreibung
columnsstringallAnzuzeigende Spalten (durch Komma getrennt)
max_itemsint50Maximale Anzahl der Produkte auf der Liste
show_emptystringyesOb eine Meldung angezeigt wird, wenn die Liste leer ist
[polski_wishlist columns="image,name,price,add_to_cart" max_items="20"]
echo do_shortcode('[polski_wishlist columns="image,name,price,add_to_cart"]');
  • image - Produkt-Miniaturansicht
  • name - Produktname mit Link
  • price - Preis
  • stock - Lagerstatus
  • add_to_cart - Schaltfläche In den Warenkorb
  • remove - Schaltfläche Von der Liste entfernen
  • date_added - Hinzufügedatum

Die Wunschlisten-Schaltfläche wird standardmäßig unter der Schaltfläche In den Warenkorb auf der Produktseite angezeigt. Die Position kann mit einem Filter geändert werden:

add_filter('polski/wishlist/button_position', function (): string {
return 'before_add_to_cart'; // oder 'after_add_to_cart', 'after_summary'
});

Auf Kategorie- und Archivseiten erscheint eine Herz-Schaltfläche in der Ecke der Produkt-Miniaturansicht. Diese kann in den Moduleinstellungen deaktiviert werden.

Das Modul fügt dem Shop-Header (neben dem Warenkorb) ein Herzsymbol mit Zähler hinzu. Ein Klick öffnet ein Dropdown mit einer Vorschau der gespeicherten Produkte. Die Position des Symbols wird über einen Hook gesteuert:

add_action('polski/wishlist/header_icon', function (): void {
// Eigene Symbolposition im Header
});

Das Modul verwendet CSS-Klassen mit dem Präfix .polski-wishlist-. Wichtigste Klassen:

  • .polski-wishlist-button - Schaltfläche zum Hinzufügen/Entfernen
  • .polski-wishlist-button--active - aktiver Zustand (Produkt ist auf der Liste)
  • .polski-wishlist-table - Listentabelle
  • .polski-wishlist-count - Zähler im Header
  • .polski-wishlist-empty - Meldung für leere Liste

Die Wunschlisten-Daten angemeldeter Benutzer werden im Object Cache zwischengespeichert (falls verfügbar). Das HTML-Fragment der Schaltfläche wird über wp_cache_set() mit der Gruppe polski_wishlist zwischengespeichert. Der Cache wird nach dem Hinzufügen oder Entfernen eines Produkts automatisch geleert.

Die Schaltfläche erscheint nicht auf dem Produkt - stellen Sie sicher, dass das Theme den Hook woocommerce_single_product_summary unterstützt. Einige Themes überschreiben die Standard-WooCommerce-Templates.

Die Liste synchronisiert sich nach der Anmeldung nicht - prüfen Sie, ob ein Caching-Plugin die Anmeldeseite aggressiv puffert. Deaktivieren Sie den Cache für die Seite my-account.

Das Header-Symbol wird nicht angezeigt - das Theme muss den Hook wp_nav_menu_items oder storefront_header unterstützen. Wenn Sie ein benutzerdefiniertes Theme verwenden, fügen Sie das Symbol manuell im Template hinzu.

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

Diese Seite dient ausschließlich zu 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.