[Gelöst] Preisänderung wird nicht nach Änderung übernommen
Dieses Thema ist gelöst. Hier finden Sie eine Beschreibung des Problems und der Lösung.
Problem: Das Problem besteht darin, dass WPML Preisänderungen in der führenden Sprache 'DE' nicht korrekt auf die Produkte in anderen Sprachen wie 'FR' und 'EN' überträgt. Solution: 1) Erstellen Sie ein volles Backup Ihrer Website. 2) Verbinden Sie sich mit Ihrer Datenbank und führen Sie das folgende SQL-Skript aus:
DELETE FROM wp_postmeta WHERE meta_key IN ('_price', '_regular_price') AND meta_id NOT IN (SELECT max_id FROM (SELECT MAX(meta_id) as max_id FROM wp_postmeta WHERE meta_key IN ('_price', '_regular_price') GROUP BY post_id, meta_key) AS keepers);
3) Bearbeiten Sie das Produkt in der Standardsprache und schließen Sie die Übersetzung ab. Der Preis sollte nun korrekt in allen Sprachen aktualisiert werden. Zusätzlich wurde das Problem durch das Release von WooCommerce Multilingual 5.4.3 behoben, welches Sie hier finden: https://wpml.org/errata/multiple-postmeta-inserted-incorrectly-for-a-variable-product/
Falls diese Lösung nicht relevant oder veraltet erscheint oder falls das Problem weiterhin besteht, empfehlen wir, ein neues Support-Ticket zu eröffnen. Wir empfehlen auch, die Seite mit bekannten Problemen (https://wpml.org/known-issues/) zu überprüfen, die Version der dauerhaften Lösung zu verifizieren und zu bestätigen, dass Sie die neuesten Versionen von Themes und Plugins installiert haben.
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.
Das Problem mit WPML ist viel grösser als angenommen. Wir stellen fest, dass WPML unsere Preisänderungen in der führender Sprache "DE" nicht unter den Produkten in den anderen Sprachen FR und EN anpasst. WPML schützt diesen Bereich und das Problem kann nicht manuell korrigiert werden. Wir legen als Beispiel einen Screenshot einer vorgenommenen Preisänderung bei (DE Preis CHF 42.90 / EN: Preis noch bei CHF 41.90).
Wir benötigen nun dringlich Ihren Support, da dieser Fehler uns echt Geld kostet!
Besten Dank für umgehende Behandlung dieses WPML-Fehlers.
1) Erstellen Sie ein volles Backup
2) Verbinden Sie sich auf die DB und führen Sie folgendes Script aus:
DELETE FROM wp_postmeta
WHERE meta_key IN ('_price', '_regular_price')
AND meta_id NOT IN (
SELECT max_id FROM (
SELECT MAX(meta_id) as max_id
FROM wp_postmeta
WHERE meta_key IN ('_price', '_regular_price')
GROUP BY post_id, meta_key
) AS keepers
);
3) Bearbeiten Sie die Default-Sprache des Produkts, und schließen Sie die Übersetzung ab
4) Der Preis wird dann neu übernommen - also bei mir 42.90 CHF in DE wird dann ebenso zu EN übertragen.
Es sieht so aus, als ob ein genereller Fehler mit den Produktdaten passiert ist. Das erklärt auch, warum die Varianten im vorherigen Ticket falsch waren. Falls das nochmal vorkommt, können Sie die WooCommerce Produkt-Tabellen neu generieren. Den Link dazu finden Sie im vorherigen Ticket.
Bitte kontaktieren Sie dazu Ihr Hosting-Unternehmen. Diese können Ihnen genauer mitteilen, wie Sie sich auf die Datenbank verbinden können. Lt. Einer kurzen Google Suche sollten Sie sich auf phpMyAdmin wie hier beschrieben verbinden können: versteckter Link.
Dort können Sie dann im Tab "SQL" das Snippet auf Ihrer Installation ausführen.
Dieses Snippet löschte alle doppelten Einträge mit den Meta-Keys _price und _regular_price aus der Tabelle wp_postmeta, wobei jeweils nur der neueste (MAX(meta_id)) Eintrag pro post_id und meta_key erhalten bleibt.
Bearbeiten Sie nun die Default-Sprache des Artikels und schließen Sie die Bearbeitung dann ab, dann sollte derselbe Preis wie in DE auch unter EN und FR dargestellt werden.
Wir haben das durchgeführt und jetzt wird beim Artikel "Jasmin" der gleiche Preis unter allen Sprachen dargestellt. So weit GUT!
Wir testen heute Nacht aber noch, ob dies bei anderen Produkten (Calla, Lily, Dahlia) auch sauber funktioniert und werden morgen Ihnen eine Rückmeldung geben. Wenn alles funktioniert, dann könnten wir dieses Ticket dann schliessen.
Das Problem mit den Preisänderungen ist leider nicht gelöst! Wenn wir den Preis von zB des Produktes "Calla" auf CHF 41.80 verändern (senken), dann wird diese Preis zwar in der Default-Sprache angewendet, aber in den Sprachen EN und FR wird diese NICHT übernommen.
Wir müssen dieses durch WPML verursachte Problem nachhaltig lösen. Welche Schritte kann WPML nun unternehmen?
PS: wir haben eine Preisänderung nun bei allen unseren Produkten getestet und das Problem tritt immer auf. Auch das mit dem DB-Snippet reparierten Produkt "Jasmin" tritt das Problem auch wieder auf.
Wir sind leider keinen Schritt weiter. Vielen Dank für eine baldige Lösung.
Danke für die Info. Es sieht nach einem Bug aus, wir versuchen gerade dies von Grund auf nachzustellen, um dies zu bestätigen. Es gab inzwischen auch eine andere Meldung dazu.
Vielen Dank für Ihre Unterstützung zu diesem Ticket. Wir haben es nochmals nach dem Update auf WPML 5.4.3 getestet und Preisänderungen scheinen nun in allen Sprachen übernommen zu werden. Wir gehen davon aus, dass das Ticket geschlossen werden kann.
Eine kurze Frage noch: ist WPML mit WP Rocket kompatibel?
Nochmals vielen Dank für die gute Unterstützung.
Viele Grüsse
Alicia
Cookie-Zustimmung verwalten
Wir verwenden Cookies, um unsere Website und Dienste zu optimieren. Ihre Zustimmung erlaubt es uns, Daten wie das Durchsuchen der Website zu verarbeiten. Wenn Sie nicht zustimmen, können einige Funktionen beeinträchtigt werden.
Funktionell
Immer aktiv
Erforderlich für den Betrieb und die korrekte Kommunikation auf unserer Website.
Präferenzen
The technical storage or access is necessary for the legitimate purpose of storing preferences that are not requested by the subscriber or user.
Statistiken
Wir verwenden diese, um die Statistiken unserer Website zu analysieren. Die gesammelten Informationen sind völlig anonym. Der technische Speicher oder Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Einhaltung durch Ihren Internetdienstanbieter oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen in der Regel nicht dazu verwendet werden, Sie zu identifizieren.
Marketing
Diese Cookies verfolgen Ihr Surfverhalten, um für Sie relevante Werbung anzuzeigen.