Preise in mehreren Währungen in WordPress anzeigen – ohne WooCommerce
Um in WordPress Preise in mehreren Währungen ohne WooCommerce anzuzeigen, braucht eine Seite zwei Dinge: einen Währungsumschalter für den Besucher und Preise, die das Plugin umrechnen darf. WPCS – WordPress Currency Switcher liefert beides für Beiträge, Seiten, Custom Post Types und Widgets auf jeder WordPress-Website. Beim zweiten Teil geht bei den meisten Setups etwas schief: Das Plugin durchsucht Ihre Seiten nicht nach Beträgen. Es rechnet nur die Preise um, die Sie mit seinem Shortcode ausgeben. Richten Sie das einmal ein, und jeder Preis auf der Website folgt der Währung des Besuchers.
So rechnet WPCS einen Preis um
Sie schreiben jeden Betrag einmal in Ihrer Basiswährung in den Shortcode [wpcs_price], zum Beispiel [wpcs_price value=100]. Wenn WordPress die Seite aufbaut, multipliziert das Plugin den Betrag mit dem Wechselkurs der Währung des Besuchers und gibt ihn mit Symbol, Dezimalstellen und Trennzeichen dieser Währung aus. Die Wahl des Besuchers wird gespeichert, sodass jeder Preis auf jeder Seite in derselben Währung erscheint, bis der Besucher eine andere wählt.
Alles andere auf der Seite bleibt, wie es ist. Ein als normaler Text getippter Preis („ab 100 $“), ein Preisfeld Ihres Themes oder ein Preistabellen-Widget eines Page Builders wird nicht angetastet. Die Installation des Plugins oder das Hinzufügen des Umschalters ändert für sich genommen keinen Betrag. Soll eine Zahl die Währung wechseln, muss sie von [wpcs_price] oder von den PHP-Funktionen des Plugins in einem Template ausgegeben werden.
Aus demselben Grund ändert WPCS keine WooCommerce-Produktpreise, den Warenkorb oder die Kasse, auch wenn WooCommerce auf derselben Website läuft. Shops brauchen das Schwester-Plugin FOX – WooCommerce Currency Switcher; den Unterschied erklärt der Artikel WordPress-Währungsumschalter vs. WooCommerce-Währungsumschalter.
Schritt 1: Währungen und Wechselkurse hinzufügen
Installieren und aktivieren Sie WPCS (es ist auf wordpress.org verfügbar) und öffnen Sie dann im WordPress-Admin Einstellungen (Settings) → Currency Switcher. Auf dem Tab Währungen (Currencies):
- Fügen Sie Währungen mit Währung hinzufügen (Add currency) oder dem Währungsassistenten (Currency Wizard) hinzu. Verwenden Sie den ISO-4217-Code als Währungsnamen:
EUR,GBP,ZAR, nicht „Euro“ oder „Pfund“. Kursdienste suchen Währungen anhand dieses Codes; ein erfundener Code erhält keinen Kurs. Die FAQ zum Hinzufügen einer neuen Währung erklärt jedes Feld der Zeile. - Wählen Sie den Radiobutton Ihrer Basiswährung aus. Ihr Kurs ist 1, und jeder Betrag in
[wpcs_price]wird als Betrag in dieser Währung gelesen. Legen Sie sie fest, bevor Sie Preise schreiben: Eine spätere Änderung der Basiswährung schreibt die Zahlen in Ihren bestehenden Shortcodes nicht um. - Beziehen Sie die Kurse. Wählen Sie auf dem Tab Optionen (Options) einen Währungsaggregator (Currency aggregator). Yahoo und die Europäische Zentralbank funktionieren ohne Schlüssel; Currencyapi, Open exchange rates, Currencylayer und Fixer benötigen einen Schlüssel im Feld API-Schlüssel des Aggregators (Aggregator API key). Klicken Sie zurück auf Währungen (Currencies) auf Alle Kurse aktualisieren (Update all rates) oder tragen Sie die Kurse von Hand ein. Eine neu hinzugefügte Zeile startet mit dem Kurs 0, und eine Währung mit dem Kurs 0 zeigt jeden Preis als 0.00 an.
- Legen Sie unter Automatische Kursaktualisierung (Rate auto update) auf dem Tab Optionen (Options) fest, wie oft die Kurse aktualisiert werden, und klicken Sie dann auf Optionen speichern (Save options). Wenn sich die Kurse nicht aktualisieren, lesen Sie, warum die automatische Kursaktualisierung nicht funktioniert.
Jede Währungszeile legt außerdem Symbolposition, Cent, Dezimalstellen und Zahlenformat fest, sodass derselbe Preis in Euro als € 1.250,00 und in Dollar als $1,250.00 erscheinen kann.
Schritt 2: Den Währungsumschalter anzeigen
Besucher brauchen eine Möglichkeit, eine Währung zu wählen. Verwenden Sie eine oder mehrere dieser Möglichkeiten:
- Der Shortcode
[wpcs]an beliebiger Stelle im Inhalt. Attribute wieshow_flags=0,width='300px'undtxt_type='desc'passen ihn an; siehe die Referenz zum Shortcode [wpcs]. Das Aussehen des Dropdowns wird unter Dropdown-Ansicht (Drop-down view) auf dem Tab Optionen (Options) festgelegt, und auf dem Tab Designer erstellte Designs werden mit[wpcs sd=1]angezeigt, wobei 1 die Design-ID ist. - Das Widget WordPress Currency Switcher in einer Sidebar oder einem Footer-Widget-Bereich.
- Der seitliche Umschalter: Stellen Sie auf dem Tab Seitlicher Umschalter (Side switcher) die Option Fixierten Umschalter anzeigen (Show fixed switcher) auf Ja (Yes). Er haftet auf jeder Seite am Bildschirmrand; Auf den Seiten anzeigen (Show on the pages) und Auf den Seiten ausblenden (Hide on the pages) beschränken ihn auf bestimmte Seiten-IDs.
- Der Header. Fügen Sie in einem klassischen Theme
<?php echo do_shortcode('[wpcs]'); ?>in dieheader.phpeines Child-Themes ein. Fügen Sie in einem Block-Theme im Site-Editor dem Header-Template-Teil einen Shortcode-Block mit[wpcs]hinzu. Für ein Menü siehe So fügen Sie den Währungsumschalter zum Menü hinzu.
Wenn ein Besucher eine Währung wählt, wird die Seite mit ?currency=EUR in der Adresse neu geladen (oder ohne diesen Zusatz, wenn Keine GET-Daten im Link (No GET data in link) auf Ja (Yes) steht), und das Plugin merkt sich die Wahl für die folgenden Seiten.
Schritt 3: Jeden Preis mit [wpcs_price] ausgeben
Ersetzen Sie jeden Betrag, der die Währung wechseln soll, durch den Shortcode. Er funktioniert mitten im Satz, sodass der übrige Text Ihrer bleibt:
Consultations start at [wpcs_price value=49] per hour.
Der value ist eine einfache Zahl in der Basiswährung, mit Punkt als Dezimaltrennzeichen: 1250 oder 1250.50. Kein Währungssymbol, kein Tausendertrennzeichen: value="1,250" wird als 1 gelesen.
| Wo der Preis steht | So fügen Sie den Shortcode ein |
|---|---|
| Block-Editor | In einen Absatz-Block tippen oder einen Shortcode-Block verwenden |
| Klassischer Editor | In den Text tippen |
| Elementor | Text-Editor-Widget oder Shortcode-Widget |
| WPBakery | Element „Text Block“ |
| Widget-Bereiche | Shortcode-Block oder Text-Widget |
| Theme-Template (PHP) | echo do_shortcode('[wpcs_price value="49"]'); |
Felder, die für reinen Text gedacht sind, etwa Überschriften, Button-Beschriftungen, Zellen mancher Tabellen-Plugins und Preisfelder von Builder-Widgets, geben den Shortcode oft als Text aus. Verwenden Sie für den Preis stattdessen einen der oben genannten Orte.
Preise in benutzerdefinierten Feldern
Wenn der Betrag in einem benutzerdefinierten Feld gespeichert ist, lassen Sie den Shortcode es lesen: [wpcs_price meta_value=price] nimmt das Feld price des aktuellen Beitrags, und [wpcs_price meta_value=price post_id=42] nimmt es aus Beitrag 42. Einfache ACF-Felder werden unter ihrem Feldnamen gespeichert, daher funktioniert der Feldname als meta_value. Das Feld muss eine einfache Zahl enthalten. In einem Template:
<?php
// Child theme template file, inside the loop.
// Prints the custom field "price" of the current post in the visitor's currency.
echo do_shortcode('[wpcs_price meta_value="price"]');
// Or an amount you already have in a variable, in the base currency.
$amount = 1250;
echo do_shortcode('[wpcs_price value="' . floatval($amount) . '"]');
Feste Beträge und mehrere Währungen nebeneinander
- Ihr eigener Preis pro Währung statt eines umgerechneten:
[wpcs_price type="fixed" value="USD:49,EUR:45,GBP:39"]. Führen Sie jede Währung der Website auf; eine Währung, die in der Liste fehlt, zeigt das Wortnonean. - Eine Währung unabhängig vom Umschalter:
[wpcs_price value=100 fix_currency=EUR]. Setzen Sie zwei oder drei davon nebeneinander, um denselben Preis in mehreren Währungen gleichzeitig anzuzeigen. Kombinieren Sie das nicht mit Ich verwende ein Cache-Plugin auf meiner Website (I am using cache plugin on my site): Diese Option zeichnet nach dem Laden der Seite alle Preise in der Währung des Besuchers neu.
Schritt 4: Auf einer leeren Seite testen
Erstellen Sie eine Entwurfsseite mit nur diesen beiden Zeilen und rufen Sie die Vorschau auf:
[wpcs]
[wpcs_price value=100]
Wählen Sie im Umschalter nacheinander jede Währung. Der Betrag muss sich um den Kurs dieser Währung ändern. Wiederholen Sie den Test in einem privaten Browserfenster, in dem Sie nicht angemeldet sind, denn Seiten-Caches überspringen Administratoren in der Regel. Deuten Sie dann das Ergebnis:
- Der Betrag ändert sich hier, aber nicht auf Ihren echten Seiten: Diese Preise werden nicht von
[wpcs_price]ausgegeben, oder das Feld, in dem sie stehen, führt keine Shortcodes aus. - In einer Währung erscheint 0.00: Der Kurs dieser Währung ist 0 oder leer.
- Der Shortcode erscheint als Text: Die Stelle, an der Sie ihn eingegeben haben, verarbeitet keine Shortcodes.
- Es funktioniert nur nach einem Neuladen oder nur für Sie: Die Website verwendet einen Seiten-Cache. Stellen Sie Ich verwende ein Cache-Plugin auf meiner Website (I am using cache plugin on my site) auf dem Tab Optionen (Options) auf Ja (Yes) und leeren Sie den Cache.
Jeder dieser Fälle wird Schritt für Schritt in Währungsumschalter rechnet Preise nicht um behandelt.
Optional: Willkommenswährung, GeoIP und Preis-Extras
- Die Willkommenswährung (Welcome currency) auf dem Tab Optionen (Options) legt die Währung fest, die ein Besucher beim ersten Besuch sieht. Ihre Basiswährung kann INR bleiben, während neue Besucher USD sehen.
- Der Tab GeoIP-Regeln (GeoIP rules) wählt die erste Währung anhand des Landes des Besuchers. Einrichtung und Grenzen stehen in So legen Sie die Währung nach dem Land des Besuchers fest.
- Preis-Info-Symbol anzeigen (Show price info icon) fügt neben jedem Preis ein Symbol hinzu, das beim Darüberfahren den Betrag in allen anderen Währungen auflistet.
[wpcs_converter]fügt einen Währungsrechner hinzu und[wpcs_rates]eine Tabelle der aktuellen Kurse.- Auf einer mehrsprachigen Website kann die Währung der Sprache folgen: Währung beim Sprachwechsel umschalten.
Checkliste
- Jede Währung verwendet einen ISO-4217-Code, die Basiswährung ist ausgewählt, und kein Kurs ist 0 oder leer.
- Ein Umschalter ist sichtbar:
[wpcs], das Widget oder der seitliche Umschalter. - Jeder Betrag, der die Währung wechseln soll, wird von
[wpcs_price]mit einer einfachen Zahl in der Basiswährung ausgegeben. - Die Testseite rechnet
[wpcs_price value=100]in einem privaten Fenster um. - Mit einem Seiten-Cache-Plugin: Ich verwende ein Cache-Plugin auf meiner Website (I am using cache plugin on my site) steht auf Ja (Yes), und der Cache ist geleert.
Wenn die Testseite umrechnet und Ihre echten Preise trotzdem nicht, eröffnen Sie im WPCS-Support-Forum ein Thema mit einem Link zur Seite und dem genauen Shortcode, den Sie verwendet haben.