Sauter la navigation

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.

Sun Mon Tue Wed Thu Fri Sat
- 7:00 – 15:00 7:00 – 15:00 7:00 – 15:00 7:00 – 15:00 7:00 – 15:00 -
- - - - - - -

Fuseau horaire du supporter: Pacific/Easter (GMT-05:00)

Ce sujet contient 0 réponse, a 0 voix.

Dernière mise à jour par pierre-yvesL Il y a 13 heures et 36 minutes.

Assisté par: Ilyes.

Auteur Articles
février 14, 2025 à 10:14 am #16705658

pierre-yvesL

Contexte de la question:
Nous avons créé un menu "Solution", présent sur les 4 langues du site "EN", "FR", "PT" et "ES". Toutes les pages existent dans toutes les langues et sont traduites. Nous avons essayé de synchroniser les menus mais ça ne fonctionne pas. Nous avons aussi essayé de créer des menus différents en ajoutant "Menu Solution - PT". URL du site : lien caché

Symptômes:
Au lieu de voir les pages correspondantes, nous avons des URLs avec des ID qui ne correspondent pas aux ID des pages. Quand on clique sur l'item du menu, nous avons des erreurs 404. Exemple d'URL incorrecte : lien caché (devrait être : lien caché)

Questions:
Pourquoi les URLs des items du menu ne correspondent-elles pas aux pages traduites ?
Comment résoudre les erreurs 404 lorsque l'on clique sur les items du menu ?

février 14, 2025 à 3:20 pm #16707056

Ilyes
Supporter

Les langues: Français (Français )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Bonjour,

Merci d'avoir contacté l'équipe de support WPML,

Comme demandé dans votre autre ticket, partager un accès à votre site serait une bonne idée pour vérifier cela plus en détail.

Vous pouvez partager l'accès à nouveau ici si vous le souhaitez,

Cordialement

février 19, 2025 à 9:36 pm #16726895

Ilyes
Supporter

Les langues: Français (Français )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Bonjour,

J'ai découvert que le problème n'est pas lié à WPML, lorsque je désactive WPML, l'URL charge toujours la mauvaise page avec le mauvais ID,

J'ai vérifié la configuration de votre menu sous Apparence > Menus, vous pointez vers la bonne page.

Il y a donc un code personnalisé ou une conception de menu personnalisée qui affecte la façon dont le menu « solutions » est chargé, principalement à partir de votre thème.

Comme solution rapide et test, j'ai essayé d'ajouter les URLs des pages en tant qu'URLs personnalisées plutôt que d'utiliser la liste des pages comme indiqué ici : lien caché

De cette façon, l'élément de menu a montré la bonne URL, donc il y a un problème sur la façon dont les URL sont chargées par ce segment de menu, en particulier avec le menu Solutions, une idée sur la façon dont ce design de menu est appliqué dans votre code ?

Je vous recommande de déboguer comment le menu est appelé en premier lieu, de vous assurer qu'il fonctionne en anglais d'abord, puis nous pourrons vous aider à le traduire,

OU vous pouvez simplement utiliser la méthode que j'ai mentionnée précédemment, changer les éléments du menu en liens personnalisés et taper manuellement les liens du site pour forcer votre menu à afficher la bonne page,

Meilleur,

février 20, 2025 à 9:43 am #16728520

pierre-yvesL

Bonjour,

Merci pour votre retour.

Pour ce menu, nous utilisons :

wp_nav_menu(array(
'theme_location' => 'menu-4',
'menu_id' => 'menu-4',
'walker' => new My_Walker_Nav_Menu()
));

Pour rajouter une image, via un champ ACF, sur les items de menu.

Savez-vous si nous devons rajouter quelque chose par rapport à l'utilisation de WPML ?

Car en effet, quand nous commentons le "walker" le menu fonctionne correctement via l'ajout de lien personnalisé.

Merci d'avance pour votre retour.

février 20, 2025 à 11:48 am #16729315

pierre-yvesL

Bonjour,

J'ai recréé le menu, mais la version ES s'affiche sur la version EN (voir l'aperçu).

Capture d’écran 2025-02-20 à 12.47.11.png
février 21, 2025 à 12:22 am #16731816

Ilyes
Supporter

Les langues: Français (Français )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Votre code n'est pas compatible avec WPML,

Tous les menus sont là, vous avez juste besoin de filtrer les données en utilisant l'API WPML,

Vous pouvez également vous référer à ce ticket avec un problème similaire : https://wpml.org/forums/topic/menu-showing-english-version-on-french-site/#post-13252057

Veuillez garder à l'esprit que les codes personnalisés sont en dehors de notre service de support, mais je suis heureux de vous guider vers la bonne documentation.

Cordialement,

février 21, 2025 à 8:11 am #16732478

pierre-yvesL

Bonjour,

J'ai désactivé le walker dans mon menu et cela ne fonctionne toujours pas car j'ai la version espagnole qui s'affiche sur la version anglaise.

Dois-je utiliser ce code ci-dessous sur l'ensemble de mes menus ?

<?php

$current_language = apply_filters( 'wpml_current_language', null );

$language_menus = array(
'en' => '2', // English menu ID
'fr' => '46', // French menu ID
'de' => '45', // German menu ID
);
wp_nav_menu( array(
'menu' => $language_menus[ $current_language ],
'menu_id' => 'primary-menu',
) );
?>

Car je n'ai pas ce code sur les autres menu et ils fonctionnent correctement.

Comment est-ce possible ?

Merci d'avance pour votre aide.

février 21, 2025 à 9:00 am #16732674

pierre-yvesL

J'ai rajouté pour le menu "Solutions" le code suivant et ça l'air de fonctionner :
<?php
$current_language = apply_filters( 'wpml_current_language', null );

$language_menus = array(
'en' => '908', // English menu ID
'fr' => '910', // French menu ID
'es' => '914', // German menu ID
'pt-pt' => '912' // Portuguese menu ID
);

wp_nav_menu(array(
'menu' => $language_menus[ $current_language ],
'menu_id' => 'menu-4',
//'walker' => new My_Walker_Nav_Menu()
));
?>

Par contre, comment expliquer que les autres menus fonctionnent correctement sans ce code ?

février 21, 2025 à 9:34 am #16732826

pierre-yvesL

Nouvel élément, si j'utilise le code ci-dessus et que je souhaite rattacher mon menu dans les autres langues au menu "Solutions", je n'ai que la version ES (Cf aperçu).

Capture d’écran 2025-02-21 à 10.31.34.png
février 24, 2025 à 2:39 pm #16741629

Ilyes
Supporter

Les langues: Français (Français )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Bonjour,

Il semble que cela fonctionne maintenant, votre menu de solutions fonctionne maintenant correctement dans toutes les langues,

Pour votre dernier message, je ne comprends pas pourquoi vous voulez réassigner le menu au menu des solutions à partir de l'interface graphique, cette zone (solutions) n'est-elle pas la partie droite du menu?: lien caché

Ou est-ce une zone de menu différente ? parce que vous l'avez déjà assigné à partir de votre fichier de thème ici : lien caché

Et le code que vous avez créé charge le bon menu en utilisant l'ID du menu,

février 24, 2025 à 4:47 pm #16742273

pierre-yvesL

Bonjour,

Oui le menu fonction actuellement mais je ne vois pas le champ ACF qui est rattaché aux items de sous-menu Solution.

Donc je me demande si c'est parce que le menu "Solution" en bas n'est pas coché.

En espagnol je vois bien le champ "image" or en anglais par exemple je ne le vois pas (Cf aperçus).

Capture d’écran 2025-02-24 à 17.47.06.png
Capture d’écran 2025-02-24 à 17.46.50.png
février 26, 2025 à 8:28 pm #16753329

Ilyes
Supporter

Les langues: Français (Français )

Fuseau horaire: Pacific/Easter (GMT-05:00)

Bonjour,

Merci d'avoir contacté l'équipe d'assistance WPML,

Pour commencer, les 4 menus n'étaient pas liés entre eux comme on peut le voir ici : lien caché

J'ai donc décidé de les lier en utilisant cette option : lien caché

Maintenant les 4 menus sont assignés correctement à la zone de solution.

Et à ce sujet, je trouve cela étrange car vous assignez déjà ces menus en utilisant votre code personnalisé ci-dessus, donc ce changement ne devrait pas avoir d'effet sur la façon dont vos menus sont affichés.

En ce qui concerne l'image du champ personnalisé, je suis allé dans le groupe ACF et j'ai changé le mode de traduction en « expert », ce qui m'a permis de confirmer que le champ de l'image est défini sur « copy » lors de la traduction.

Maintenant, pour expliquer pourquoi les images n'ont pas été copiées dans les autres menus, tout simplement parce que ces menus ont été créés manuellement et n'ont pas été traduits à l'aide de l'outil de synchronisation automatique des menus : lien caché

Et cet outil ne fonctionnerait pas dans votre cas puisque vos menus sont définis à l'aide de liens personnalisés, il n'y a aucun moyen pour WPML de traduire les URLs automatiquement,

Pour résumer, j'ai lié les menus et ajouté manuellement les images à chaque élément de menu pour vous, j'espère que cela résoudra votre problème,

février 28, 2025 à 11:15 am #16760422

pierre-yvesL

Bonjour,

Merci pour votre retour complet, je vois bien les images dorénavant en front office.

Par contre les liens ont sauté à nouveau, j'ai des "-2", "-3" qui s'ajoutent dans l'url or je ne les retrouve pas dans le back office au niveau des urls renseignées.

Capture d’écran 2025-02-28 à 12.09.28.png
Capture d’écran 2025-02-28 à 12.08.52.png