WooCommerce Produktbild in Masse ändern: Galerie und Alt-Text
WooCommerce Produktbild in Masse ändern bedeutet, eine Bild-ID bei vielen Produkten gleichzeitig zu setzen: bei jedem Produkt einer Kategorie, bei jedem Produkt, das noch kein Bild hat, oder im ganzen Shop. In BEAR ist das das Feld Vorschaubild (Thumbnail) im Massenbearbeitung-Tab, und es wirkt auf alle gefilterten Produkte, nicht nur auf die Seite, die Sie sehen. Im Folgenden steht, wie Sie das tun, wie Sie Hauptbilder entfernen und Galerien in Masse bearbeiten und was bei Bilddateien und Alt-Text zu tun ist, die zur Mediathek gehören und nicht zu den Produkten.
Wo WooCommerce Produktbilder speichert
Ein Produkt enthält keine Bilder; es verweist auf sie.
- Das Produktbild (WooCommerce nennt es Produktbild (Product image)) ist eine Anhangs-ID, die im Meta-Feld
_thumbnail_iddes Produkts gespeichert wird. In BEAR ist es die Spalte Vorschaubild, standardmäßig eingeschaltet. - Die Galerie (Produktgalerie (Product gallery)) ist eine Liste von Anhangs-IDs in
_product_image_gallery. In BEAR ist es die Spalte Galerie (Gallery), die Sie im Einstellungen-Tab einschalten. - Das Bild selbst ist ein Anhang in der Mediathek: die Datei, ihre skalierten Kopien, ihr Titel und ihr Alt-Text.
Das Ändern oder Entfernen eines Bildes an einem Produkt ändert also nur die ID, auf die das Produkt verweist. Die Datei bleibt, wo sie ist, ein Bild kann tausend Produkte bedienen, und sein Alt-Text ist bei allen derselbe. Vorschaubild und Galerie sind außerdem getrennte Felder: Eine Änderung der Galerie ändert das Hauptbild nicht, und umgekehrt.
WooCommerce Produktbild gefilterter Produkte in Masse ändern
- Wählen Sie im Filter-Tab die Produkte aus: eine Kategorie, einen Produkttyp, einen Lagerstatus oder eine beliebige andere Bedingung, und klicken Sie dann auf Filtern (Filter). Setzen Sie keinen Filter und markieren Sie keine Produkte, ändert der nächste Schritt jedes Produkt im Shop, und die Bestätigungsmeldung warnt Sie davor.
- Öffnen Sie den Massenbearbeitung-Tab und dort den Bereich Zusätzlich (Additional).
- Haken Sie Vorschaubild an, klicken Sie auf Vorschaubild auswählen (select thumbnail) und wählen Sie das Bild im Medienfenster aus oder laden Sie dort ein neues hoch.
- Klicken Sie auf Massenbearbeitung durchführen (Do Bulk Edit) und warten Sie, bis der Fortschrittsbalken 100 % erreicht.
Die Tabelle zeigt jeweils eine Seite mit Zeilen (Standardanzahl der Produkte pro Seite (Default products count per page) im Einstellungen-Tab), aber der Massenlauf ist dadurch nicht begrenzt: Er verarbeitet jedes gefilterte Produkt in Chargen, 40.000 Produkte brauchen also einen Lauf und nicht 400 Auswahlen. Für sehr große Läufe siehe Tausende Produkte in Masse bearbeiten. Jede Änderung wird im Verlauf (History) erfasst, ein falsches Bild lässt sich also zurücksetzen.
Braucht jedes Produkt sein eigenes Foto, klicken Sie in seiner Zelle Vorschaubild auf das Bild und wählen Sie das richtige aus. Produkte ohne Bild zeigen in dieser Zelle ein Platzhalterbild; es ist wie jedes andere anklickbar. Um einigen markierten Produkten dasselbe Bild zu geben, schalten Sie verknüpfte Bearbeitung (binded editing) ein und ändern Sie das Bild eines von ihnen. Bei ausgeschaltetem Schalter Variationen (variations) ändert all das nur übergeordnete Produkte; Variationsbilder behandelt Variationsbilder in Masse bearbeiten.
Nur Produkte, die noch kein Bild haben
Setzen Sie den Filter Vorschaubild auf Leer (Empty), klicken Sie auf Filtern und führen Sie die obigen Schritte aus. Leer bedeutet, dass das Produkt überhaupt keinen Eintrag _thumbnail_id hat. Ein Produkt, dessen Bild in Masse entfernt wurde (nächster Abschnitt), behält den Eintrag mit dem Wert 0, deshalb listet dieser Filter es nicht auf; solche Produkte erscheinen unter Nicht leer (Not empty) mit einem Platzhalter in der Spalte Vorschaubild. Produkte ohne Kategorie oder Bild finden zeigt die übrigen Filter für „Was fehlt“.
Dasselbe Bild für jedes Produkt einer Kategorie
Filtern Sie nach der Kategorie und führen Sie die Massenbearbeitung aus. Danach verweisen alle Produkte auf einen einzigen Anhang: Es werden keine zusätzlichen Dateien erstellt, und die Produkte teilen sich seinen Alt-Text.
Wollen Sie eigentlich ein Standardbild für Produkte ohne Foto, zum Beispiel in einem Feed, der täglich Produkte hinzufügt, ist die Massenbearbeitung das falsche Werkzeug: Sie erreicht nur Produkte, die jetzt existieren, und jedes davon müsste erneut geändert werden, sobald sein echtes Foto eintrifft. WooCommerce hat dafür eine Einstellung, Platzhalterbild (Placeholder image) unter WooCommerce → Einstellungen → Produkte. Es wird für jedes Produkt ohne Bild angezeigt, auch für später hinzugefügte, und schreibt nichts in die Produkte.
Das Produktbild in Masse entfernen
- Filtern Sie die Produkte, deren Hauptbild verschwinden soll.
- Haken Sie im Bereich Zusätzlich des Massenbearbeitung-Tabs Vorschaubild an und wählen Sie kein Bild aus.
- Klicken Sie auf Massenbearbeitung durchführen.
Die Bild-ID dieser Produkte wird auf 0 gesetzt, und der Shop zeigt für sie den WooCommerce-Platzhalter. Die Dateien bleiben in der Mediathek, und der Lauf lässt sich im Verlauf zurücksetzen.
Produktgalerien bearbeiten, neu ordnen und aufräumen
Schalten Sie die Spalte Galerie im Einstellungen-Tab ein und speichern Sie. Jede Zelle zeigt dann die ersten Bilder und ihre Anzahl; ein Klick öffnet die Galerie dieses Produkts.
- Hinzufügen: Bild hinzufügen (Add Image) öffnet das Medienfenster; neue Bilder werden am Anfang der Liste eingefügt.
- Entfernen: Das Papierkorb-Symbol an einem Bild nimmt es aus der Galerie.
- Neu ordnen: Ziehen Sie die Bilder. Die Reihenfolge im Fenster ist die Reihenfolge auf der Produktseite.
- Klicken Sie auf Anwenden (Apply), um zu speichern.
Das Neuordnen gilt pro Produkt, weil jedes Produkt seine eigenen Bilder hat. Die verknüpfte Bearbeitung kopiert die gesamte Galerie des bearbeiteten Produkts in alle markierten Produkte; verwenden Sie sie also nur, wenn diese am Ende identische Galerien haben sollen.
Für viele Produkte gleichzeitig haken Sie im Bereich Zusätzlich des Massenbearbeitung-Tabs Galerie an, klicken auf die zugehörige Schaltfläche Bilder (Images), fügen die Bilder hinzu und wählen, was damit geschehen soll:
| Vorgang | Ergebnis für jedes gefilterte Produkt |
|---|---|
| Alle Produktbilder durch die ausgewählten ersetzen (Replace all products images by the selected ones) | Die Galerie besteht genau aus den ausgewählten Bildern. Sind keine Bilder ausgewählt, werden die Galerien geleert. |
| Ausgewählte Bilder zu den bereits vorhandenen hinzufügen (Add selected images to the already existed ones) | Die ausgewählten Bilder werden nach den vorhandenen hinzugefügt. |
| Ausgewählte Bilder von den Produkten löschen (Delete selected images from the products) | Die ausgewählten Bilder werden aus den Galerien genommen; die Dateien bleiben. |
| Ausgewählte Bilder von den Produkten löschen und auch dauerhaft aus der Mediathek löschen (Delete selected images from the products, also delete them from the media library forever) | Wie oben, und die ausgewählten Dateien werden von der Website gelöscht. |
Klicken Sie im Fenster auf Anwenden, dann auf Massenbearbeitung durchführen. Beispiele Schritt für Schritt: zwei Bilder zu jeder Galerie hinzufügen und Bilder aus den Galerien einiger Produkte entfernen. In der kostenlosen Version wird die Galerie nur in ihrer Zelle bearbeitet; der Massenbearbeitung-Tab und die verknüpfte Bearbeitung ändern sie nicht (siehe Einschränkungen der kostenlosen Version).
Produktbilder aus der Mediathek löschen
Das Entfernen eines Bildes von einem Produkt löscht die Datei nie: weder wenn Sie das Vorschaubild auf nichts setzen, noch wenn Sie eine Galerie leeren, noch wenn Sie das Produkt löschen. Das ist Absicht, denn dieselbe Datei kann anderswo verwendet werden. Speicherplatz wird erst frei, wenn der Anhang selbst gelöscht wird.
Die einzige Ausnahme ist der letzte Galerievorgang in der Tabelle oben. Er löscht die Anhänge, die Sie im Fenster ausgewählt haben, samt allen skalierten Kopien, und ist für eine bekannte Menge von Bildern gedacht, zum Beispiel ein altes Banner, das jeder Galerie hinzugefügt wurde. Bevor Sie ihn verwenden:
- Er löscht nur die Bilder, die Sie ausgewählt haben, nicht jedes Bild der gefilterten Produkte. Hauptbilder sind nicht eingeschlossen, solange Sie sie nicht auswählen.
- Das Löschen gilt für die gesamte Website. Ein gelöschtes Bild verschwindet von jedem Produkt, das es verwendet hat, auch von Produkten außerhalb des Filters und von Produkten, die es als Hauptbild hatten.
- Es lässt sich nicht rückgängig machen. Der Verlauf kann die IDs wieder in die Galerien eintragen, aber die Dateien sind weg. Sichern Sie zuvor den Uploads-Ordner.
Um die Fotos alter Produkte zu entfernen und ihre Texte zu behalten, entfernen Sie die Bilder in BEAR von den Produkten und löschen Sie die Dateien anschließend unter Medien → Mediathek. WordPress hat keine eingebaute Prüfung auf ungenutzte Bilder. Der Filter Nicht angehängt (Unattached) in der Mediathek ist keine: Ein Bild, das aus der Mediathek für das Vorschaubild oder die Galerie eines Produkts gewählt wurde, ist diesem Produkt nicht angehängt (nur ein Bild, das aus einer Zelle Vorschaubild hochgeladen wurde, ist es), sodass ein nicht angehängtes Bild trotzdem in Gebrauch sein kann. Sehen Sie sich das Bild in der Mediathek an, bevor Sie es löschen, oder verwenden Sie ein spezielles Werkzeug zur Medienbereinigung und prüfen Sie dessen Liste.
Der Alt-Text gehört zum Bild, nicht zum Produkt
Der Alt-Text wird mit dem Anhang gespeichert, in dessen Meta-Feld _wp_attachment_image_alt, und WooCommerce gibt ihn überall aus, wo das Bild angezeigt wird. BEAR bearbeitet Produkte und hat deshalb keine Alt-Text-Spalte. Auch das Hinzufügen von _wp_attachment_image_alt im Meta-Felder-Tab hilft nicht: Dieser Tab bearbeitet Produkt-Metadaten, der Wert wird also bei den Produkten gespeichert, und die Bilder ändern sich nicht. Und da ein Bild genau einen Alt-Text hat, kann ein Bild, das viele Produkte teilen, nicht bei jedem von ihnen einen anderen Alt-Text haben.
Bei wenigen Bildern bearbeiten Sie den Alt-Text direkt beim Auswählen: Das Medienfenster, das die Zelle Vorschaubild oder Bild hinzufügen öffnet, zeigt rechts die Bilddetails, und das Feld Alternativtext (Alternative Text) dort wird direkt am Bild gespeichert. Medien → Mediathek hat dasselbe Feld.
Um leere Alt-Texte aller Produktbilder mit dem Produktnamen zu füllen, führen Sie einmal ein kurzes Skript mit WP-CLI aus. Vorhandene Alt-Texte bleiben unberührt; ein Bild, das mehrere Produkte teilen, erhält den Namen des ersten.
<?php
/*
* Fill EMPTY alt texts of product images (main image + gallery) with the product name.
* Save as fill-product-image-alt.php, run once from the WordPress folder:
* wp eval-file fill-product-image-alt.php
* then delete the file.
*/
$product_ids = wc_get_products( array(
'status' => array( 'publish', 'draft', 'pending', 'private' ),
'limit' => -1,
'return' => 'ids',
) );
foreach ( $product_ids as $product_id ) {
$product = wc_get_product( $product_id );
if ( $product instanceof WC_Product ) {
$image_ids = array_merge( array( $product->get_image_id() ), $product->get_gallery_image_ids() );
foreach ( array_filter( array_map( 'absint', $image_ids ) ) as $attachment_id ) {
$alt = (string) get_post_meta( $attachment_id, '_wp_attachment_image_alt', true );
if ( '' === trim( $alt ) ) {
update_post_meta( $attachment_id, '_wp_attachment_image_alt', sanitize_text_field( $product->get_name() ) );
}
}
}
}
PDFs und eigene Bilderlisten in Meta-Feldern
Der Meta-Felder-Tab bietet für einen Meta-Schlüssel eine Ansicht Galerie (gallery). Sie ist keine allgemeine Dateiliste: Das Medienfenster, das sie öffnet, zeigt nur Bilder, andere Dateien werden in der Zelle ausgeblendet. In 2.2.4 hat sie außerdem ein Anzeigeproblem: Die Zelle eines Meta-Feldes mit der Ansicht Galerie zeigt die WooCommerce-Galerie des Produkts statt des Inhalts des eigenen Schlüssels. Was Sie dort speichern, wird in den Schlüssel geschrieben, erscheint aber nicht, wenn Sie die Zelle erneut öffnen, und ein Klick auf Anwenden kopiert die WooCommerce-Galerie in den Schlüssel. Verwenden Sie sie vorerst nicht für zusätzliche Galerien oder Anhänge.
Um Produkten PDFs oder eine zweite Bilderliste zuzuordnen, speichern Sie die Anhangs-IDs als Text, zum Beispiel 123,456, in einem Meta-Feld mit der Ansicht Textfeld (textinput) und lassen Sie den Code Ihres Themes den Schlüssel lesen. Der Textwert lässt sich wie jedes andere Feld für viele Produkte gleichzeitig setzen; die Dokumentation zu Meta-Feldern erklärt, wie Sie den Schlüssel hinzufügen.
Wenn sich die Bilder nicht ändern
- Das Feld Galerie fehlt im Massenbearbeitung-Tab. Schalten Sie zuerst die Spalte Galerie im Einstellungen-Tab ein; das Massenfeld erscheint nur für eine aktive Spalte.
- Ein Shop-Manager sieht Vorschaubild oder Galerie nicht. Die Felder lassen sich pro Rolle ausblenden; siehe Berechtigungen für Shop-Manager.
- Der Editor zeigt das neue Bild, der Shop das alte. Leeren Sie den Seiten-Cache und den CDN-Cache. Zeigt die Produktseite weiterhin das alte Bild, zeigt das Theme möglicherweise ein Variationsbild oder eine Galerie eines anderen Plugins.
- Nur die erste Seite hat sich geändert. Sie haben Zellen bearbeitet oder die verknüpfte Bearbeitung bei markierten Zeilen verwendet. Für alle gefilterten Produkte verwenden Sie den Massenbearbeitung-Tab und lassen die Produkte unmarkiert.
Verhalten sich die Bilder trotzdem nicht wie beschrieben, eröffnen Sie im BEAR-Support-Forum ein Thema mit den Schritten, die Sie ausgeführt haben, und den Versionen von Plugin und WooCommerce.