Muchos de los Temas de WordPress contienen enlaces de sintaxis compleja. Por ejemplo, los enlaces al pie que direccionan hacia "Soporte" (Support) y "Página de contacto" (Contact us) pueden lucir algo así como esto:
<a href="/support/">Support</a> | <a href="/contact-us/">Contact us</a>
Cuando el sitio opera en un entorno multilingüe, esos enlaces deben adaptarse al idioma que se muestra. Tanto el texto del enlace (lo que el visitante ve) como la dirección URL (hacia adonde apunta el enlace) deben cambiar cuando se permuta entre idiomas.
La función icl_link_to_element() de WPML puede generar enlaces personalizados a páginas y debería ser utilizado para ese fin.
Descripción de la función
icl_link_to_element(ID, tipo, texto, argumentos, puntero);
Argumento | Descripción | Obligatorio / opcional |
---|---|---|
ID | El ID de la entrada, página, etiqueta o categoría a enlazar. | Obligatorio |
tipo | El tipo de página a enlazar. Puede ser ‘post’, ‘page’, ‘tag’ o ‘category’. | Opcional; el valor por defecto es ‘page’ |
texto | El texto del enlace. Si no se especifica, generará el nombre del elemento en el idioma actual. | Opcional; el valor por defecto es el nombre del elemento. Para mantener el valor por defecto, dejar false. |
argumentos | Argumentos opcionales para el enlace. Cuando se utiliza, debería contener un arreglo PHP. | Opcional; valor por defecto sin argumento |
puntero | Puntero opcional para el enlace. | Opcional; el valor por defecto en sin puntero |
Ejemplo de utilización
Ejemplo | Finalidad | Código HTML generado |
---|---|---|
<?php icl_link_to_element(10); ?> | Enlace a la página 10 (página de "Soporte") | <a href="/support/">Soporte</a> |
<?php icl_link_to_element(10,__(‘Solicitar Ayuda’)); ?> | Enlace a la página de Soporte, con un texto alternativo | <a href="/support/">Solicitar Ayuda</a> |
<?php icl_link_to_element(10,false, array(‘category’=>’products’,’priority’=>’high’); ?> | Enlace a la página de Soporte, con dos argumentos | <a href="/support/?category=products&priority=high">Soporte</a> |
<?php icl_link_to_element(10,false,false,’priority’=>’high’,’faq’); ?> | ||
<?php icl_link_to_element(3,’tag’); ?> | Enlace a etiqueta con el ID 3 (nuestra etiqueta de ‘Novedades’) | <a href="/tag/news/">Novedades</a> |
Cómo opera
Se puede especificar el ID de cualquier página, entrada, etiqueta o categoría en cualquier idioma. WPML verificará que exista una traducción para el idioma actual. Si existe, generará el enlace correspondiente. Si no existe, generará un enlace a la página en el idioma original.
Cuando se especifica el texto del enlace manualmente, es buena idea insertarlo en la llamada a la función gettext __(), de forma tal de mostrar el texto en el idioma correcto. Si no se especifica ningún texto para el enlace (como en el primer ejemplo)), WPML insertará el nombre de esa página.
Porfavor pongan un ejemplo mas visual de como usar esto en el codigo..
este codigo como debe quedar entonces?? Support | Contact us