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)


