WooCommerce Produkt-Meta-Key finden und Plugin-Felder in Masse bearbeiten
Um ein Feld in Masse zu bearbeiten, das ein anderes Plugin oder Ihr Theme zu WooCommerce-Produkten hinzugefügt hat, braucht BEAR den Meta-Key des Feldes: den Namen, unter dem WordPress den Wert in der Tabelle wp_postmeta speichert. Die Beschriftung im Produktbildschirm ist nicht der Key, und die ID des Eingabefelds, die Sie im Browser-Inspektor sehen, ebenso wenig. Haben Sie den Key, binden Sie ihn im Tab Meta-Felder (Meta Fields) ein, und das Feld wird zu einer Spalte wie jede andere. Im Folgenden: vier Wege, den Meta-Key eines WooCommerce-Produkts zu finden, wie Sie die passende Ansicht dafür wählen, warum Variationen einen zweiten Key brauchen können und wie Sie Felder erkennen, die gar keine Metadaten sind.
So finden Sie den Meta-Key eines WooCommerce-Produkts
1. BEAR nach den Keys eines Produkts fragen
- Öffnen Sie ein Produkt, tragen Sie in das Feld einen Wert ein, den Sie wiedererkennen, zum Beispiel
TEST-777, und klicken Sie auf Aktualisieren (Update). Viele Plugins speichern nichts, solange ein Feld keinen Wert hat, sodass ein unberührtes Produkt den Key möglicherweise noch nicht besitzt. - Notieren Sie die Produkt-ID: Sie steht in der ID-Spalte von BEAR und in der Adresse des Bearbeitungsbildschirms (
post=123). - Geben Sie im Tab Meta-Felder die ID in Meta-Schlüssel von einem beliebigen Produkt anhand seiner ID abrufen (Get meta keys from any product by its ID) ein und klicken Sie auf Abrufen (Get). Jeder Meta-Key dieses Produkts wird der Liste hinzugefügt, außer den eigenen Keys von WooCommerce wie Preis, SKU, Lagerbestand und Bildern, die integrierte Spalten sind.
- Suchen Sie in den Namen nach dem Präfix des Plugins. Kommen mehrere Keys infrage, behalten Sie vorerst alle, klicken Sie auf Meta-Felder speichern (Save meta fields), schalten Sie die Spalten im Tab Einstellungen (Settings) ein und sehen Sie nach, welche Spalte
TEST-777zeigt. Löschen Sie dann die anderen Zeilen im Tab Meta-Felder.
Keys, die mit einem Unterstrich beginnen, sind normal: WordPress blendet solche Keys in seinem eigenen Bereich „Benutzerdefinierte Felder“ aus, und viele Plugins nutzen sie absichtlich. ACF ist ein Sonderfall mit einem Key-Paar, name und _name; der Artikel zum Massenbearbeiten von ACF-Feldern erklärt, welches Sie verwenden. Erscheint nach dem Ausfüllen des Feldes kein neuer Key, wird der Wert nicht als Produkt-Meta gespeichert; siehe den Abschnitt zu Feldern, die keine Metadaten sind, weiter unten.
2. Den Namen des Feldes im Produktformular lesen
Klicken Sie im Bearbeitungsbildschirm des Produkts mit der rechten Maustaste auf das Feld und wählen Sie „Untersuchen“. Das Attribut name des Eingabefelds ist oft der Meta-Key, besonders bei Feldern, die mit den eigenen Formularfunktionen von WooCommerce gebaut wurden. Das Attribut id ist nicht zuverlässig: Eine ID wie location_0 ist ein Formularelement, und sie in BEAR einzubinden ergibt eine leere Spalte. Namen mit eckigen Klammern wie variable_custom_note[0] oder quantity_rules[0][max] beschreiben das Formular, nicht die Datenbank: [0] ist die Zeile einer Variation und [max] ein Teil eines Arrays. Verwenden Sie den Namen nur als Hinweis und bestätigen Sie ihn mit Methode 1.
3. In der Datenbank nachsehen
Mit phpMyAdmin oder Adminer aus dem Hosting-Panel listet diese reine Leseabfrage jeden Key und Wert eines Produkts auf (ersetzen Sie wp_, wenn $table_prefix in der wp-config.php etwas anderes angibt, und 123 durch die Produkt-ID):
SELECT meta_key, meta_value FROM wp_postmeta WHERE post_id = 123;
Mit WP-CLI gibt wp post meta list 123 dasselbe aus. Anders als bei Methode 1 sehen Sie bei beiden die Werte, woran Sie erkennen, wie die Daten gespeichert sind.
4. Den Autor des Plugins fragen
Die Dokumentation oder der Support des Plugins, dem das Feld gehört, kann den Key und das Format nennen. Stellen Sie beide Fragen: welcher Key, und wie sieht ein gespeicherter Wert aus.
Die Ansicht nach dem gespeicherten Wert wählen
BEAR schreibt genau das, was Sie ihm geben, daher müssen Ansicht und Typ im Tab Meta-Felder zu dem passen, was das zugehörige Plugin speichert.
| Der gespeicherte Wert sieht so aus | Ansicht und Typ in BEAR |
|---|---|
| Text, ein Code, eine URL | Textfeld (textinput), Zeichenkette (string) |
Ein Preis oder eine Menge, etwa 12.50 | Textfeld, Zahl (number) (Sortierung, Filter von/bis, um % erhöhen) |
1 oder 0 | Kontrollkästchen (checkbox); für yes/no siehe benutzerdefinierte Checkbox-Felder |
| Langer Text oder HTML | Textbereich (textarea) |
Eine zehnstellige Zahl wie 1767225600 (ein Unix-Zeitstempel) | Kalender (calendar) |
a:2:{i:0;s:3:"red";...} (ein serialisiertes PHP-Array) | Array, siehe serialisierte Metadaten |
| Eine serialisierte Liste von Bild-IDs | Galerie (gallery), siehe Variationsbilder und Galerien |
JSON-Text, etwa {"min":1,"max":5} | Textfeld oder Textbereich, mit Vorsicht bearbeitet: Die Ansicht Array speichert ein PHP-Array, was nicht das Format ist, das das Plugin geschrieben hat |
Enthält ein Wert mehrere Einstellungen in einem Array, binden Sie den Basis-Key mit der Ansicht Array ein, nicht einen Key mit eckigen Klammern. Die Dokumentation zu Meta-Feldern beschreibt den Tab selbst.
Variationen können einen anderen Key verwenden
Ein Plugin kann dieselbe Einstellung bei einfachen Produkten unter einem Key und bei Variationen unter einem anderen Key speichern, zum Beispiel einen eigenen Lagerbestandstext, der für Produkte in einem Key und für Variationen in einem zweiten Key steht. Das Bearbeiten des ersten Keys an Variationen ändert dann nichts, was das Plugin liest. Schalten Sie Variationen (variations) im Werkzeugbereich ein, kopieren Sie eine Variations-ID aus der ID-Spalte und führen Sie damit Meta-Schlüssel von einem beliebigen Produkt anhand seiner ID abrufen aus. Binden Sie den Variations-Key ebenfalls ein und bearbeiten Sie ihn bei eingeschaltetem Variationen-Schalter. Die Text- und Zahlenzeilen des Tabs Massenbearbeitung (Bulk Edit) schreiben dann in die Variationen; Meta-Feld-Filter betrachten die übergeordneten Produkte, wählen Sie Variationen daher über ihre Attribute aus, wie in Variationen nach Attribut filtern.
Felder, die keine Produkt-Metadaten sind
- Taxonomien. Ein Feld, das eine Liste von Begriffen mit Checkboxen anbietet, wie Marken oder manche Feed-Kategorien, ist meist eine Taxonomie. BEAR zeigt Produkt-Taxonomien in der Spaltenliste des Tabs Einstellungen an, wie in benutzerdefinierten Taxonomien beschrieben. Manche Plugins registrieren eine Taxonomie, halten ihre eigentlichen Daten aber in Metadaten; bleibt eine Änderung der Taxonomie-Spalte wirkungslos, suchen Sie nach einem Meta-Key.
- Eigene Tabellen. Manche Plugins halten Produktdaten in eigenen Tabellen. Kein Meta-Key erreicht sie, daher muss das Feld über die Bildschirme dieses Plugins bearbeitet werden, wie beim Einkaufspreis von ATUM in Wareneinsatz in Masse bearbeiten.
- Einstellungen und berechnete Werte. Ein Wert, der einmal für den ganzen Shop oder eine Kategorie festgelegt wird, liegt in den Optionen, und manche Werte werden bei jedem Seitenaufruf berechnet. Beides gehört nicht zu einem Produkt.
Werte, die das andere Plugin zurücksetzt
BEAR speichert einen Meta-Wert und löst dann save_post, save_post_product, edit_post und woocommerce_update_product aus (woocommerce_update_product_variation bei einer Variation), die Benachrichtigungen, die WordPress und WooCommerce beim Speichern eines Produkts senden. Das Produktbearbeitungsformular sendet es nicht ab. Zwei Arten von Plugins reagieren darauf anders als auf ein manuelles Speichern:
- Plugins, die zusätzliche Arbeit nur beim Absenden des Formulars erledigen, etwa Anhangseinträge anlegen oder einen Zeitplan neu berechnen, laufen nicht. Die Metadaten werden gespeichert, aber die übrigen Daten des Plugins werden nicht erzeugt, und das Feld scheint wirkungslos, bis jemand beim Produkt auf Aktualisieren klickt.
- Plugins, die ihre Daten bei jedem Speichern eines Produkts prüfen, können den Wert nach ihren eigenen Regeln überschreiben: Ein Plugin für Vorbestellungen oder Liefertermine kann ein Flag zurücksetzen oder ein Datum löschen, zu dem es keinen passenden Status gibt.
Um herauszufinden, was das Plugin braucht, führen Sie Meta-Schlüssel abrufen (Get meta keys) bei einem Produkt vor und nach dem Ändern der Einstellung von Hand aus und vergleichen Sie Keys und Werte. Oft besteht eine sichtbare Einstellung aus zwei oder drei Keys, die gemeinsam gesetzt werden müssen. Setzt das Plugin den Wert trotzdem zurück, kann nur sein Autor sagen, welche Daten es erwartet.
Zahlen statt Namen, defekte URLs
- Eine Zahl, wo Sie einen Namen erwartet haben. Eine Meta-Spalte zeigt den gespeicherten Wert so, wie er ist. Viele Felder speichern IDs: eine Kategorie-ID (die primäre Kategorie von Yoast,
_yoast_wpseo_primary_product_cat), eine Anhangs-ID für ein Bild oder eine Datei, eine Benutzer-ID für einen Verkäufer, Produkt-IDs für verknüpfte Produkte. Bearbeiten Sie sie, indem Sie die ID eingeben. Um Kategorienamen zu sehen, nutzen Sie stattdessen die Taxonomie-Spalte. - Eine URL, die leer oder als Array endet. Eine Textzelle liest ein Prozentzeichen gefolgt von zwei Zeichen aus 0–9 und A–F, wie in
%D0%BFoder%20, als URL-kodierte Formulardaten, und der Wert wird nicht als Text gespeichert. Browser kopieren Adressen mit nicht-lateinischen Buchstaben in dieser kodierten Form. Fügen Sie stattdessen die lesbare Adresse mit den echten Buchstaben ein.
Das Löschen einer Zeile im Tab Meta-Felder entfernt nur die Spalte aus BEAR; die Werte bleiben an den Produkten. Auch der Key eines eingebundenen Feldes lässt sich nicht umbenennen: Ein anderer Key bedeutet andere Daten, und die alten Werte bleiben unter dem alten Key. Um ein Feld bei vielen Produkten zu leeren, siehe einen leeren Wert setzen.
Checkliste für ein neues Plugin-Feld
- Das Feld wurde bei einem Produkt ausgefüllt, und der Key wurde mit Meta-Schlüssel von einem beliebigen Produkt anhand seiner ID abrufen bestätigt.
- Ansicht und Typ passen zum gespeicherten Wert.
- Variationen wurden auf einen eigenen Key geprüft.
- Eine Testbearbeitung bei einem Produkt zeigt den neuen Wert im Bearbeitungsbildschirm des Produkts und auf der Produktseite.
Ist der Key oder sein Format weiterhin unklar, posten Sie den Plugin-Namen und eine Produkt-ID im BEAR-Support-Forum.