Cuando usted agrega un enlace a una página o entrada, WordPress guarda esa dirección URL como el enlace a esa página. Esto implica que, si la dirección URL cambia, el enlace se rompe.

WordPress permite cambiar con facilidad la dirección de la página, lo cual causa que todos los enlaces entrantes se rompan (error 404). He aquí algunas formas de lograr esto:

  • cambiar el padre de la página.
  • cambiar el slug.
  • cambiar la estructura permalink del sitio.

WPML evita las roturas de enlaces entrantes que se producirían al cambiar las direcciones URL. Cuando usted crea un enlace, WPML lo convierte en «adhesivo» de forma automática. En lugar de almacenar la dirección URL de la página (al momento de generar el enlace), almacena su número de página. Este no puede modificarse nunca, no importa la acción que se ejecute.

Cuando la página se muestra, WPML inserta el permalink de la página a la cual se enlaza. Si las direcciones URL cambian, todas las páginas enlazadas a ellas se actualizan inmediatamente con la dirección correcta.

La captura de pantalla siguiente muestra la forma de los enlaces internos almacenados en la base de datos una vez habilitados los enlaces adhesivos:

Enlaces convertidos en adhesivos por WPML
Enlaces convertidos en adhesivos por WPML

Los usuarios nunca verán estos enlaces «extraños». En su lugar, WPML insertará los enlaces permalink actuales al momento de mostrar la página.

Una vez que el modo de enlaces adhesivos está habilitado, usted puede tomar el control de cómo manejar las distintas cadenas. Para lograr esto, vaya a la página WPML -> Enlaces adhesivos.

Enlaces adhesivos antes de procesarse
Enlaces adhesivos antes de procesarse

Por defecto, WPML convertirá en adhesivos todos los enlaces en el cuerpo de las entradas. También puede convertir en adhesivos los enlaces en widgets y cadenas.

WPML le permite convertir en adhesivos todos los enlaces normales. También hará un informe de los enlaces rotos y le ayudará a corregirlos.

Si habilita el modo de enlaces adhesivos luego de haber creado contenido, los enlaces existentes no se convertirán automáticamente en adhesivos.

La pantalla de enlaces adhesivos le indica cuánto contenido normal puede contener enlaces (no adhesivos). WPML puede hacer un escaneo de ese contenido y convertir todos los enlaces en adhesivos. Pulse el botón «Escanear» para lograrlo.

Siempre puede volver los enlaces a su estado a normal (no adhesivo) pulsando Revertir direcciones URL adhesivas a permalinks.

Enlazar páginas en un idioma diferente

En algunas ocasiones, usted puede querer insertar un enlace en una página que está escrita en otro idioma. Dado que el modo de enlaces adhesivos ajusta los enlaces de forma automática, podría evitar que usted logre esto y ajuste el enlace para apuntar a su mismo idioma.

Para poder agregar enlaces a páginas en idiomas diferentes, debe agregar el filtro siguiente al archivo functions.php del tema.

Allow links to pages in other languages
add_filter( 'wpml_sl_blacklist_requests', 'wpml_sl_blacklist_requests', 10, 2 );

function wpml_sl_blacklist_requests( $blacklist, $sitepress ) {
    $blacklist[] = 'documentation';
    return $blacklist;
}

En el código anterior, utilice el arreglo $blacklist para especificar todos los slug de las direcciones URL de las páginas en el idioma original a las cuales desea enlazarse.

En nuestro ejemplo, queremos enlazar a las páginas en versión inglesa «Documentation» (slug «documentation») y «Page Builders» (slug «page-builders»), de forma de poder utilizar las dos líneas siguientes:

Example of specifying the list of URLs to allow linking to
$blacklist[] = 'documentation';

$blacklist[] = 'page-builders';