WooCommerce Schlagwörter und Marken in Masse bearbeiten: hinzufügen, entfernen
WooCommerce Produkt-Schlagwörter (Tags) oder Marken in Masse zu bearbeiten, wirkt einfach, bis die Liste lang wird: ein Schlagwort zu zweihundert Produkten hinzufügen, jedes Schlagwort aus einem Katalog entfernen, den ein alter Import mit Schlagwörtern versehen hat, einer ganzen Produktreihe die richtige Marke geben oder eine Marken-Taxonomie aus einem Marken-Attribut füllen. Schlagwörter und Marken sind Taxonomien, daher funktionieren sie in BEAR wie Kategorien, mit einigen Unterschieden, die darüber entscheiden, ob ein Lauf das tut, was Sie erwarten. Im Folgenden: die Operationen für Schlagwörter, die schnellsten Wege, Schlagwörter in Masse zu entfernen, der Umgang mit Marken aus WooCommerce und aus den gängigen Marken-Plugins sowie ein Snippet, das ein Attribut in eine Marken-Taxonomie kopiert.
WooCommerce Schlagwörter in Masse bearbeiten: der Tab Massenbearbeitung
Im Tab Massenbearbeitung (Bulk Edit) hat jede Produkt-Taxonomie ihre eigene Zeile: Kategorien, Schlagwörter, Marken und die Taxonomien anderer Plugins. Markieren Sie zur Nutzung auswählen (select it to use) neben der Zeile Schlagwörter, wählen Sie die Schlagwörter in der Liste und legen Sie ein Verhalten fest:
- anhängen (append) fügt die ausgewählten Schlagwörter hinzu und behält die vorhandenen. Ein Produkt kann dasselbe Schlagwort nicht zweimal tragen, ein erneuter Lauf ändert also nichts.
- ersetzen (replace) macht die ausgewählten Schlagwörter zu den einzigen Schlagwörtern jedes Produkts.
- entfernen (remove) löst die ausgewählten Schlagwörter und lässt die anderen unverändert.
Die Operation gilt für die Produkte, die Sie auf der aktuellen Seite markiert haben, oder, wenn keine markiert sind, für die Produkte, die der Filter im Tab Filter (Filters) übrig lässt, oder für den gesamten Shop, wenn es keinen Filter gibt. Die Schritt-für-Schritt-Beispiele in Kategorien in Masse bearbeiten funktionieren mit der Zeile Schlagwörter genauso. Jeder Taxonomie-Lauf wird im Tab Verlauf (History) erfasst und kann rückgängig gemacht werden.
Zwei Details gelten speziell für Schlagwörter:
- Ein leeres Ersetzen ändert bei Schlagwörtern nichts. Wenn Sie die Zeile Schlagwörter markieren, nichts auswählen und ersetzen wählen, behalten die Produkte ihre Schlagwörter. Bei hierarchischen Taxonomien wie Kategorien und den Marken von WooCommerce entfernt dasselbe leere Ersetzen alle ihre Begriffe von den Produkten; lassen Sie daher nie eine Taxonomie-Zeile ohne Auswahl markiert. Zum Leeren der Schlagwörter nutzen Sie die Methoden im nächsten Abschnitt.
- Die Liste zeigt nur vorhandene Schlagwörter. Legen Sie ein neues Schlagwort unter Produkte → Schlagwörter an oder mit neuen Begriff erstellen (create new term) im Schlagwörter-Popup des Produkt-Editors; es erscheint sofort in der Liste der Massenbearbeitung.
Alle Schlagwörter von WooCommerce-Produkten entfernen
Welche Methode passt, hängt davon ab, wie viele Schlagwörter es gibt und ob die Schlagwörter selbst erhalten bleiben sollen.
Jedes Schlagwort lösen, die Schlagwörter im Shop behalten
Bei einer kurzen Liste markieren Sie die Zeile Schlagwörter, wählen alle Schlagwörter aus und führen entfernen aus. Die Liste der Massenbearbeitung hat keine Schaltfläche, die jeden Begriff auswählt; bei Hunderten von Schlagwörtern nehmen Sie daher ein temporäres Schlagwort. Es braucht einen Lauf und eine Löschung, egal wie viele Schlagwörter es gibt:
- Legen Sie unter Produkte → Schlagwörter ein Schlagwort wie tmp-clear an.
- Wählen Sie die Produkte aus, markieren Sie die Zeile Schlagwörter, wählen Sie nur tmp-clear und führen Sie ersetzen aus. Jedes Produkt hat nun dieses eine Schlagwort und kein anderes.
- Löschen Sie tmp-clear unter Produkte → Schlagwörter. Das Löschen eines Begriffs löst ihn von jedem Produkt, sodass die Produkte am Ende keine Schlagwörter haben.
Schritt 2 steht im Verlauf; war die Auswahl falsch, können Sie ihn rückgängig machen und erhalten die alten Schlagwörter zurück. Tun Sie das vor Schritt 3, wenn etwas nicht stimmt.
Die Schlagwörter ganz aus dem Shop entfernen
Werden die Schlagwörter selbst nicht mehr gebraucht, ist keine Massenbearbeitung nötig: Markieren Sie unter Produkte → Schlagwörter die Schlagwörter, wählen Sie in den Massenaktionen Löschen (Delete) und wenden Sie die Aktion an. WordPress löst sie von allen Produkten. Dabei werden die Begriffe samt Beschreibungen und Archivseiten gelöscht, und der Verlauf von BEAR kann sie nicht zurückbringen.
Ein Schlagwort bei einem Teil des Katalogs entfernen
Filtern Sie im Tab Filter nach dem Schlagwort, fügen Sie eine beliebige weitere Bedingung hinzu (eine Kategorie, eine Preisspanne, ein Wort im Titel) und führen Sie dann entfernen mit diesem Schlagwort in der Zeile Schlagwörter aus. Produkte außerhalb des Filters behalten es.
Schlagwörter ersetzen oder zusammenführen
Um ein Schlagwort bei jedem Produkt umzubenennen, ändern Sie seinen Namen unter Produkte → Schlagwörter; die Produkte verweisen auf den Begriff, sodass sich sonst nichts ändern muss. Um t-shirt mit tshirt zusammenzuführen, filtern Sie nach t-shirt, führen anhängen mit tshirt aus und anschließend entfernen mit t-shirt bei demselben Filter, oder Sie löschen es unter Produkte → Schlagwörter. Eine Zeile trägt pro Lauf ein Verhalten, daher sind es immer zwei Schritte.
Schlagwörter in der Tabelle mit verknüpfter Bearbeitung leeren
Ein Klick auf eine Zelle Schlagwörter im Produkt-Editor (Products Editor) öffnet ein Popup mit einer Schnellsuche, einem Filter nur ausgewählte (selected only) und einer Checkbox Alle Begriffe auswählen (Select all terms), die alle Schlagwörter auf einmal markiert oder abwählt. Ist verknüpfte Bearbeitung (binded editing) eingeschaltet und sind mehrere Produkte markiert, wird die Menge der Schlagwörter, die Sie übernehmen, auf alle geschrieben und ersetzt deren eigene Schlagwörter. Das funktioniert, solange mindestens ein Schlagwort markiert bleibt. In Version 2.2.4 leert eine leere Menge nur das Produkt, dessen Zelle Sie bearbeitet haben; die anderen markierten Produkte behalten ihre Schlagwörter. Um Schlagwörter bei vielen Produkten zu leeren, nutzen Sie den Tab Massenbearbeitung wie oben beschrieben.
Marken in WooCommerce in Masse zuweisen
BEAR hat keine Liste unterstützter Marken-Plugins, weil es keine braucht: Jede für Produkte registrierte Taxonomie erscheint automatisch, als Filter, als Zeile im Tab Massenbearbeitung und als Spalte, die Sie im Tab Einstellungen einschalten können. Die meisten Marken-Lösungen speichern Marken als eine solche Taxonomie:
| Marken von | Taxonomie |
|---|---|
| WooCommerce Brands, seit Version 9.6 Teil von WooCommerce | product_brand |
| YITH WooCommerce Brands Add-on | yith_product_brand |
| Perfect Brands WooCommerce | pwb-brand |
Bei jedem anderen Plugin öffnen Sie dessen Markenliste im Admin-Bereich: Die Adresse enthält taxonomy= gefolgt vom Namen der Taxonomie. Erscheinen die Marken des Plugins dort, bearbeitet BEAR sie wie Schlagwörter. So weisen Sie Marken in Masse zu:
- Wählen Sie die Produkte aus, die zur Marke gehören: Filtern Sie nach einem Wort im Titel, einer SKU, die mit dem Präfix der Marke beginnt, einer Kategorie oder einem Lieferantenfeld, oder markieren Sie sie.
- Markieren Sie im Tab Massenbearbeitung die Zeile der Marken, wählen Sie die Marke und wählen Sie ersetzen, wenn ein Produkt genau eine Marke haben soll, oder anhängen, um sie zu den vorhandenen hinzuzufügen.
- Schalten Sie die Spalte der Marken ein, um das Ergebnis zu prüfen, oder filtern Sie nach der Marke.
Um die Produkte zu finden, die noch keine Marke haben, nutzen Sie den Operator NOT EXISTS für die Marken-Taxonomie, beschrieben in Produkte ohne Kategorie oder Marke finden. Neue Marken mit ihren Logos und Beschreibungen legen Sie auf dem eigenen Bildschirm des Marken-Plugins an; BEAR weist sie zu.
Zwei weitere Konstellationen gibt es. Manche Themes und Plugins führen die Marke in einem Produkt-Meta-Feld: Hängen Sie dessen Schlüssel im Tab Meta-Felder an, wie in Den Meta-Schlüssel eines Produkts finden erklärt. Viele Shops nutzen ein globales Attribut wie Marke (pa_brand); das ist in BEAR eine Attribut-Zeile, behandelt in Attribute in Masse hinzufügen.
Ein Marken-Attribut in eine Marken-Taxonomie kopieren
Ein häufiger Fall: Der Lieferanten-Feed füllt das Attribut pa_brand, und das Marken-Plugin braucht denselben Wert in seiner eigenen Taxonomie. Ein Attributbegriff und ein Markenbegriff sind getrennte Objekte in getrennten Taxonomien, und der Tab Massenbearbeitung weist feste Begriffe zu, statt sie zu kopieren; es gibt dafür also keine einzelne BEAR-Operation. Bei wenigen Marken gehen Sie Marke für Marke vor: Wählen Sie im Tab Filter einen Wert des Marken-Attributs und führen Sie dann im Tab Massenbearbeitung anhängen mit der passenden Marke aus. Ein Filter und ein Lauf pro Marke.
Bei Dutzenden von Marken oder einem täglichen Import ist ein einmaliges Skript schneller. Es liest das Marken-Attribut jedes Produkts, legt eine Marke mit demselben Namen an, falls sie noch nicht existiert, und weist sie zu:
/*
* One-off: give every product the brand named like its Brand attribute.
* Child theme functions.php or a code snippets plugin. As an administrator open
* /wp-admin/?copy_attribute_to_brand=1, then =2, =3 and so on until it reports
* 0 products. Remove the snippet afterwards.
*/
add_action( 'admin_init', function () {
if ( empty( $_GET['copy_attribute_to_brand'] ) || ! current_user_can( 'manage_woocommerce' ) ) {
return;
}
$from = 'pa_brand'; // the attribute to read
$to = 'product_brand'; // the brand taxonomy: product_brand, pwb-brand, yith_product_brand...
$replace = true; // false keeps the brands a product already has
$page = max( 1, (int) $_GET['copy_attribute_to_brand'] );
$ids = get_posts(
array(
'post_type' => 'product',
'post_status' => 'any',
'fields' => 'ids',
'posts_per_page' => 500,
'paged' => $page,
'orderby' => 'ID',
'order' => 'ASC',
'tax_query' => array(
array(
'taxonomy' => $from,
'operator' => 'EXISTS',
),
),
)
);
$updated = 0;
foreach ( $ids as $id ) {
$names = wp_get_post_terms( $id, $from, array( 'fields' => 'names' ) );
if ( is_wp_error( $names ) || empty( $names ) ) {
continue;
}
$brand_ids = array();
foreach ( $names as $name ) {
$term = term_exists( $name, $to );
if ( ! $term ) {
$term = wp_insert_term( $name, $to );
}
if ( is_array( $term ) ) {
$brand_ids[] = (int) $term['term_id'];
}
}
if ( $brand_ids ) {
wp_set_object_terms( $id, $brand_ids, $to, ! $replace );
++$updated;
}
}
wp_die( esc_html( sprintf( 'Page %d: %d products updated.', $page, $updated ) ) );
} );
- Setzen Sie zuerst
$fromund$toauf die Namen Ihres Attributs und Ihrer Marken-Taxonomie. Das Skript arbeitet in Seiten zu 500 Produkten, sodass große Kataloge das Zeitlimit des Servers nicht erreichen. - Es liest nur globale Attribute. In ein einzelnes Produkt getippte Werte sind benutzerdefinierte Attribute, keine Taxonomiebegriffe; wandeln Sie sie zuerst in globale Attribute um.
- Das Skript schreibt direkt, daher erfasst der Verlauf von BEAR es nicht. Machen Sie vor der ersten Seite ein Datenbank-Backup.
- Führen Sie es nach jedem Import erneut aus; bleibt
$replaceauftrue, erhält ein Produkt, dessen Marken-Attribut sich geändert hat, die neue Marke statt einer zweiten.
Ein Hook auf die Attributänderungen von BEAR ist kein Ersatz: Im Tab Massenbearbeitung laufen Attributänderungen nicht über woobe_before_update_product_field, und durch einen Import gefüllte Attribute berühren BEAR gar nicht.
Schlagwörter und Marken in der kostenlosen Version
In der kostenlosen Version nimmt von den Taxonomien nur die Zeile Kategorien an Operationen der Massenbearbeitung teil. Die Zeilen Schlagwörter und Marken werden in roten Containern ohne die Checkbox zur Nutzung auswählen angezeigt, und die verknüpfte Bearbeitung dieser Spalten wird mit einem Hinweis abgelehnt. Das vollständige Bild steht in den Einschränkungen der kostenlosen Version.
Wenn es nicht funktioniert
- Die Zeile der Marken fehlt. Das Plugin registriert seine Marken nicht als Produkt-Taxonomie; suchen Sie wie oben beschrieben nach einem Meta-Feld oder einem Attribut. Bei einem Shop-Manager prüfen Sie außerdem, ob die Spalte im Tab Einstellungen sichtbar für den Shop-Manager ist.
- Schlagwörter sind nicht verschwunden. Ein leeres ersetzen und die verknüpfte Bearbeitung ohne markiertes Schlagwort leeren bei anderen Produkten keine Schlagwörter; nutzen Sie entfernen oder das temporäre Schlagwort.
- Zu viele Produkte wurden geändert. Der Lauf traf alle gefilterten Produkte oder den ganzen Shop, weil kein Produkt markiert war; öffnen Sie den Verlauf und machen Sie den Datensatz rückgängig.
Liefert ein Schlagwort- oder Marken-Lauf trotzdem nicht das erwartete Ergebnis, eröffnen Sie im BEAR-Support-Forum ein Thema mit dem Namen der Taxonomie, dem gewählten Verhalten und einer Produkt-ID.