Saltar navegación
Actualizado
junio 12, 2024

Muchos temas de WordPress incluyen enlaces codificados.
Por ejemplo, los enlaces de pie de página que apuntan a las páginas de soporte y contacto pueden tener este aspecto:

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

Cuando el sitio funciona en multilingüe, estos enlaces deben adaptarse al idioma de visualización.
Tanto el texto del enlace (lo que ve el visitante) como la URL (a dónde apunta el enlace) deben cambiar al cambiar de idioma.
La función WPML icl_link_to_element() producirá enlaces localizados a las páginas y debe utilizarse para este fin.

Nota: Para las versiones de WPML >=3.2, utiliza el gancho de filtro wpml_element_link.
La función que se muestra a continuación puede seguir utilizándose, pero ha quedado Obsoleta y se eliminará por completo en la versión 3.3

Descripción de la función

icl_link_to_element(ID, tipo, texto, argumentos, ancla);

Argumento Descripción Obligatorio / opcional
ID ID de la Entrada, Página, Etiqueta o Categoría a la que enlazar. Obligatorio
tipo El tipo de Página al que enlazar.
Puede ser «Entrada», «Página», «Etiqueta» o «Categoría».
Opcional, por defecto es «entrada»‘
texto El texto del enlace.
Si no se especifica, producirá el nombre del elemento en el idioma actual.
Opcional, por defecto es el nombre del elemento.
Para dejarlo por defecto, Entrar falso.
argumentos Argumentos opcionales para el enlace.
Cuando se utilice, debe ser una matriz PHP.
Opcional, por defecto sin argumentos
ancla Ancla opcional para el enlace. Opcional, por defecto sin anclaje

Ejemplo de uso

Ejemplo Propósito HTML producido
<?php icl_link_to_element(10); ?> Enlace a la Página 10 (página de apoyo) <a href=»/soporte/»>Soporte</a>
<?php icl_link_to_element(10,’entrada’,__(‘Obtener ayuda’)); ?> Enlace a la Página de apoyo con un texto de enlace alternativo <a href=»/apoyo/»>Obtén ayuda</a>
<?php icl_link_to_element(10,’entrada’,false, array(‘categoría’=>’productos’,’prioridad’=>’alta’); ?> Enlace a la Página de apoyo y añade dos argumentos <a href=»/soporte/?category=products&priority=high»>Soporte</a>
<?php icl_link_to_element(10,’entrada’,false,’prioridad’=>’alta’,’faq’); ?>
<?php icl_link_to_element(3,’etiqueta’); ?> Enlace a la etiqueta con ID 3 (nuestra etiqueta «Noticias») <a href=»/tag/noticias/»>Noticias</a>

Cómo funciona

Puedes especificar el ID de una Página / Entrada / Etiqueta / Categoría en cualquier idioma.
WPML comprobará si existe traducción para el idioma actual.
Si es así, producirá el enlace a la misma.
Si la traducción no existe, creará un enlace a la Página en el idioma original.
Cuando especifiques el texto del enlace manualmente, es una buena idea envolverlo en la llamada gettext __(), para que el texto se muestre en el idioma correcto.
Si no especificas ningún texto de enlace (como en el primer ejemplo), WPML producirá el nombre de esa Página.

Una respuesta para “Enlaces de temas con código duro”