Dienstag, 7. Februar 2012

WPML-Plugin - hart codierte Links übersetzbar machen

Ich stand vor der Aufgabe eine WordPress-Installation mehrsprachig zu machen. Aus mehreren Gründen habe ich mich für das kostenpflichte Plugin WPML entschieden. Soweit alles wunderbar. Allerdings stand ich vor dem Problem, dass meine Navigation hart codierte Links waren und nicht über den Backend-Punkt "Menü" bei WordPress erstellt wurden. Nach längerem recherchieren, zusammenstöpseln, in Foren rumtreiben, posten und ausprobieren bin ich auf folgenden Lösung gestoßen, die ich mir dann auch vom offiziellen WPML-Support verifizieren habe lassen:

<a href="<?php $permalink = get_permalink( icl_object_id(111, 'page', false) ); echo $permalink ?>"><h3><?php _e('IMPRESSUM','twentyten-child'); ?></h3></a>

Kurz zur Erklärung: die 111 ist die ID des Posts/Page in der Standardsprache, IMPRESSUM ist der zu übersetzende Text, und twentyten-child das Theme das ich verwnende. Die Aussage vom WPML-Support war noch das es Ok ist, er aber persönlich diese Variante bevorzugen würde:

<?php $permalink = get_permalink( icl_object_id(111, 'page', false) ); ?>

<a href="<?php echo $permalink ?>">
<h3><?php _e('IMPRESSUM','twentyten-child'); ?></h3></a>

Keine Kommentare:

Kommentar veröffentlichen