Navigation überspringen

Dieses Thema ist gelöst. Hier finden Sie eine Beschreibung des Problems und der Lösung.

Problem:
Wenn die Plugins 'WPML String Translation' oder 'Woocommerce Multilingual & Multicurrency' aktiviert sind, tritt ein kritischer Fehler auf, der das Durchführen von Bestellungen verhindert.
Lösung:
Der Fehler stammt direkt aus dem WooCommerce-Code. Überprüfen Sie die Übersetzung in WPML → String Translation und stellen Sie sicher, dass die Platzhaltervariable %s korrekt beibehalten wurde und nicht zu % oder einem anderen Wert geändert wurde. Hier ist der betroffene Code:

$tax_text = wp_kses_post( sprintf( __( '(includes %s)', 'woocommerce' ), implode( ', ', $tax_string_array ) ) );

Diese Lösung könnte veraltet sein oder auf Ihren Fall nicht zutreffen. 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. Sollte das Problem weiterhin bestehen, 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.

Dieses Thema enthält 3 Antworten, hat 2 Stimmen.

Zuletzt aktualisiert von Heinz Vor 5 Tage, 3 Stunden.

Assistiert von: Marcel.

Verfasser Beiträge
November 19, 2024 unter 10:03 am #16418611

Heinz

Hintergrund des Themas:
Ich versuche, einen kritischen Fehler zu beheben, der auftritt, wenn ich 'WPML String Translation' oder 'Woocommerce Multilingual & Multicurrency' aktiviere. Eine Bestellung kann nicht vorgenommen werden, wenn diese Plugins aktiviert sind.

Die Symptome:
Es gibt einen kritischen Fehler, wenn 'WPML String Translation' oder 'Woocommerce Multilingual & Multicurrency' aktiviert ist.

Fragen:
Wie kann ich den kritischen Fehler beheben, der bei der Aktivierung von 'WPML String Translation' oder 'Woocommerce Multilingual & Multicurrency' auftritt?

November 19, 2024 unter 11:44 am #16419183

Marcel
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+01:00)

Hallo,

bitte aktivieren Sie das WP debug.log um den exakten Fehler sowie Code Zeile lokalisieren zu können. Um es zu aktivieren, öffnen Sie die Datei wp-config.php und suchen Sie nach define('WP_DEBUG', false);. Ändern Sie es in:

define('WP_DEBUG', true);
define( 'WP_DEBUG_LOG', true );

In diesem Fall werden die Fehler in einer Protokolldatei debug.log im Verzeichnis /wp-content/directory gespeichert. Bitte öffnen Sie dann den Warenkorb und die Kassa im Frontend und prüfen Sie, welche Logs aufgezeichnet wurden.

Dokumentation:
https://codex.wordpress.org/Debugging_in_WordPress

Viele Grüße
Marcel

November 20, 2024 unter 8:56 am #16423134

Heinz

Have it. Can I send that part to you via mail?

November 20, 2024 unter 4:28 pm #16425693

Marcel
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+01:00)

Hi,

Please share it using Pastebin and provide the link here in the form. The next response will include a private input field for the URL, allowing you to share it securely.

Best regards,
Marcel

November 21, 2024 unter 12:53 pm #16429073

Marcel
Supporter

Sprachen: Englisch (English ) Deutsch (Deutsch )

Zeitzone: Europe/Madrid (GMT+01:00)

Thanks for the log. The error originates directly from WooCommerce's code (plugins/woocommerce/includes/wc-cart-functions.php:348). I couldn't find any connection to /woocommerce-multilingual/ in the stack trace.

I reviewed the affected WooCommerce line where the issue occurs:

$tax_text = wp_kses_post( sprintf( __( '(includes %s)', 'woocommerce' ), implode( ', ', $tax_string_array ) ) );

This line uses a placeholder variable %s. It's likely that the variable has been altered when translating via WPML → String Translation. Please check the relevant translation there and ensure it remains %s and hasn't been changed to % or any other value.

Best regards,
Marcel

November 21, 2024 unter 1:25 pm #16429190

Heinz

Great. I've already thought in this direction, but you helped me further.

The plugin German Market contained a translated string "Enthält %" instead of "Enthält %s" (Enthält = includes).

That was it, thank you!