WooCommerce Variationen in Masse erstellen: für viele Produkte auf einmal
WooCommerce erstellt Variationen immer nur für ein Produkt: Produkt öffnen, Attribute wählen, auf Varianten erzeugen (Generate variations) klicken, speichern, nächstes Produkt. Um WooCommerce Variationen in Masse zu erstellen, etwa für eine ganze Kategorie, oder um Hunderten Produkten, die bereits Variationen haben, eine neue Größe hinzuzufügen, hat BEAR einen Generator unter Erweiterte Massenvorgänge für Variationen (Variations Advanced Bulk Operations). Im Folgenden steht, was er voraussetzt, wie Sie ihn ausführen, wie Sie die Zahl der Variationen im Rahmen halten und was zu tun ist, wenn ein großer Lauf auf halber Strecke stehen bleibt.
Vorab: Was der Generator voraussetzt
- Variable Produkte. Der Generator überspringt jedes Produkt, das nicht vom Typ Variabel ist. Wandeln Sie einfache Produkte zuerst um; der Produkttyp (product type) ist eines der Felder im Tab Massenbearbeitung (Bulk Edit).
- Globale Attribute. Verwendet werden können nur Attribute, die unter Produkte → Attribute samt ihren Begriffen angelegt wurden. Attribute, die direkt am Produkt eingetippt wurden, sind reiner Text und werden nicht angeboten.
- Die richtigen Produkte ausgewählt. Der Vorgang läuft auf allen Produkten des Shops, auf den gefilterten oder auf den per Häkchen markierten; markierte Produkte haben Vorrang. Die Zeile Der erweiterte Massenvorgang für Variationen wird angewendet auf (Variations Advanced Bulk Operation will be applied to) oben im Werkzeug zeigt, welche es sind. Filtern Sie nach dem Produkttyp Variabel plus einer Kategorie oder einem Schlagwort.
- Attribute, die bereits an den Produkten hängen. Ist ein Attribut noch nicht am Produkt, fügt der Generator es mit seinen Begriffen hinzu, sichtbar und als Für Varianten verwendet (Used for variations) markiert. Ist es bereits als einfaches Attribut vorhanden, ergänzt der Generator nur die fehlenden Begriffe und lässt die Markierung aus; die neuen Variationen erhalten dann Werte, die WooCommerce nicht verwendet. Markieren Sie es vorher mit dem Tab Sichtbarkeit (Visibility) desselben Werkzeugs als Für Varianten verwendet, wie in Attribute in Masse zu Produkten hinzufügen beschrieben.
- Eine Datenbanksicherung. Erweiterte Massenvorgänge für Variationen werden nicht im Verlauf (History) aufgezeichnet; nichts davon lässt sich mit einem Klick zurücknehmen.
WooCommerce Variationen aus Attributen in Masse erstellen
- Filtern oder markieren Sie die variablen Produkte und öffnen Sie dann im Werkzeugbereich Erweiterte Massenvorgänge für Variationen. Zuerst öffnet sich der Tab Erstellen (Creating).
- Wählen Sie unter Attribute auswählen (Select attributes) die Attribute, aus denen die Variationen entstehen sollen, zum Beispiel Größe und Farbe, und markieren Sie von jedem die Begriffe, die die Produkte erhalten sollen.
- Klicken Sie auf Mögliche Kombinationen erzeugen (Generate possible combinations). Jede Kombination der gewählten Begriffe wird mit einer Checkbox aufgelistet; entfernen Sie das Häkchen bei den Kombinationen, die Sie nicht wollen, und ziehen Sie die übrigen in die gewünschte Reihenfolge.
- Klicken Sie auf Massenhinzufügen starten! (Start BULK Adding!) und lassen Sie die Seite geöffnet, bis der Fortschrittsbalken durchgelaufen ist.
Kombinationen, die ein Produkt bereits hat, werden übersprungen; der Generator legt also auch bei zweimaligem Ausführen keine Duplikate an. Auf diesem Weg fügen Sie auch Produkten, die schon Variationen haben, einen neuen Wert hinzu: Für XXL wählen Sie Größe und Farbe erneut mit XXL und allen Farben, erzeugen die Kombinationen, und es entstehen nur die XXL-Variationen. Die Schritt-für-Schritt-Seite mit Screenshots ist die Dokumentation zu variablen Produkten.
Zwei benachbarte Tabs decken verwandte Aufgaben ab. Anhängen (Attaching) fügt bereits vorhandenen Variationen ein neues Attribut hinzu, mit einem Begriff pro Variation, zum Beispiel ein Material für jede vorhandene Größe und Farbe; siehe Attributbegriffe zu bestehenden Variationen hinzufügen. Vertauschen (Swap) ersetzt bei bestehenden Variationen einen Begriff durch einen anderen, ohne sie neu zu erstellen, sodass Preise und Bestand erhalten bleiben.
Kombinationen planen: eine Variationsexplosion vermeiden
Die Zahl der Variationen pro Produkt ist das Produkt der Begriffsanzahlen: 100 Größen, 3 Geschenkboxen und 4 Farben ergeben 1.200 Variationen, jede ein eigener Beitrag mit eigenem Preis und eigenem Bestand. Fragen Sie sich vor dem Erzeugen, welche Attribute Preis, Bestand oder SKU verändern. Nur für diese braucht es Variationen.
Die übrigen Attribute können Kunden trotzdem angeboten werden:
- Nur als Information. Fügen Sie das Attribut den Produkten als einfaches Attribut hinzu, sichtbar, aber nicht für Variationen verwendet. Es erscheint unter „Zusätzliche Informationen“ und in Filtern, aber der Kunde wählt es nicht aus.
- Als Auswahl mit „Beliebig“-Variationen. Erzeugen Sie die Variationen nur aus den preisrelevanten Attributen, fügen Sie dann das übrige Attribut den Produkten hinzu und markieren Sie es im Tab Sichtbarkeit als Für Varianten verwendet. Die vorhandenen Variationen haben dafür keinen Wert, was WooCommerce als „Beliebige Farbe“ behandelt: Der Kunde wählt eine Farbe, die Bestellposition hält sie fest, und eine Variation pro Größe bedient alle Farben. 300 Variationen statt 1.200.
Der Generator selbst schreibt immer einen konkreten Begriff in jede Variation; „Beliebig“-Werte erzeugt er nicht. Die oben genannte Reihenfolge, erst die Variationen, dann das zusätzliche Attribut, ist der Weg dorthin.
Was eine neue Variation enthält
- Status: veröffentlicht. Um sie stattdessen als privat (deaktiviert) anzulegen, zum Beispiel um sie vor dem Livegang zu prüfen, verwenden Sie den Hook:
Um sie später in Masse zu veröffentlichen, schalten Sie Variationen (variations) ein, setzen den Beitragsstatus im Tab Massenbearbeitung auf Veröffentlicht und führen die Bearbeitung aus; die FAQ zum Aktivieren und Deaktivieren von Variationen zeigt die Schritte.// Child theme functions.php or a code snippets plugin. // BEAR: variations created by Variations Advanced Bulk Operations start as private. add_filter( 'woobe_new_variation_product_status', function ( $status ) { return 'private'; } ); - Preis: meist keiner. Eine Variation übernimmt den regulären Preis und den Angebotspreis nur, wenn das übergeordnete Produkt noch einen speichert, typischerweise bei einem aus einem einfachen Produkt umgewandelten. Andernfalls hat sie keinen Preis, und WooCommerce verkauft keine Variation ohne Preis. Legen Sie die Preise direkt nach dem Lauf fest, bei Bedarf je Größe, wie in Variationen nach Attribut filtern.
- SKU: die SKU des übergeordneten Produkts plus Bindestrich und Variations-ID, oder
sku-plus ID, wenn das übergeordnete Produkt keine SKU hat, sodass WooCommerce nie eine doppelte SKU sieht. - Bestand: nicht verwaltet. Schalten Sie Lagerbestand verwalten (Manage stock) ein und legen Sie die Mengen im Tab Massenbearbeitung bei eingeschaltetem Variationen-Schalter fest.
- Alles andere stammt vom übergeordneten Produkt, bis Sie es an der Variation setzen: WooCommerce verwendet Bild, Gewicht, Maße, Versandklasse und Steuerklasse des übergeordneten Produkts für eine Variation, die keine eigenen hat.
Die auf der Produktseite vorausgewählte Variation legen Sie im Tab Standardkombination (Default combination) desselben Werkzeugs fest: Wählen Sie Attribute und Begriffe und klicken Sie auf Kombination anwenden (Apply combination), um sie für alle ausgewählten Produkte auf einmal zu übernehmen.
Das Kopieren einer einzelnen Variation ist nicht möglich: Eine Variation ist durch ihre Attributwerte definiert, und eine Kopie wäre eine zweite Variation mit denselben Werten, zwischen denen Kunden nicht wählen könnten. Die Schaltfläche zum Duplizieren im Werkzeugbereich lehnt Variationen aus diesem Grund ab. Duplizieren Sie stattdessen das ganze Produkt; die Kopie wird als Entwurf mit allen Variationen angelegt.
Große Läufe: Limits, Timeouts und Fehler, die keine sind
Die WooCommerce-eigene Schaltfläche Varianten erzeugen hört bei 50 Variationen pro Klick auf; diese Obergrenze ist die Konstante WC_MAX_LINKED_VARIATIONS. Der Generator von BEAR wendet sie nicht an und erstellt jede markierte Kombination. Seine Grenzen sind die des Servers: Die Produkte werden zu zweit pro Anfrage verarbeitet, und jede Anfrage erstellt für beide alle markierten Kombinationen. Ein Produkt mit 1.500 Kombinationen bedeutet Tausende Datenbankschreibvorgänge in einer einzigen Anfrage.
- In Chargen erstellen. Markieren Sie einen Teil der Kombinationsliste, führen Sie den Lauf aus und markieren Sie dann den nächsten Teil. Da vorhandene Kombinationen übersprungen werden, können Sie nach einer Unterbrechung auch einfach dieselbe Auswahl noch einmal ausführen: Es wird nur erstellt, was fehlt.
- Den Fehlertext lesen. Allowed memory size exhausted im PHP-Fehlerprotokoll bedeutet, dass der Anfrage der Speicher ausgegangen ist; erhöhen Sie
memory_limitoder verkleinern Sie die Charge. Ein 502 oder 504 bedeutet, dass ihr die Zeit ausgegangen ist, oft während PHP weiterarbeitete. - Ein Fehler ist kein Beweis für ein Scheitern. Bei Hunderten Kombinationen kann der Fortschritt mit einem Fehler stehen bleiben, obwohl die Variationen erstellt wurden. Öffnen Sie eines der Produkte und zählen Sie seine Variationen, bevor Sie erneut starten; ein zweiter Lauf ergänzt ohnehin nur die fehlenden.
- Cache- und Optimierungs-Plugins. Plugins, die Admin-Anfragen zwischenspeichern oder umschreiben, haben die Erstellung von Variationen schon gestört, bekannte Fälle sind SG Optimizer und RunCloud Hub: Variationen wurden nicht erstellt, oder das Produkt fiel auf „einfach“ zurück. Nehmen Sie die Editor-Seite und
admin-ajax.phpvon ihnen aus oder deaktivieren Sie sie für den Lauf.
Die Tabellenseite großer Produkte, also Zeilen pro Seite und Speicher für Tausende Variationen, ist in Tausende Produkte in Masse bearbeiten beschrieben.
Rückgängig machen und Fehlersuche
Für erstellte Variationen gibt es kein Zurücksetzen. Falsche entfernen Sie im Tab Löschen (Deleting) desselben Werkzeugs: eine exakte Kombination pro Lauf, oder mit Alle Produktvariationen löschen (Delete all products variations) von vorn beginnen, wie in alle Variationen auf einmal entfernen. Das Löschen dort ist endgültig. Bei wenigen Produkten markieren Sie die Variationszeilen bei eingeschaltetem Variationen-Schalter und verwenden die Löschen-Schaltfläche im Werkzeugbereich.
- Nichts ist passiert. Die ausgewählten Produkte sind nicht vom Typ Variabel, oder die Zeile oben im Werkzeug zeigt eine andere Auswahl als erwartet, zum Beispiel ein vergessenes markiertes Produkt.
- Die neuen Variationen zeigen „Beliebig“ oder lassen sich nicht auswählen. Das Attribut war schon vor dem Lauf an den Produkten, aber nicht als Für Varianten verwendet markiert. Setzen Sie die Markierung im Tab Sichtbarkeit; die Werte stehen bereits an den Variationen.
- Variationsnamen ohne Attributwerte. WooCommerce entscheidet, ob ein Variationstitel seine Attribute enthält, und lässt sie weg, wenn das Produkt drei oder mehr Attribute hat oder zwei Attribute und einen Bindestrich im Namen eines davon. Die FAQ zu Variationstiteln enthält den einzeiligen Filter, der das ändert.
- Ein Begriff fehlt in der Liste. Begriffe müssen im globalen Attribut existieren, bevor sie ausgewählt werden können; fügen Sie sie unter Produkte → Attribute hinzu und öffnen Sie das Werkzeug dann erneut.
Scheitert ein Lauf weiterhin, posten Sie die Zahl der Produkte und Kombinationen sowie den Fehlertext aus dem PHP-Protokoll im BEAR-Support-Forum.