WordPress Shortcode für WPML

von | Jun 12, 2022 | Allgemein | 0 Kommentare

Ich bin ja schon viele Jahre ein aktiver WPML User. Mit diesem Plugin kann man relativ einfache Webseiten, die auf der Basis von WordPress gemacht sind, mehrsprachig machen.

Eigentlich funktioniert es ganz zuverlässig. Nun gibts aber Situationen wo man Dinge übersetzen muss wo kein Pagebuilder hinkommt oder WPML keinen direkten Zugriff hat. Natürlich könnte man versuchen das mit einem String Translate zu machen – aber ich hatte hier einen Fall wo das nicht möglich ist.

Das Problem

Ich habe eine Webseite gemacht und dafür Divi verwendet und dann musste ich die Seite noch auf Englisch und Französisch übersetzen und dafür habe ich dann natürlich WPML genommen.

Nun wollte man noch einen Text haben, wenn der Warenkorb leer ist. Ich habe es zuerst mit String Translate versucht, aber das wollte nicht so richtig klappen und dann habe ich den Weg über einen Shortcode genommen.

Code

Ich habe also einen Shortcode gemacht und ihn direkt in die Warenkorbseite anzeigen lassen, wenn der Warenkorb leer ist.

Da ich schon öfters diese Weg gehen wollte, aber bisher nicht wusste wie man einen Shortcode mit WPML verbindet, möchte ich heute das kurz zeigen. Ihr könnt nämlich die sogenannten ICL_LANGUAGE_CODE verwenden. Keine Sorge ich habe da auch nicht gewusst 🙂

Hier ist der Code aus meinem Beispiel. Ihr müsst ihn nur anpassen und dann in eure functions.php Datei einbauen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
function cb_cart_msg() { 
 
// Advertisement code pasted inside a variable
    if(ICL_LANGUAGE_CODE=='en'){
      $string ="
	  <h3>YOUR SHOPPING CART IS EMPTY</h3>
		<p>Be inspired by our store and put your personal selection in the shopping cart</p>
		";
 
    } elseif(ICL_LANGUAGE_CODE=='de'){
        $string ="
		<h3>IHR WARENKORB IST LEER</h3>
		<p>Lassen Sie sich von unserem Shop inspirieren und legen Sie ihre ganz persönliche Auswahl in den Warenkorb</p>
		";
 
 
    } elseif(ICL_LANGUAGE_CODE=='fr'){
        $string ="
		<h3>VOTRE PANIER EST VIDE</h3>
		<p>Laissez-vous inspirer par notre boutique et ajoutez votre sélection personnelle au panier.</p>
		";
 
    } 	
 
// Ad code returned
return $string; 
 
}
// Register shortcode
add_shortcode('cart_msg', 'cb_cart_msg');

Danach könnt ihr den folgenden Shortcode in eure Webseite einbauen

1
[cart_msg]

Eine sehr praktische Lösung

0 Kommentare

Einen Kommentar abschicken

Deine E-Mail-Adresse wird nicht veröffentlicht.