Sauter la navigation
Mis à jour
juin 7, 2024

De nombreux thèmes WordPress contiennent des liens codés en dur. Par exemple, les liens de pied de page qui renvoient aux pages d’assistance et de contact peuvent ressembler à ceci :

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

Lorsque le site fonctionne en mode multilingue, ces liens doivent s’adapter à la langue d’affichage. Le texte du lien (ce que voit le visiteur) et l’URL (où pointe le lien) doivent tous deux être modifiés lorsque vous changez de langue.

La fonction icl_link_to_element() de WPML produira des liens localisés vers les pages et devrait être utilisée à cette fin.

Note : Pour les versions de WPML >=3.2 veuillez utiliser le crochet du filtre wpml_element_link. La fonction ci-dessous peut encore être utilisée, mais elle est obsolète et sera complètement supprimée dans la version 3.3.

Description de la fonction

icl_link_to_element(ID, type, texte, arguments, ancre) ;

Argument Description Obligatoire / facultatif
ID L’ID de l’Article, de la Page, du tag ou de la catégorie à lier. Exigée
type Le type de page vers laquelle le lien doit être établi. Peut être « post », « page », « tag » ou « catégorie ». Facultatif, le défaut est « post ».
texte Le texte du lien. Si elle n’est pas spécifiée, elle produira le nom de l’élément dans la langue courante. Facultatif, par défaut le nom de l’élément. Pour laisser la valeur par défaut, entrez false.
arguments Arguments facultatifs pour le lien. Lorsqu’il est utilisé, il doit s’agir d’un tableau PHP. Facultatif, par défaut pas d’arguments
ancre Ancre facultative pour le lien. Facultatif, par défaut pas d’ancre

Exemple d’utilisation

Exemple Objectif HTML produit
<?php icl_link_to_element(10) ; ?> Lien vers la page 10 (page de soutien) <a href= »/support/ »>Support</a>
<?php icl_link_to_element(10,’post’,__(‘Get help’)) ; ?> Lien vers la page de support avec un texte de lien alternatif <a href= »/support/ »>Obtenez de l’aide</a>
<?php icl_link_to_element(10,’post’,false, array(‘category’=>’products’,’priority’=>’high’) ; ?> Lien vers la page de soutien et ajout de deux arguments <a href= »/support/?category=produits&priority=high »>Support</a>
<?php icl_link_to_element(10,’post’,false,’priority’=>’high’,’faq’) ; ?>
<?php icl_link_to_element(3, ‘tag’) ; ?> Lien vers la balise ID 3 (notre balise ‘News’) <a href= »/tag/news/ »>Actualités</a>

Comment cela fonctionne-t-il ?

Vous pouvez spécifier l’ID d’une page / d’un article / d’une balise / d’une catégorie dans n’importe quelle langue. WPML vérifiera s’il existe une traduction pour la langue en cours. Si c’est le cas, il produira le lien correspondant. Si la traduction n’existe pas, il y aura un lien vers la page dans la langue d’origine.

Lorsque vous spécifiez manuellement le texte du lien, il est conseillé de l’inclure dans l’appel de gettext __(), afin que le texte s’affiche dans la bonne langue. Si vous ne spécifiez aucun texte de lien (comme dans le premier exemple), WPML produira le nom de cette page.