Zum Inhalt springen Zur Seitenleiste springen

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.

Schlagwörter: ,

Dieses Thema enthält 8 Antworten, hat 0 Stimmen.

Zuletzt aktualisiert von buenyaminD Vor 5 Tage, 3 Stunden.

Assistiert von: Andreas W..

Autor Beiträge
August 18, 2025 um 5:53 pm #17329091

buenyaminD

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).

Fragen:
Was mache ich falsch?

August 19, 2025 um 7:17 am #17329823

Andreas W.
WPML-Unterstützer seit 12/2018

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch )

Zeitzone: America/Lima (GMT-05:00)

Hallo,

Es sieht so aus, als ist USD hier die Standardwährung in WooCommerce.

Sehe ich das richtig?

Falls ja, dann beachte bitte, dass WCML keine Einstellung zum Runden der Standardwährung hat. Du musst in dem Fall eine WooCommerce-Hook anwenden:

Anleitung:
https://stackoverflow.com/questions/61836970/how-can-i-round-up-the-price-in-woocommerce

Mit freundlichen Grüßen
Andreas

August 19, 2025 um 8:18 am #17330192

buenyaminD

Nein, die Standardwährung ist EUR

August 19, 2025 um 8:24 am #17330203

Andreas W.
WPML-Unterstützer seit 12/2018

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch )

Zeitzone: America/Lima (GMT-05:00)

Hallo,

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.

Mit freundlichen Grüßen
Andreas

August 19, 2025 um 4:10 pm #17332177

Andreas W.
WPML-Unterstützer seit 12/2018

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch )

Zeitzone: America/Lima (GMT-05:00)

Im Backend sieht alles korrekt aus, aber ich kann die Produkte nicht einsehen, weil sie auf Seiten weiterleiten.

Auf den Seiten, werden die Preise per Shortcode angegeben und auf diese Weise greift WCML anscheinend nicht:

Das ist kein WooCommerce Shortcode:
[show_price id="3303"]

Für Custom Shortcode muss man entsprechende Hooks für WPML und WCML anwenden, damit diese wie erwartet funktionieren.

Beispiel:

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 (function_exists('icl_object_id')) {
        $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);
});
August 22, 2025 um 8:45 am #17339703

buenyaminD

Ich benötige noch etwas Zeit zum Überprüfen und melde mcih! Vielen Dank!

August 22, 2025 um 1:51 pm #17340715

Andreas W.
WPML-Unterstützer seit 12/2018

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch )

Zeitzone: America/Lima (GMT-05:00)

Kein Problem, das Ticket bleibt für 14 Tage offen.

August 25, 2025 um 1:24 pm #17345323

buenyaminD

Guten Tag,

ich konnte das Problem selbstständig lösen:
add_filter( 'woocommerce_adjust_non_base_location_prices', '__return_false' );

Diese Codezeile verhindert das interne Runden bei Woocommerce und die WPML Rundung erfolgt nun ebenfalls wie gewünscht.

Eventuell kann man damit anderen Ihrer Kunden helfen.

LG

August 26, 2025 um 3:10 pm #17348909

Andreas W.
WPML-Unterstützer seit 12/2018

Sprachen: Englisch (English ) Spanisch (Español ) Deutsch (Deutsch )

Zeitzone: America/Lima (GMT-05:00)

Es freut mich zu hören, dass du eine Lösung für das Problem gefunden hast 🙂

August 27, 2025 um 9:20 am #17350979

buenyaminD

Vielen Dank!