WPML

Liens collants de WPML empêche les liens entre les pages et les articles de se briser, même si les pages sont déplacées et renommées.


WordPress rend la modification des adresses de pages beaucoup trop facile, ce qui entraîne la rupture de tous les liens entrants (erreur 404). Voici quelques actions qui peuvent entraîner une erreur 404 :
  • Modification du parent de la page
  • Modification du slug
  • Modification de la structure des permaliens du site

WPML empêche les modifications d’URL de briser les liens entrants. Lorsque vous créez un lien, WPML le rend automatiquement collant. Au lieu de stocker l’URL de cette page (au moment où le lien a été créé), il stocke le numéro de la page. Celui-ci ne peut jamais changer, quoi que vous fassiez.

Ensuite, lorsque la page est affichée, WPML insère le permalien de la page vers laquelle vous créez un lien. Chaque fois que l’URL change, toutes les pages qui y renvoient se mettent à jour immédiatement et pointeront vers la bonne adresse.

Les captures d’écran suivantes montrent à quoi ressemblent les liens internes dans la base de données, une fois que les Liens collants sont activés.

Liens rendus collants par WPML vus dans l’éditeur de blocs
Liens rendus collants par WPML vus dans l’éditeur de blocs
Liens rendus collants par WPML vus dans l’éditeur classique
Liens rendus collants par WPML vus dans l’éditeur classique

Vos utilisateurs ne verront jamais ces liens « étranges ». Au lieu de cela, WPML les remplacera par les permaliens actuels lors de l’affichage des pages.
Une fois que vous avez activé le module Liens collants, vous pouvez contrôler quelles chaînes il gère. Pour ce faire, accédez à la page WPMLLiens collants.
Liens collants avant traitement
Liens collants avant traitement

Par défaut, WPML transformera tous les liens dans le corps de l’article en liens collants. Vous pouvez également transformer les liens dans les widgets et les chaînes en liens collants.

WPML vous permet de remplacer par lots tous les liens normaux par des liens collants. Il signalera également tout lien brisé existant et aidera à les corriger.

Si vous avez activé les Liens collants après avoir créé du contenu, les liens dans ce contenu existant ne sont pas immédiatement transformés en liens collants.

L’écran d’administration des Liens collants vous indique combien de contenu peut inclure des liens normaux (non collants). WPML peut analyser ce contenu et convertir tous les liens en liens collants. Cliquez sur le bouton Analyser pour ce faire.

Vous pouvez toujours rétablir vos liens en permaliens normaux (non collants) en cliquant sur Revert sticky URLs to permalinks.

Créer des liens vers des pages dans une autre langue


Parfois, vous pouvez souhaiter insérer un lien vers une page qui est dans une autre langue. Étant donné que les Liens collants ajustent les liens automatiquement, cela pourrait vous empêcher de le faire et ajuster le lien pour qu’il pointe vers la même langue à la place.

Pour pouvoir ajouter des liens vers des pages dans d’autres langues, vous devez ajouter le filtre suivant au fichier functions.php de votre thème.

Autoriser les liens vers des pages dans d’autres langues
add_filter( 'wpml_sl_blacklist_requests', 'wpml_sl_blacklist_requests', 10, 2 );

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

Dans le code ci-dessus, utilisez le tableau $blacklist pour spécifier tous les slugs d’URL pour les pages dans les langues d’origine vers lesquelles vous souhaitez créer un lien.

Dans notre exemple, nous voulons créer un lien vers la version anglaise des pages « Documentation » (slug « documentation ») et « Page Builders » (slug « page-builders »), nous utilisons donc les deux lignes suivantes :

Exemple de spécification de la liste des URL vers lesquelles autoriser les liens
$blacklist[] = 'documentation';

$blacklist[] = 'page-builders';

Par défaut, l’extension Liens collants ne recherche pas les liens générés par des shortcodes.

Si vous avez un shortcode sur votre page qui génère un lien comme « ?page_id=XX », il sera affiché à vos utilisateurs sans être converti en permalien.

Pour gérer le contenu de ces shortcodes avec les Liens collants, ajoutez cet extrait à votre fichier functions.php :

Gérer les liens dans le contenu des shortcodes
if ( class_exists( 'WPML_Sticky_Links' ) ) {
	global $WPML_Sticky_Links;
	add_filter( 'do_shortcode_tag', [ $WPML_Sticky_Links, 'show_permalinks' ], 0 );
}

Écrit par Amir · Dernière mise à jour 19 février 2025