BEAR - WooCommerce Bulk Editor and Products Manager Professional

WooCommerce Bulk Editor: Änderungen werden nicht gespeichert – so beheben Sie es

Dass Änderungen im WooCommerce Bulk Editor nicht gespeichert werden, kann vier verschiedene Dinge bedeuten: Ein in eine Zelle getippter Wert verschwindet nach dem Neuladen, die verknüpfte Bearbeitung (binded editing) ändert nur die Zeile, in die Sie getippt haben, eine Massenbearbeitung endet mit bearbeitete Produkte: 0 (products bulked: 0), oder die Werte wurden gespeichert und sind Stunden später wieder die alten. Jeder Fall hat seine eigene Ursache, und der Editor zeigt Ihnen, welchen Sie vor sich haben, wenn Sie wissen, wo Sie nachsehen müssen. Unten steht zuerst dieses Ablesen, dann die Lösung für jeden Fall.

Was das Symptom Ihnen sagt

Nach einer Zellbearbeitung zeigt BEAR Wird gespeichert ... (Saving ...), solange die Anfrage läuft, und Gespeichert. (Saved.), wenn der Server geantwortet hat; danach wird die Zelle mit dem neu gezeichnet, was der Server zurückgegeben hat. Nach einer Massenbearbeitung erhält der Verlauf (History)-Tab einen Eintrag mit seinem Zustand und der Anzahl der geänderten Produkte. Zusammen führen sie zur Ursache:

Was Sie sehenWas es bedeutet
Überhaupt kein Wird gespeichert ..., nach dem Neuladen der alte WertDie Bearbeitung wurde nie gesendet: Die Zelle wurde ohne Enter verlassen
Die Zelle zeigt nach Enter nicht erlaubt (forbidden)Das Feld ist für Ihre Rolle nicht bearbeitbar
Die Zelle zeigt nach Enter 0Die Sicherheitsprüfung hat die Anfrage abgelehnt: keine Berechtigung für dieses Produkt, oder die Editor-Seite war so lange geöffnet, dass ihr Sicherheits-Token abgelaufen ist (laden Sie sie neu)
Wird gespeichert ... bleibt stehen, Gespeichert. erscheint nieDie Anfrage wurde blockiert oder ist auf dem Server fehlgeschlagen
Die verknüpfte Bearbeitung hat von mehreren markierten Zeilen nur eine geändertDie Übertragung auf die anderen Zeilen wurde nicht gestartet oder hat ihre Daten nicht erhalten
Verlauf: completed, bearbeitete Produkte: 0Die Massendaten gingen zwischen den Anfragen verloren, meist durch Caching
Gespeichert, im Verlauf sichtbar, später wieder geändertEtwas anderes als BEAR hat in die Produkte geschrieben

Inline-Bearbeitungen werden mit Enter gespeichert

Text- und Zahlenzellen des Produkteditors (Products Editor) (Titel, SKU, Preise, Lagerbestandsmenge, Gewicht, Maße, Meta-Felder) öffnen beim Anklicken ein Eingabefeld. Der Wert wird erst an den Server gesendet, wenn Sie Enter drücken, was speichert und dieselbe Zelle in der nächsten Zeile öffnet, oder Pfeil nach oben / Pfeil nach unten, was speichert und nach oben oder unten wechselt. Esc bricht ab. Tab und ein Klick außerhalb der Zelle senden nichts, und der Klick auf eine andere Zelle schließt das offene Eingabefeld, ohne es zu speichern. Pfeil nach links und Pfeil nach rechts bewegen nur den Cursor im Text. Wenn Sie sich daran gewöhnt haben, lässt sich so eine Spalte schnell füllen: tippen, Enter, tippen, Enter, die ganze Seite hinunter.

Dropdowns, Schalter und Popup-Editoren wie die Beschreibung speichern in dem Moment, in dem Sie einen Wert wählen oder das Popup bestätigen, sie brauchen also kein Enter.

Bei Meta-Feldern kann eine Bearbeitung, die „nicht hängen bleibt“, auch ein anders getippter Schlüssel sein: BEAR speichert unter dem Schlüssel, den Sie konfiguriert haben, und das Produkt zeigt weiter den Wert, der unter dem echten Schlüssel liegt. Vergleichen Sie den Schlüssel im Meta-Felder (Meta Fields)-Tab mit den benutzerdefinierten Feldern des Produkts.

Die verknüpfte Bearbeitung ändert nur ein Produkt

Die verknüpfte Bearbeitung ist ein Schalter in der Werkzeugleiste. Ist sie eingeschaltet, wird ein in einer markierten Zeile gespeicherter Wert in jede andere markierte Zeile der Seite übertragen; die Übertragung läuft als kleine Massenoperation, weshalb sie einen eigenen Eintrag im Verlauf erhält. Die üblichen Gründe, warum nur die Zeile geändert wird, in die Sie getippt haben:

  • Der Schalter hat sich selbst ausgeschaltet. Er schaltet sich ab, sobald eine Übertragung startet, sodass das nächste Feld, das Sie bearbeiten, nur in einer Zeile gespeichert wird. Schalten Sie ihn vor jeder verknüpften Bearbeitung wieder ein.
  • Zu wenige Zeilen markiert. Markieren Sie mindestens zwei Produkte, darunter das, in das Sie tippen. Das Markieren gilt für die aktuelle Seite; für eine größere Menge verwenden Sie einen Filter und den Massenbearbeitung (Bulk Edit)-Tab, wie in denselben Wert für mehrere Produkte gleichzeitig setzen beschrieben.
  • Das Feld ist für die verknüpfte Bearbeitung nicht verfügbar. Der Tooltip neben dem Schalter listet die Felder auf, die die kostenlose Version übertragen kann; bei anderen weist eine Meldung darauf hin, dass das Feld für die Massenbearbeitung deaktiviert ist.
  • Die Übertragungsanfrage hat ihre Daten nicht erhalten. Sie nutzt denselben serverseitigen Speicher und dieselben admin-ajax.php-Anfragen wie der Massenbearbeitung-Tab, daher gilt alles aus dem Abschnitt zu Firewalls und Caching weiter unten. Auch ein JavaScript-Fehler in der Browser-Konsole (F12) stoppt sie; testen Sie in einem privaten Fenster und in einem anderen Browser, um ein veraltetes, zwischengespeichertes Skript oder eine Browser-Erweiterung auszuschließen.

Markierte Produkte bleiben markiert, solange Sie auf der Seite weiterarbeiten, und der Massenbearbeitung-Tab gibt ihnen Vorrang vor dem Filter: Seine Zeile Massenbearbeitung wird angewendet auf (Bulk editing will be applied to) nennt dann die ausgewählten Produkte und ihre Anzahl. Heben Sie die Markierung mit der Schaltfläche zum Abwählen in der Werkzeugleiste auf, bevor Sie eine Massenbearbeitung starten, die den ganzen Filter abdecken soll, sonst ändert sie nur die markierten Produkte.

Von Rollen und Berechtigungen abgelehnte Bearbeitungen

BEAR öffnet sich für Benutzer mit der WooCommerce-Berechtigung manage_woocommerce, und jedes Speichern prüft, ob der Benutzer genau dieses Produkt bearbeiten darf. Eine Rolle ohne edit_others_products kann nur ihre eigenen Produkte speichern; bei den anderen wird die Anfrage abgelehnt, und die Zelle zeigt 0.

Andere Rollen als Administrator sind außerdem pro Feld eingeschränkt. Im Einstellungen (Settings)-Tab setzt ein Administrator unter jeder Spalte, die ein Shop-Manager sehen und bearbeiten darf, den Haken bei sichtbar für den Shop-Manager (visible for the shop manager) und speichert mit Alle Einstellungen speichern (Save all settings). Spalten ohne Haken werden dieser Rolle gar nicht angezeigt. Die Falle ist eine frische Installation: Solange kein Administrator den Einstellungen-Tab einmal gespeichert hat, ist noch kein Feld markiert, sodass ein Shop-Manager jede Spalte sieht und jede Bearbeitung mit nicht erlaubt beantwortet wird. Das Speichern des Einstellungen-Tabs als Administrator beendet das. Das FAQ zur Einschränkung der Shop-Manager-Rolle zeigt die Einrichtung.

Für Regeln, die sich mit den Kontrollkästchen nicht ausdrücken lassen, entscheiden zwei Filter im Code. woobe_user_can_edit entscheidet pro Feld für andere Rollen als Administrator: Geben Sie 1 zurück, um zu erlauben, und 0, um abzulehnen.

// Child theme functions.php or a code snippets plugin.
// BEAR: let non-administrator roles edit prices and stock whatever the Settings checkboxes say.
add_filter( 'woobe_user_can_edit', function ( $can_edit, $field_key, $visibility ) {
    if ( in_array( $field_key, array( 'regular_price', 'sale_price', 'stock_quantity' ), true ) ) {
        return 1;
    }
    return $can_edit;
}, 10, 3 );

woobe_permit_special_roles lässt eine Rolle innerhalb von BEAR als Administrator gelten. Setzen Sie es sparsam ein: Eine solche Rolle sieht und speichert auch die shopweiten Einstellungen, darunter die Einstellungen des MCP-Servers.

add_filter( 'woobe_permit_special_roles', function ( $roles ) {
    $roles[] = 'shop_manager';
    return $roles;
} );

Kann ein Administratorkonto nicht speichern und ein anderes schon, liegt das Problem im Konto selbst. BEAR entscheidet nach der ersten Rolle des Kontos; ein Administrator, der zusätzlich eine zweite Rolle aus einem Mitgliedschafts- oder Rollen-Editor-Plugin trägt, kann daher wie diese andere Rolle behandelt werden, und ein Rollen-Editor kann Berechtigungen auch nur bei einem einzigen Konto entfernen. Legen Sie einen neuen Administrator an, wiederholen Sie die Bearbeitung und vergleichen Sie die Rollen und Berechtigungen beider Konten.

Firewalls, Caching-Plugins und „bearbeitete Produkte: 0“

Server-Firewalls. ModSecurity-Regeln, auch die Web Application Firewall von Plesk, antworten auf eine Anfrage mit HTML oft mit 403 Forbidden, sodass Beschreibungen und anderer Text mit Markup bei Wird gespeichert ... hängen bleiben. Das Firewall-Protokoll nennt die Regel; deaktivieren Sie diese Regel für die Website und nicht die ganze Firewall. Das FAQ Der Beschreibungsinhalt wird nicht gespeichert zeigt einen solchen Fall.

Caching- und Optimierungs-Plugins. Jedes Speichern und jeder Massenschritt ist eine Anfrage an /wp-admin/admin-ajax.php. Seiten-Caches mit aktiviertem Admin- oder AJAX-Caching, Funktionen zum „Optimieren für angemeldete Benutzer“, das Minifizieren und Zusammenfassen von Admin-Skripten sowie Hosting-Caches auf autoskalierenden Plattformen haben diese Anfragen schon abgefangen. WP-Optimize und LiteSpeed Cache sind typische Beispiele, und bei beiden besteht die Lösung darin, /wp-admin/ vom Seiten-Caching und von der Optimierung auszunehmen; Datenbankbereinigung und Bildkomprimierung können eingeschaltet bleiben. Zum Testen deaktivieren Sie das Cache-Plugin, leeren den Server-Cache, wiederholen die Bearbeitung und schalten die Dinge einzeln wieder ein.

Der Speicher der Massendaten. Der Massenbearbeitung-Tab speichert die Operation auf dem Server, und jeder Stapel liest sie wieder aus. Verliert der Speicher sie, findet jeder Stapel nichts zu schreiben, und der Verlauf zeigt completed mit bearbeitete Produkte: 0. Stellen Sie Plugin-Speicher (Plugin memory storage) in den Einstellungen auf Option (empfohlen) und entfernen Sie jedes alte woobe_storage_type-Snippet; die Gründe stehen in Bulk-Editor-Filter funktioniert nicht, denn derselbe Speicher hält auch den Filter.

Trifft nichts davon zu, kann ein in das Speichern von Produkten eingehängtes Plugin einen Schreibvorgang trotzdem stoppen oder rückgängig machen. Plugins bei Massenbearbeitungen isolieren zeigt, wie Sie es finden und aus den Anfragen von BEAR heraushalten.

Werte, die sich später zurückändern

BEAR schreibt nur dann in Produkte, wenn jemand in seinem Editor speichert, einen Eintrag im Verlauf zurücksetzt oder über seinen MCP-Server arbeitet, sofern dieser eingeschaltet ist. Jedes davon hinterlässt einen Eintrag im Verlauf, und der Verlauf zeigt, wer die Änderung vorgenommen hat und ob von Hand oder über einen KI-Agenten. Ändern sich Preise, Lagerbestand oder Attribute zu einem Zeitpunkt zurück, zu dem es keinen Verlaufseintrag gibt, war es nicht BEAR.

Suchen Sie nach allem, was sonst nach Zeitplan in Produkte schreibt: Produktimport- und Synchronisierungs-Plugins, POS- und Lager-Konnektoren, ERP- und Marktplatz-Integrationen, Lieferanten-Feeds und mehrsprachige Plugins, die Felder aus der Originalsprache in Übersetzungen kopieren. Deren Protokolle oder die Zeit ihrer geplanten Aufgaben unter Werkzeuge > Geplante Aktionen (Tools > Scheduled Actions) stimmen meist mit dem Moment überein, in dem sich der Wert geändert hat.

So bestätigen Sie, dass eine Änderung gespeichert wurde

  1. Die Zelle. Nach Enter zeigt sie den gespeicherten Wert, nicht nicht erlaubt oder 0, und Gespeichert. erscheint.
  2. Der Verlauf. Der Eintrag existiert, sein Zustand ist completed, und bearbeitete Produkte entspricht der Zahl, die Sie erwartet haben.
  3. Das Produkt selbst. Öffnen Sie es unter Produkte (Products) im wp-admin. Die Datenbank ist die Wahrheit; zeigt die Shop-Seite weiterhin den alten Wert, liefert der Seiten-Cache oder der eigene Cache eines Page Builders eine alte Kopie (siehe den Elementor-Fall).
  4. Die Protokolle. Bei eingeschaltetem WP_DEBUG_LOG zeigt wp-content/debug.log PHP-Fehler, die beim Speichern aufgetreten sind, und der Netzwerk-Tab des Browsers zeigt den Status der admin-ajax.php-Anfrage: 403 bei einer Firewall, 500 bei einem PHP-Fehler.

Wird der Wert weiterhin nicht gespeichert, eröffnen Sie ein Thema im BEAR-Support-Forum mit dem Feld, dem, was die Zelle nach Enter zeigt, dem Verlaufseintrag und dem Status der Anfrage.