[Résolu] Traduction des URLs qui ne fonctionnent pas
Ce sujet est résolu. Voici une description du problème et de la solution.
Problème : Le client rencontre des problèmes avec des URL incorrectes dans le pied de page lors de l'utilisation du Divi Theme Builder. Bien que les URL aient été traduites manuellement à l'aide de WPML Translation Management, la traduction de chaînes WPML affiche les ID de page au lieu des URL réelles. Par conséquent, les liens dans le pied de page redirigent vers les IDs de page, ce qui mène à la version anglaise des pages au lieu des versions traduites. Solution : Nous vous recommandons de désactiver le plugin Sticky Links, ce qui entraîne le remplacement des URL par des IDs de page dans le backend. Ce plugin n'est nécessaire que si vous modifiez fréquemment les URL/slugs de vos pages. Comme ce n’est pas courant, vous pouvez supprimer le plugin. Après avoir désactivé Sticky Links, les URL devraient s'afficher correctement dans toutes les langues. Pour plus d'informations, veuillez vous référer à la documentation WPML sur les Sticky Links, en particulier la section sur « Handling links inside shortcode content », car les builders Divi utilisent des shortcodes.
Si cette solution ne semble pas pertinente à votre situation, n'hésitez pas à ouvrir un nouveau ticket pour obtenir de l'aide supplémentaire. Vous pouvez le faire en visitant le forum d'assistance WPML.
Il s'agit du forum d'assistance technique de WPML, le plug-in multilingue pour WordPress.
Il est accessible à tous, toutefois seuls les clients de WPML peuvent y publier leurs messages. L'équipe du WPML répond sur le forum 6 jours par semaine, 22 heures par jour.
J'ai créé le site tonga-schools.eu avec le thème Divi.
Pour le pied de page (footer), j'ai utilisé le Theme Builder de Divi.
J'ai fait le site en anglais, et je l'ai ensuite traduit dans les langues suivantes: français, allemand, espagnol et suédois.
Toutes les traductions sont correctes à l'exception des URLs dans le footer.
En effet, avec le Theme Builder, j'ai écrit directement les URLs en anglais (cf. screenshot 01).
Pour les traductions, j'ai utilisé l'onglet WPML Translation Management et traduit manuellement les textes et les URLs dans les langues associées. Les pages dans les autres langues ont bien été créées et les URLs existent (cf. screenshot 03).
Cependant, je remarque que dans l'onglet WPML String Translation, le texte initial en anglais ne reprend pas les URLs exactes mais les ID des pages (cf. screenshot 02).
Et donc, en front-end, les URLs de la page en anglais sont désormais écrit avec les ID de pages et non plus les URLs réels que j'avais écrit auparavant. Les traductions dans les autres langues gardent les pages ID au lieu des URLs réelles et se redirigent vers les pages en anglais au lieu de la langue sélectionnée (cf. screenshot 04).
Exemple:
- page en anglais: dans le footer, FOR FAMILIES doit rediriger vers la page lien caché or c'est l'URL lien caché qui est écrit à la place.
- et donc en français: dans le footer, POUR LES FAMILLES qui devrait rediriger vers la page lien caché se redirige hélas vers la page en anglais lien caché
J'espère que mon explication est claire sinon n'hésitez pas à me dire ce que je peut clarifier.
Je ne comprends pas ce qu'il se passe. Peut-être ai-je mal utilisé les traductions et que la méthode que j'ai faite n'est pas la bonne.
Merci de bien vouloir me dire quoi faire pour que les URLs dans le footer soient corrects quelle que soit la langue sélectionnée.
0- Faites une sauvegarde de votre site
1- Supprimez toutes les traductions faites à partir de string translation en rapport avec ces URLs
2- Modifier le template du footer
3- Envoyez-le à nouveau dans le panier de traduction
4- Attribuez la traduction à vous-même et ouvrez-la avec l'éditeur de traduction avancé.
5- Recherchez les URL dans la barre de recherche.
Bonjour Ilyes et merci pour votre message très clair.
J'ai suivi vos instructions, et ça avait l'air de marcher.
Cependant, dans le Thème Builder, quand j'écris les URLs correctes par exemple lien caché; quand je sauvegarde et raffraîchis la page, l'url redevient du style lien caché (cf. screenshot 01).
Ce qui est étrange car dans l'éditeur de traduction avancée, je retrouve bien les URLs complets que j'ai traduit (cf. screenshot 02).
Mais en front-end, les URL sont toujours en page ID et donc redirige vers les pages en anglais uniquement et non les pages de la langue sélectionnée. (voir pied de page du site par exemple lien caché).
Je ne comprends pas pourquoi l'URL correcte que j'écris n'est pas gardé et est supplanté par l'url en page ID ?
Pour le problème d'ID, cela ne semble pas être lié à WPML mais plutôt à la façon dont vos permaliens wordpress sont configurés ou à la façon dont les URLs fonctionnent sur divi.
Dans ce cas, allez dans les paramètres de WP > permaliens depuis le menu wordpress, et voyez quel format de lien est utilisé, il se peut qu'il soit configuré en "Post ID"
Si ce n'est pas le cas, je recommande de demander à l'équipe Divi ce qu'il en est car WPML détecte correctement ces liens,
Bonjour Ilyes et merci pour votre réponse.
J'ai trouvé le plugin qui était responsable du problème de changement des URLs.
Il s'agit du plugin WPML Sticky Links que j'ai donc désactivé et supprimé.
D'ailleurs, pouvez-vous me dire à quoi sert exactement ce plugin?
Encore merci pour vos conseils et votre réactivité.
Les langues: Anglais (English )Français (Français )
Fuseau horaire: America/Lima (GMT-05:00)
Bonjour,
Ilyes est absent pour quelques jours, je vais répondre à sa place. Sticky links est un plugin qui qui permet d'éviter des erreur 404 (page not found) lors de changements d'url. Il fait cela en remplaçant le lien (url) de la page par son ID dans le backend. Donc même si vous avez l'url d'une page, les liens vers cette page fonctionneront car son ID ne change pas.
Ce plugin est utile uniquement si vous changez régulièrement les urls/slugs de vos pages. Donc je pense que vous pouvez le supprimer sans problème (car c'est rarement le cas).
Voici la documentation: https://wpml.org/documentation/getting-started-guide/sticky-links/
Je reprends le ticket en cours mais le problème décrit semble correspondre au dernier point de la documentation "Handling links inside shortcode content" car les builders comme Divi utilisent des shortcodes (le lien est donc dans un shortcode!)