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)

Marqué : 

Ce sujet contient 9 réponses, a 0 voix.

Dernière mise à jour par Ilyes Il y a 2 jours et 12 heures.

Assisté par: Ilyes.

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

pierre-yvesL

Contexte de la question:
Je tente de filtrer une page d'archive sur notre site : lien caché. Lorsque je change de langue via le sélecteur de langue sur la page de résultats filtrée, l'URL se transforme en : lien caché.

Symptômes:
L'URL est reconstituée avec les arguments passés en paramètres, ce qui n'est pas souhaité. Nous avons essayé de modifier les options du sélecteur de langue dans WPML, mais cela n'a pas résolu le problème.

Questions:
Comment faire pour que l'utilisateur soit redirigé vers la page d'archive brute ou la page d'accueil de la langue sélectionnée ?
Pourquoi les termes des taxonomies ne sont-ils pas traduits correctement dans toutes les langues ?

février 14, 2025 à 3:17 pm #16707055

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,

Je ne suis pas sûr de comprendre le problème correctement, et je ne peux pas voir le problème car les liens fournis me redirigent vers la page de connexion de WP-admin,

J'aimerais vous demander un accès temporaire à votre site (wp-admin et FTP) afin d'étudier le problème plus en détail.

Merci de me fournir les étapes exacts à suivre pour reproduire le problème.

Si vous ne voyez pas le formulaire ci-dessous, n'entrez pas vos informations d'identification car elles seront exposées publiquement :

lien caché

Cordialement,

février 18, 2025 à 10:38 am #16718093

pierre-yvesL

Pour reproduire le problème, vous devez vous rendre sur une page d'archive comme : lien caché
Sélectionner via les filtres des taxonomies par exemple "Solution" et comme valeur "Commercial & Industrial" : lien caché
Puis sans modifier l'url, vous sélectionnez une nouvelle langue via le sélecteur de langue. En basculant en FR par exemple, j'obtiens l'url suivante : lien caché
Mes arguments passés précédement dans l'url se retrouve dans chemin dans la nouvelle url /solutions/commcercial-industriel.
Or je souhaite que lorsqu'on choisit une langue via le sélecteur en cours de filtrage (quand j'ai des arguments dans mon url) je sois redirigé vers l'url de base soit : lien caché et dans la langue souhaitée.
Car en fonction des langues, je n'ai pas les mêmes taxonomies, ni les mêmes termes.

février 19, 2025 à 10:51 pm #16726972

Ilyes
Supporter

Les langues: Français (Français )

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

Bonjour,

La requête ne peut pas être copiée correctement dans d'autres langues car les taxonomies et les termes sont traduits : lien caché

WPML applique donc la traduction de vos taxonomies lors du changement de langue,

La question est de savoir si vous souhaitez conserver ces taxonomies traduites et trouver un moyen de faire fonctionner le filtre ou si ces termes ne sont pas censés être traduits.

Dans les deux cas, je cherche à tester votre site localement pour éviter de l'affecter, pourrais-je installer le plugin Duplicator pour télécharger une copie de votre site ?

Je pense également que votre cas est lié à ce ticket déjà signalé : https://wpml.org/forums/topic/query-params-not-being-preserved/

N'hésitez pas à me contacter si vous avez des questions,

février 20, 2025 à 9:53 am #16728555

pierre-yvesL

Bonjour,

Merci pour votre retour.

Les termes de taxonomie doivent être traduits car nous les affichons sur le site en fonction de la langue.

Ok pour l'ajout du plugin, car il s'agit du site de recette.

février 21, 2025 à 12:44 pm #16733660

pierre-yvesL

Bonjour,

Je pense qu'il s'agit de l'archive de taxonomie : lien caché

Car j'ai des posts d'autres CPT mais toujours rattachés au terme "solutions".

février 24, 2025 à 3:28 pm #16741953

Ilyes
Supporter

Les langues: Français (Français )

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

J'ai téléchargé une copie de votre site localement, je reviendrai vers vous avec plus de détails,

février 25, 2025 à 11:30 pm #16748575

Ilyes
Supporter

Les langues: Français (Français )

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

Bonjour,

je vois que votre filtre est créé en utilisant le code sous : ...\wp-content\themes\nobi_theme\inc\archive-filtres.php

C'est un code personnalisé d'après ce que je vois, et de nombreuses parties ne prennent pas WPML en considération,

en particulier le hook wpml_translate_single_string : https://wpml.org/wpml-hook/wpml_translate_single_string/

J'ai du mal à comprendre comment le filtre fonctionne, pourriez-vous expliquer tous les composants pour mieux vous guider sur la façon de le rendre compatible avec WPML ?

février 26, 2025 à 8:43 am #16749665

pierre-yvesL

Bonjour,

Nous avons dans un premier temps un fichier template-parts/archive/produit/archive-header.php (par exemple en prenant le CPT Produit) dans lequel nous décrivons l'ensemble des taxonomies qui vont nous servir à filtrer la liste des posts :

$filters = [
'marche' => [
'filter_type' => 'radio',
'options_order' => [
'orderby' => 'name',
'order' => 'ASC',
],
'label' => __('Marché', 'nobi_theme'),
'select_default' => __('Toutes', 'nobi_theme'),
],
'segment' => [
'filter_type' => 'radio',
'options_order' => [
'orderby' => 'name',
'order' => 'ASC',
],
'label' => __('Segment', 'nobi_theme'),
'select_default' => __('Toutes', 'nobi_theme'),
],
'solution' => [
'filter_type' => 'radio',
'options_order' => [
'orderby' => 'name',
'order' => 'ASC',
],
'label' => __('Solution', 'nobi_theme'),
'select_default' => __('Toutes', 'nobi_theme'),
]
];

Le tout dans une variable de type tableau > $filters[].

Dans le fichier que vous citez précédemment, nous créons un formulaire si toutefois le tableau filters est déclaré et non vide.

On parcourt ensuite le tableau pour constituer nos champs de filtrage (plusieurs types d'inputs : select, radio...) et en fonction des termes de taxonomie renseignés. Le but étant de générer dynamiquement des filtres de taxonomies (switch).

Précisions du code :

- pour $url_results = get_post_type_archive_link(get_post_type());
> Récupère l'URL de l'archive du post type courant.

- <div id="resultat"></div>
Cette <div> servira d’ancre pour scroller jusqu’aux résultats après le filtrage.

- Notre formulaire envoie les filtres en GET et redirige l'utilisateur vers #resultat après soumission.

- le get_terms() > Récupère uniquement les termes parents non vides de chaque taxonomie.

Est-ce plus clair pour vous ?

De notre côté, nous devons utiliser apply_filters( ' wpml_translate_single_string ', chaîne $original_value, chaîne $domain, chaîne $name, chaîne $language_code )
dans quel but ? Pour traduire les champs label ? les termes de taxonomie ?

Merci pour votre retour.

février 26, 2025 à 10:18 pm #16753549

Ilyes
Supporter

Les langues: Français (Français )

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

Bonjour,

Oui, c'est beaucoup plus clair pour moi maintenant,

J'ai suggéré l'utilisation de apply_filters( ' wpml_translate_single_string ', string $original_value, string $domain, string $name, string $language_code ) pour les taxonomies car WPML n'est peut-être pas capable de charger la traduction de chaque taxonomie.

Avant toute autre modification, j'ai escaladé votre cas au deuxième niveau, ils pourraient confirmer ma théorie et nous donner plus d'informations sur la façon dont vous pouvez résoudre ce problème,

Je reviendrai vers vous avec plus d'informations,