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.
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.