Az oldalak, bejegyzések tartalmát úgy fordíthatjuk, mintha külön oldalak lennének. A widget-eknél jelölhetjük, melyik nyelven, melyik widget jelenjen meg. Ezek majdnem elég részletes beállítási lehetőségek, de így például nem tudjuk egyszerűen lefordítani a sablon egyedi mezőinek (pl. láblécének egyedileg megadható) tartalmát. Ehhez a legjobb egy shortcode megoldás lenne. Sőt, az is! Vannak régi (több éves) pluginok, de van egy egyszerűbb megoldás is. Mégpedig a következőt kell a sablonunk functions.php fájlához hozzáadni.
/* WPML shortcodes */ add_shortcode( 'wpml_language', 'wpml_find_language'); function wpml_find_language( $attr, $content = null ){ extract(shortcode_atts(array( 'language' => '', ), $attr)); $current_language = ICL_LANGUAGE_CODE; if($current_language == $language){ $output = do_shortcode($content); }else{ $output = ""; } return $output; }
Ezután pedig az alábbi shortcode használatával tudjuk az egyedi mezők tartalmát kényelmesen többnyelvűsíteni: (Figyeljetek a HU, EN stb. nyelvi kódokra!)
[wpml_language language="hu"]magyar[/wpml_language] [wpml_language language="en"]english[/wpml_language] [wpml_language language="de"]german[/wpml_language]
Tesztelve: WPML Multilingual CMS 4.0.6, WordPress 4.9.8
Forrás: WPML Support forum (angol, törölt fórum bejegyzés)