Quando aggiungete un normale link a una pagina o un post, WordPress salva l’URL di quella pagina come link. In altri termini, se l’URL viene modificato il link non funziona più.

Con WordPress è fin troppo facile modificare gli indirizzi delle pagine, comportando il mancato funzionamento di tutti i link in entrata (errore 404). Ecco alcuni modi per farlo:

  • Modifica del genitore della pagina
  • Modifica del campo dati dinamico
  • Modifica della struttura dei permlink del sito

WPML evita di modificare gli URL per evitare il mancato funzionamento dei link in entrata. Quando create un link, WPML lo rende automaticamente “correlato”. Invece di archiviare l’URL di quella pagina (al momento della creazione del link), archivia il numero della pagina. Questo dato non può mai cambiare, a prescindere dalle operazioni eseguite.

Quindi, quando viene visualizzata la pagina, WPML inserisce il permlink della pagina che state collegando. Ogni volta che l’URL viene modificato, tutte le pagine collegate ad esso vengono aggiornate all’istante e collegheranno l’indirizzo corretto.

Questa cattura di schermata mostra l’aspetto che assumono i link nel database una volta abilitato Sticky Links (Link correlati):

Link trasformati in
Link trasformati in “correlati” da WPML

Gli utenti non vedranno mai questi “strani” link, perché quando visualizzeranno le pagine, WPML li sostituirà con i permlink correnti.

Una volta attivato il modulo Sticky Links (Link correlati), potete controllare quali stringhe gestisce. Per farlo andate su WPML– >pagina Sticky links (Link correlati).

Sticky Links (Link correlati) prima dell'elaborazione
Sticky Links (Link correlati) prima dell’elaborazione

Come impostazione predefinita WPML attiverà per la correlazione tutti i link presenti nel corpo del post. Potete anche attivare i link da correlare nei widget e nelle stringhe.

WPML vi permetterà di sostituire in blocco tutti i link normali in link correlati. Inoltre vi segnalerà eventuali link esistenti non funzionanti e vi aiuterà a correlarli.

Se avete attivato Sticky Links (Link correlati) dopo aver creato dei contenuti, i link dei contenuti esistenti non verranno trasformati subito in link correlati.

La schermata di amministrazione di Sticky Links (Link correlati) vi indicherà quanto contenuto potrebbe includere link normali (non correlati). WPML può scansionare questo contenuto e convertire tutti i link in correlati. Per farlo cliccate sul pulsante Scansiona.

Potete sempre ripristinare i vostri link in normali (non correlati) cliccando su Ripristina link correlati in permalink.

Collegamento a pagine in una lingua diversa

A volte potreste voler inserire un link a una pagina di un’altra lingua. Poiché Sticky Links (Link correlati) regola automaticamente i link, potrebbe impedirti di farlo e regolare il link in modo che punti alla stessa lingua.

Per riuscire ad aggiungere i link a pagine di altre lingue dovete aggiungere il seguente filtro al file functions.php del vostro 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;
}

Nel codice soprastante utilizzate l’array $blacklist per specificare tutti i campi dati dinamici dell’URL delle le pagine nelle lingue originali a cui volete collegarvi.

Nel nostro esempio vogliamo collegarci alla versione inglese delle pagine “Documentation” (campo dati dinamico “documentation”) e “Page Builders” (campo dati dinamico “page-builders”), pertanto utilizzeremo le seguenti due righe:

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

$blacklist[] = 'page-builders';