Viele WordPress-Themen enthalten hart codierte Links. Footer-Links, die auf Hilfe- und Kontaktseiten verweisen, sehen beispielsweise wie folgt aus:

<a href="/support/">Support</a> | <a href="/contact-us/">Contact us</a>

Wird die Website mehrsprachig angezeigt, müssen diese Links an die Anzeigesprache angepasst werden. Sowohl der Linktext (den der Besucher sieht) als auch die URL (auf die der Link verweist) müssen bei einer Änderung der Sprache geändert werden.

Die Funktion icl_link_to_element() von WPML generiert lokalisierte Links zu Seiten, sie muss zu diesem Zweck verwendet werden.

Funktionsbeschreibung

icl_link_to_element(ID, type, text, arguments, anchor);

Argument Beschreibung Erforderlich/optional
ID Die ID des Beitrags, der Seite, des Tags oder der Kategorie, die verlinkt werden soll. Erforderlich
type Der Typ der zu verlinkenden Seite. Dieser kann "post", "page", "tag" oder "category" sein. Optional, der Standard ist "page"
text Der Linktext. Falls dieser nicht angegeben ist, wird der Name des Elements in der aktuellen Sprache generiert. Optional, der Standard ist der Name des Elements. Falls Sie den Standard beibehalten möchten, geben Sie false ein.
arguments Optionale Argumente für den Link. Werden diese verwendet, sollte es sich um PHP Arrays handeln. Optional, der Standard ist keine Argumente
anchor Optionaler Anchor für den Link. Optional, der Standard ist kein Anchor

Beispiele für die Verwendung

Beispiel Zweck Generierter HTML-Code
<?php icl_link_to_element(10); ?> Link zu Seite 10 (Hilfe-seite) <a href="/support/">Support</a>
<?php icl_link_to_element(10,__(‚Hilfe‘)); ?> Link zur Hilfe-seite mit alterna-tivem Linktext <a href="/support/">Hilfe</a>
<?php icl_link_to_element(10,false, array(‚category’=>’products‘,’priority’=>’high‘); ?> Link zur Hilfeseite und zwei zusätzliche Argumente <a href="/support/?category=products&amp;priority=high">Support</a>
<?php icl_link_to_element(10,false,false,’priority’=>’high‘,’faq‘); ?>
<?php icl_link_to_element(3,’tag‘); ?> Link zu Tag mit ID3 (unser Tag "Neu") <a href="/tag/Neu/">News</a>

So funktioniert es

Sie können die ID einer Seite/eines Beitrags/eines Tags/einer Kategorie in jeder beliebigen Sprache angeben. WPML überprüft, ob für die aktuelle Sprache eine Übersetzung vorhanden ist. In diesem Fall generiert es den Link entsprechend. Falls keine Übersetzung vorhanden ist, verlinkt es die Seite in der Ausgangssprache.

Falls Sie den Linktext manuell angeben, sollten Sie ihn in den Aufruf __() einbinden, damit der Text in der korrekten Sprache angezeigt wird. Falls Sie keinen Linktext angeben (wie im ersten Beispiel), generiert WPML den Namen dieser Seite.