[Gelöst] Rundung von USD-Preisen auf „…9“ funktioniert nicht wie gewünscht
Dieses Thema ist gelöst. Hier finden Sie eine Beschreibung des Problems und der Lösung.
Problem: Sie verwenden WooCommerce Multilingual & Multicurrency und möchten, dass alle USD-Brutto-Preise auf glatte Beträge mit einer 9 am Ende gerundet werden. Trotz der Einstellungen in den Währungsoptionen werden die Preise im Frontend nicht wie gewünscht gerundet. Solution: Wenn Sie benutzerdefinierte Shortcodes verwenden, wie z.B. [show_price id="3303"], müssen Sie sicherstellen, dass diese mit WPML und WCML kompatibel sind. Hier ist ein Beispiel, wie Sie einen Shortcode anpassen können, um die korrekte Preisumrechnung und -formatierung zu gewährleisten:
add_shortcode('show_price', function($atts) {
$atts = shortcode_atts([
'id' => 0,
], $atts);
$product_id = (int) $atts['id'];
if (!$product_id) return '';
// Get translated product ID if WPML is active
if (class_exists('sitepress')) {
$product_id = apply_filters('wpml_object_id', $product_id, 'product', false, apply_filters('wpml_current_language', null));
}
$product = wc_get_product($product_id);
if (!$product) return '';
// Get price in current WCML currency
if (function_exists('wcml_get_price_in_currency')) {
$price = wcml_get_price_in_currency($product->get_price(), wcml_get_woocommerce_currency());
} else {
$price = $product->get_price();
}
// Format price using WooCommerce formatting
return wc_price($price);
});
Bitte beachten Sie, dass diese Lösung möglicherweise veraltet oder nicht auf Ihren Fall zutreffend ist. 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. Wenn das Problem weiterhin besteht, 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.
Hintergrund des Themas:
Ich nutze WooCommerce Multilingual & Multicurrency für meine Shop-Preise. Mein Ziel ist es, dass alle USD-Brutto-Preise automatisch auf glatte Beträge mit einer 9 am Ende gerundet werden (z. B. 276,47 → 279,00 USD, 293,28 → 299,00 USD). Ich habe in den Währungseinstellungen bereits folgendes gesetzt: Rundung auf nächste ganze Zahl: Hoch, Schrittweite: 10, Betrag automatisch abziehen: 1, Dezimalstellen: 2.
Die Symptome:
Trotz der Einstellungen werden die USD-Preise im Frontend weiterhin krumm angezeigt (z. B. 276,47 USD).
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 findst Du unterhalb des Kommentarbereichs, wenn Du dich anmelden, 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 Ihre 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 ggfls. ein Plugin namens "All In One WP Migration" installieren, um eine Kopie der Website anzulegen, auf welche ich das Problem genauer untersuchen kann.
Ich wäre allerdings auch sehr dankbar, wenn Du zu diesem Zweck selbst eine Staging Site, bzw. Kopie der Website 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.