[Gelöst] Im Admin wechselt der Sprachkontext zufällig zwischen allen Sprachen
Dieses Thema ist gelöst. Hier finden Sie eine Beschreibung des Problems und der Lösung.
Problem: Wenn Sie im Backend Ihres mehrsprachigen WooCommerce-Shops Produkte bearbeiten, werden manchmal die Produkteigenschaften leer angezeigt oder in einer anderen Sprache übersetzt. Dies führt dazu, dass nach dem Speichern im Backend die fehlerhaften Produkteigenschaften die korrekten überschreiben. Zudem werden im Backend die Kategorien in Fremdsprachen angezeigt, obwohl die Adminsprache auf Deutsch eingestellt ist. Solution: Das Problem wurde durch den Redis Cache verursacht, der im Backend die Eigenschaften aus den fremdsprachigen Produkten lud. Um dies zu beheben, empfehlen wir, Redis im Admin-Modus zu deaktivieren. Fügen Sie folgenden Code in Ihre
Dies verhindert, dass Redis im Backend aktiv ist, während es im Frontend weiterhin funktioniert. Dadurch wird die Sprachverwirrung in der Datenbank vermieden.
Bitte beachten Sie, dass dieser Workaround keine endgültige Lösung darstellt und dieses Problem nicht genauer untersucht werden konnte, weil das Ticket vom Nuyzer geschlossen wurde. Wir empfehlen Ihnen, die bekannten Probleme zu überprüfen, die Version der dauerhaften Lösung zu bestätigen und sicherzustellen, dass Sie die neuesten Versionen von Themes und Plugins installiert haben. Sollten weiterhin Probleme auftreten, eröffnen Sie bitte ein neues Support-Ticket.
Dies ist das technische Support-Forum für WPML – das mehrsprachige WordPress-Plugin.
Mitlesen können alle, doch nur WPML-Kunden können hier Fragen veröffentlichen. Das WPML-Team antwortet im Forum an 6 Tagen pro Woche, 22 Stunden am Tag.
Hallo WPML-Team,
wir haben ein Problem, das wir nicht selbstständig lösen können. Es äußert sich folgendermaßen:
1. Wenn ein Produkt im Backend im Bearbeitungsmodus (klassischer Editor) geöffnet wird, sind teils die Produkteigenschaften leer, teils in eine andere Sprache übersetzt. Im Frontend funktioniert alles - bis zu dem Punkt, wo das Produkt im Bearbeitungsmodus gespeichert wird. Dann überschreiben die fehlerhaften Produkteigenschaften die korrekten Produkteigenschaften. Teils verschwindet dadurch die Variantenauswahl, teils ganze Eigenschaften, teils werden neue Eigenschaften-Werte in übersetzten Begriffen neu geschrieben. Neben dem korrekten "Holz" gibt es dann in deutscher Original-Sprache auch den niederländischen Wert "Hout".
2. Im Backend wird in der Übersicht bei Produkte > alle Produkte die Kategorien in Fremdsprachen angezeigt, obwohl die Adminsprache auf "Deutsch" steht.
Hier eine Zusammenfassung:
- Domain-basiertes Setup (10 Domains, Eine andere Domain pro Sprache)
- Klassischer Editor
- Im Admin springt der Sprachkontext zufällig zwischen allen aktiven Sprachen
- Betrifft Produkteigenschaften und Kategorien in der Backend-Ansicht
- Frontend ist korrekt
- WPML Version 6.9.4
Wir stellen euch gerne einen Admin-Zugang oder FTP-Zugriff zur Verfügung.
Die AI konnte das Problem nicht lösen. Daher wäre ich über menschliche Hilfe dankbar.
Hier einer der vielen Einträge aus dem debug.log, die mit WPML zusammenhängen:
[27-Apr-2026 23:01:29 UTC] PHP Deprecated: Method SplObjectStorage::contains() is deprecated since 8.5, use method SplObjectStorage::offsetExists() instead in /usr/www/users/betterbe/betterwood_de/wp-content/plugins/wpml-string-translation/classes/filters/strings-filter/Translations.php on line 29
Update: Ich habe ein Downgrade von PHP 8.5. auf 8.4. gemacht. Jetzt scheint es zu funktionieren. Es wäre aber toll, wenn ihr bald ein Update bringen würdet, damit WPML auch mit der aktuellsten Version von PHP kompatibel ist (und z.B. SplObjectStorage::contains() ersetzt).
Update: Ich habe nun ein Downgrade von PHP 8.5 auf 8.4 gemacht. Nun scheinen die Fehler behoben. Es wäre aber toll, wenn ihr bald ein Update bringen könntet, damit WPML auch mit der neuesten Version von PHP kompatibel ist (und z.B. SplObjectStorage::contains() ersetzt).
Update 2: Trotz Downgrade auf PHP 8.3 musste ich feststelle, dass die Fehler weiterhin vorhanden sind. Die mir zur Verfügung stehenden Mittel (z.B. "Geistereinträge aus den Übersetzungstabellen entfernen", "Begriffszählung korrigieren", "Sprachinformationen festlegen", "Beitragstypzuweisung für Übersetzungen korrigieren") führen nicht zum gewünschten Ergebnis. Daher wäre ich weiterhin über Support dankbar.
Ich kann gerne anbieten, mir das einmal genauer anzusehen.
Ich möchte einen temporären Zugriff (wp-admin und FTP) auf die Website anfordern, um das Problem genauer zu untersuchen.
Die dafür erforderlichen Felder findest du unterhalb des Kommentarbereichs, wenn Du dich anmeldest, um die nächste Antwort zu hinterlassen. Die Informationen, die du angibst, sind privat, was bedeutet, dass nur du und ich sie sehen und darauf zugreifen können.
WICHTIG
Lege bitte unbedingt eine Sicherungskopie der Website und der Datenbank an, bevor Du uns den Zugriff gewährst.
Wenn Du die Felder "wp-admin / FTP" nicht sehen kannst, werden deine Anmeldedaten für Post und Website als "PUBLIC" (Öffentlich) festgelegt. Veröffentliche die Daten NICHT, es sei denn, Du siehst die erforderlichen wp-admin / FTP-Felder.
Ich muss hier eventuell ein Plugin namens "All In One WP Migration" installieren, um eine Kopie der Website anzulegen, auf welcher ich das Problem genauer untersuchen kann.
Ich wäre allerdings auch sehr dankbar, wenn du zu diesem Zweck selbst eine Staging Site von deinem Server aus bereitstellen könntest.
Bei Fragen zum Erstellen einer solchen Staging Site kannst Du deinen Hosting-Anbieter konsultieren. Achte bitte darauf, dass WPML auf diesem Staging ebenso unter https://wpml.org/de/account/websites/ registriert sein muss.
Solltest Du dazu nicht in der Lage sein, eine solche Kopie der Website zum Testen bereitzustellen, dann lass es mich bitte auf diesem Ticket wissen.
Das private Antwortformular sieht folgendermaßen aus: versteckter Link
Klicke beim nächsten Antworten auf "I still need assistance".
Video: versteckter Link
Beachte bitte, dass wir verpflichtet sind, diese Informationen auf jedem Ticket individuell anzufordern. Wir dürfen nicht auf Zugangsinformationen zugreifen, die nicht speziell auf diesem Ticket im privaten Antwortformular übermittelt wurden.
wir haben nun die Staging Site für dich aufgesetzt. Wie kann ich dir auf sicherem Weg die Zugangsdaten senden?
Durch die Erstellung der Staging Site hatten wir bereits eine große Erkenntnis:
Wir nutzen einen Object Cache (Redis) auf Seite. Für die Staging Site mussten wir den deaktivieren, damit es nicht zu ungewollten Verschränkungen kommt. Nach Deaktivierung waren die beschriebenen Fehler bei den Produkten verschwunden.
Du kannst dich ja nun sowohl auf der Live-Seite als auch auf der Staging Site (betterwood.fi) einloggen und den Fehler sehen.
Wir können und wollen auf Grund der Größe der Seite nicht auf einen Object Cache verzichten. Daher wäre es toll, wenn Du uns helfen könntest die passende Konfiguration für Redis / WPML zu finden, damit es nicht mehr zu diesem Kompatibilität-Problem kommt.
Dieses Attribute werden unter Produkte > Attribute angelegt. Diese Attribute sollten dort immer in der Standardsprache der Website angelegt werden. Sie werden daraufhin unter WPML > Taxonomie-Übersetzung übersetzt.
Aktuell ist es hier aber so, dass unter Produkte > Attribute die Einträge für alle Sprache hinterlegt wurden und deshalb funktioniert die Übersetzung nicht wie erwartet.
Vielen Dank für die Information. Viele dieser Produktattribute wurden vor der Aktivierung von WPML angelegt.
- Wie lässt sich das nun auf WPML anpassen, damit WPML damit fehlerfrei umgehen kann?
- Funktioniert WPML nach Korrektur auch in Kombination mit Redis?
- Hast Du in der Produktübersicht im Backend gesehen, dass auch die Kategorien der Produkte in gemischten Sprachen erscheinen? Wie sollen wir das Problem angehen?
noch eine Präzisierung: Die Attribute mit dem Ende "TP" werden ausschließlich für einen Datenfeed verwendet und nicht übersetzt. Scrolle bei Produkte > Attribute weiter nach unten und schaue die z.B. die Eigenschaft "Länge" an, ob deine Anmerkung für diese Eigenschaft auch zutreffend ist.
nur zur Präzisierung: scrolle bei Produkte > Attribute weiter nach unten und schau dir die Eigenschaft "Länge" an. Trifft dein Hinweis auch auf dieses Attribut zu?
Alle Eigenschaft mit dem Ende "TP" werden ausschließlich für einen Datenfeed verwendet und sind als "nicht übersetzbar" bei WPML > Einstellungen markiert.
genau das ist der Punkt: das Produkt hat Eigenschaften auch im deutschen Original. Sie werden für die Varianten verwendet. Wenn du es aber im Backend öffnest scheinen die Eigenschaften leer zu sein. Man darf es in keinem Fall speichern, weil es dann diesen fehlerhaften Zustand ins Frontend überträgt.
Hier findest Du den Link zu dem Produkt, wie es aktuell live ist: versteckter Link
Du siehst, dass Eigenschaften vorhanden sind.
Alle Produkte, die du in der Produktübersicht siehst (als Admin Sprache deutsch) und die eine fremdsprachige Artikelkategorie haben, haben diese fehlerhaften Attribute im Backend, die aber erst nach Speichern ins Frontend übertragen werden. Die Produkte, die in der Produktübersicht eine deutsche Artikelkategorie haben, haben in der Regel das Problem nicht.
Ob ein Produkt fehlerhaft ist und in der Übersicht eine fremdsprachige Artikelkategorie hat, wechselt übrigens scheinbar zufällig.
Meine Annahme kommt daher, dass die Probleme mit Fremdsprachen zu tun haben und WPML unser Übersetzungs-Plugin ist:
- Die Produkte, mit fehlerhaften Attributen im Backend, haben gemeinsam, dass sie mit fremdsprachigen Kategorien erscheinen (welche sie faktisch nicht haben).
- Diese fehlerhaften Produkte im Backend haben übersetzte Produkteigenschaften im deutschen Original, welche nicht in den Produkteigenschaften angelegt sind.
- Erst durch das Speichern des Produktes, werden diese fremdsprachigen Eigenschaften geschrieben (dann aber in die deutsche Sprachversion).
- Die Seite ist seit 15 Jahren online und wir haben zuvor Gtranslate genutzt. Erst mit der Umstellung zu WPML im Winter sind diese Probleme entstanden.
Meine Vermutung ist, dass WPML und Redis nicht korrekt zusammen spielen und teils Daten von anderen Sprachversionen abgerufen.
Ich habe dir einige Screenshots hochgeladen, die das Problem hoffentlich deutlicher machen. Wie du dort sehen kannst gibt es unter "Vorteile" nicht die Werte, die im Produkt im Backend erscheinen.
WPML nimmt keinen Einfluss auf die in WooCommerce auf Deutsch angelegten Attribute oder Inhalte – es erstellt lediglich die Übersetzungen.
Bei den Schreibtischen am Anfang der Produktliste fehlen im ursprünglichen deutschen Produkt die Attribute. In diesem Fall müssen die Attribute erneut zugewiesen werden. Dieses Verhalten entsteht nicht durch WPML, sondern durch die fehlende Zuweisung im Originalprodukt.
Ein Beispiel: Beim Produkt "Massaranduba Unterkonstruktion" sind im deutschen Original Attribute vorhanden, und in der englischen Übersetzung sehe ich die gleiche Anzahl an Attributen.
Falls ich hier etwas übersehe, bitte ich um ein konkretes Beispiel, bei dem die Übersetzung nicht wie erwartet funktioniert. Nur mit einem exakten Fall können wir prüfen, ob ein Fehler vorliegt und diesen ggf. intern eskalieren.
- Attribute müssen im Originalprodukt vorhanden sein.
- WPML übersetzt nur, es löscht oder verändert keine Originalattribute.
- Konkrete Beispiele sind notwendig, um einen Fehler nachzuvollziehen.