This is the technical support forum for WPML - the multilingual WordPress plugin.

Everyone can read, but only WPML clients can post here. WPML team is replying on the forum 6 days per week, 22 hours per day.

This topic contains 21 replies, has 2 voices.

Last updated by emmanuelS-7 2 months, 2 weeks ago.

Assigned support staff: Andrés.

Author Posts
July 11, 2019 at 12:37 pm #4189765

emmanuelS-7

Bonjour,

J'ai un champ ACF URL, nommé "site-web", dans un article de CPT.
C'est le seul champ de son groupe de champs ACF.
Il est traduisible et apparaît bien dans l'interface de traduction des posts WPML.
L'addon "Advanced Custom Fields Multilingual" est activé sur le site.

En frontend, le contenu de ce champ s'affiche bien dans la langue par défaut (FR) : hidden link
Mais pas dans la langue traduite (EN) : voir captures.

Pour tester, j'ai aussi traduit le groupe de champs ACF contenant ce champ URL.
Il semble que cela ait permis de déclencher l'affichage du champ URL sur 1 des articles que j'ai ré-enregistré, mais pas sûr que ça soit la cause…

J'ai finalement supprimé la traduction du groupe de champs car ça n'est pas utile à la simple traduction de champs d'après la doc WPML, seulement si l'on veut traduire l'admin.

Du coup, lorsque j'édite un article, dans le bloc "Configuration du contenu multilingue", il y a deux champ, je suppose à cause de la traduction du groupe de champs et bien que je l'ai supprimée depuis (?) :

-----------------------
url
ACF field name: Site web ACF field type: url

site-web
ACF field name: Site web ACF field type: url
-----------------------

Pouvez-vous m'aider à afficher ce champ ACF URL en frontend sur la langue EN ?

Merci pour votre aide.

Emmanuel Soyer

July 11, 2019 at 3:15 pm #4191459

Andrés
Supporter

Languages: English (English ) Spanish (Español ) French (Français )

Timezone: Europe/Paris (GMT+02:00)

Bonjour,

Bienvenue à l'assistance technique de WPML.

Pouvez-vous vérifier d'avoir marqué les "Groupes de champs (acf-field-group)" comme "Non traduisible" dans WPML > Paramètres > Traduction des types de publication ?

Si ce n'est pas le cas, pouvez-vous vérifier que les groupes ont le même nombre de champs dans la version française et la version anglaise ?

Documentation :
https://wpml.org/documentation/related-projects/translate-sites-built-with-acf/

Cordialement,
Andrés

July 11, 2019 at 3:32 pm #4191513

emmanuelS-7

Andrès,

Oui, les groupes de champs ACF étaient bien non traduisibles dans les paramètres WPML pour la traduction des CPT.

Et je n'ai donc traduit que les champs contenus dans ces groupes, pas les groupes eux mêmes.
J'ai d'ailleurs reçu une alerte à l'ouverture des groupes dans l'UI ACF admin (picto rouge point d'exclamation).

Mais je vois dans la doc ACF qu'ils recommandent à l'inverse de rendre traduisibles les groupes et pas les champs contenus :
hidden link

J'ai essayé et ça fonctionne à condition de dupliquer manuellement les champs FR vers EN dans l'edit du groupe de champs ACF : bouton "Ecraser avec le contenu en FR".
Maintenant, le champ ACF traduit est bien affiché sur la page front EN, comme vous pouvez le voir ici pour les 2 premiers posts (bouton vert "Voir le site web") : hidden link

Compliquée la procédure pour que WPML prenne en charge les champs ACF traduits 😉

Et quelle est la meilleure méthode ? Y a t-il des risques à utiliser celle des champs traduisibles et pas le groupe ou l'inverse ?

Emmanuel

July 11, 2019 at 4:00 pm #4191693

Andrés
Supporter

Languages: English (English ) Spanish (Español ) French (Français )

Timezone: Europe/Paris (GMT+02:00)

Je suis ravi de savoir que votre problème a été résolu! 🙂
Or, je vous recommande le suivant pour la prochaine fois :

Si vous ne souhaitez pas traduire les étiquettes de vos champs personnalisés, marqué vos Groupes de champs (acf-field-group) comme non traduisible.

Dans le cas contraire :
- Ouvrez votre groupe de champs personnalisés dans la langue original.
- Duplique-les depuis l'option de duplication comme s'il s'agissait d'une page par défaut. Cette action va a remplir la traduction de votre groupe avec les champs personnalisés correspondants.

Cordialement

July 11, 2019 at 4:42 pm #4192031

emmanuelS-7

Ok, mais je n'ai pas besoin de traduire les étiquettes et ne devrai donc pas avoir à traduire les groupes de champs, seulement les champs eux-mêmes…

Or c'est la seule méthode qui fonctionne chez moi.

A moins que j'ai raté quelque chose, possible, certaines procédures WPML me semblent assez compliquées en fait.

Emmanuel

July 12, 2019 at 5:43 am #4195253

Andrés
Supporter

Languages: English (English ) Spanish (Español ) French (Français )

Timezone: Europe/Paris (GMT+02:00)

Bonjour,

Je pense que le problème dans ce moment c'est que vous avez déjà marqué et commencé à traduire vos champs de cette manière. Il faudrait donc que vous accédez à la base de données et nettoyer tous les champs déjà créés et essayer à nouveau cette procédure :


Pouvez-vous vérifier d'avoir marqué les "Groupes de champs (acf-field-group)" comme "Non traduisible" dans WPML > Paramètres > Traduction des types de publication ?

Cordialement

July 12, 2019 at 10:27 am #4197511

emmanuelS-7

Bonjour Andrès,

Comme je l'ai déjà indiqué, désactiver la traduction des groupes de champs ACF ne fonctionne pas chez moi, les champs ACF ne s'affichent pas sur les pages frontend traduites en EN.

Par contre, la méthode préconisée par la doc ACF d'activer la traduction des groupes de champs fonctionne, les champs s'affichent en front.

De toute évidence, il y a une contradiction entre les méthodes recommandées par WPML et ACF, dommage, ça crée un doute à l'utilisation.

Comprenez que je n'ai pas les compétences pour aller nettoyer la base de données manuellement.
Je pensais que WPML avait des fonctions pour nettoyer ses entrées obsolètes dans la base de données (?)
J'espère que les éventuelles entrées créées par erreur ou en double ne provoqueront pas de problèmes importants sur le site.

Cordialement
Emmanuel

July 12, 2019 at 12:29 pm #4198707

Andrés
Supporter

Languages: English (English ) Spanish (Español ) French (Français )

Timezone: Europe/Paris (GMT+02:00)

Merci de votre retour, Emmanuel. Nous n'avons pas une fonction pour nettoyer votre base de données car ce n'est pas possible pour WPML d'identifier les champs dont vous souhaitez garder et ceux dont vous souhaitez supprimer.

Or, pour pouvoir diagnostiquer cette issue sans impacter votre site en ligne, et eventuellement pour solliciter notre équipe de compatibilité, j'ai créé un serveur de test, la majorité des extensions nécessaires sont déjà installées. Veuillez utiliser le lien suivant pour vous connecter. Les accès FTP sont sur le menu Sandbox, si vous en avez besoin.
hidden link

Une fois vous êtes sur le Bureau du site, installez votre extension ACF et essayez de reproduire cette situation et comme vous essayez de traduire vos champs personnalisés. Si l'erreur est reproduite, j'escaladerais le ticket à notre équipe de compatibilité.

Note: vous n'avez qu'installer l'extension nécessaire pour reproduire votre problématique. N'est pas nécessaire d'installer une copie exacte de votre site.

Cordialement

July 12, 2019 at 12:36 pm #4198751

emmanuelS-7

Andrès,

Merci pour cette initiative.
Je testerai dès que je trouve le temps, peut-être pas avant plusieurs jours.
Ok, il s'agit de reproduire le comportement ACF qui me pose problème, je pense avoir compris.

Cordialement
Emmanuel

July 12, 2019 at 2:19 pm #4199669

Andrés
Supporter

Languages: English (English ) Spanish (Español ) French (Français )

Timezone: Europe/Paris (GMT+02:00)

Je vous comprend complètement, Emmanuel.
Je reste à l'attente de vos résultats et je vous souhaite un très bon weekend!

July 16, 2019 at 5:34 pm #4222815

emmanuelS-7

Bonjour Andrés,

Merci pour l'installation sandbox, j'ai installé ACF Pro, Beaver Builder et Themer et créé les templates pour afficher un champ ACF sur l'Archive, l'Archive de Taxonomie des Posts et le Single Post :
hidden link

Je traduit le post "Blog post #1" de l'EN (langue originale) vers le FR.
Il contient un champ ACF Text avec du contenu.
hidden link

1 - Dans WPML : Réglages > Post Types Translation, je désactive la traduction pour "acf-field-group" comme vous me l'avez conseillé (capture 1).

2 - Dans l'edit du post EN, j'active "Copy" pour le champ ACF "av_text" pour qu'il soit copié dans la version FR traduite (capture 2).

3 - Dans l'UI de traduction FR, ce champ ACF n'est pas affiché (capture 3), ni sur la page FR en frontend : hidden link

A NOTER : en frontend FR, bien que le contenu ACF ne soit pas affiché, son conteneur est affiché sur fond bleu clair avec le titre statique "ACF Text", alors qu'il ne devrait pas.
Il y a une condition d'affichage gérée par Beaver Themer pour supprimer le conteneur si le champ ACF "is not set", comme on peut voir sur le post #2 qui n'a pas de contenu ACF (donc pas de conteneur ACF affiché) :
hidden link

Du coup, je me dis que Themer détecte le champ ACF comme "is set" mais le contenu du champ n'est pas affiché… bizarre.

4 - Je traduis ensuite "Blog post #2" en FR avec "Translate" activé pour le champ ACF "av_text" au lieu de "Copy" : toujours de champs ACF dans l'UI de traduction FR, ni en frontend mais c'est normal puisque ce champ est vide sur l'original EN.
hidden link

Et le conteneur ACF fond bleu n'est pas affiché en frontend (normal).

Voilà le résultat de mes tests pour le moment, ça ne fonctionne pas comme attendu.
Laborieux et plutôt frustrant 😉

Cordialement

Emmanuel

July 17, 2019 at 6:22 am #4226083

Andrés
Supporter

Languages: English (English ) Spanish (Español ) French (Français )

Timezone: Europe/Paris (GMT+02:00)

Merci beaucoup de votre aide, Emmanuel. Je comprends que cela peut devenir laborieux et plutôt frustrant, par contre il y a eu un malentendu.

Or, le comportement par défaut décrit initialement pour moi fait référence à l'utilisation uniquement de WPML et ACF. Par contre, vous êtes en train de travailler aussi avec du Beaver Builder et Themer.

Dans votre site, je viens de faire un test en désactivant ces deux extensions et en créant un nouveau groupe des champs (captures d'écran) et tout fonctionne correctement.

D'après votre description, vous êtes en train d'utiliser ces deux extensions qui sont énormément puissant mais qu'ajoutent des règles de traductions différents à ceux d'un champ par défaut. Dans ces circonstances, je vous conseille de marquer vos champs personnalisés comme "Traduire" et continuer leur traduction en suivant cette procédure.

Cordialement,
Andrés

July 17, 2019 at 8:57 am #4227897

emmanuelS-7

Bonjour Andrés,

Ok, pouvons-nous préciser les choses SVP, ça reste confus pour moi ?

Je comprend que Beaver Builder / Themer amène une couche de complexité au fonctionnement de WPML et d'éventuelles limitations par rapport à la configuration standard WP / ACF / WPML.

1 - S'il y a des limitations, pouvez-vous préciser lesquelles principalement ?

2 - Vous me conseillez de "marquer vos champs personnalisés comme "Traduire"" : j'ai essayé au point 4, plutôt que l'option "Copy", et le champ ACF n'est toujours pas affiché dans l'UI de traduction WPML.

3 - Par ailleurs, la doc ACF pour WPML contredit votre recommandation de ne pas activer le Groupe de champ. Ils disent au contraire d'activer le groupe de champs ET les champs "traduisibles" : hidden link

4 - La doc ACF pour WPML recommande aussi d'activer l'option "Duplicate" avant de cliquer sur + pour traduire le post : voir URL doc plus haut.
Mais je ne saisis toujours pas la différence entre un post traduit sans et avec cette option "Duplicate" activée.

5 - Enfin, elle évoque la possibilité d'utiliser l'option "Copy".
C'est cette option qui m'intéresse car j'ai plus de 100 posts de CPT à "traduire" comportant chacun une quinzaine de champs ACF.
En fait, le contenu de ces posts doit rester dans la langue originale FR, il n'y aura donc pas de changement de contenu entre FR et EN.

6 - Vous comprendrez je pense la perte de temps si je dois :
• Dupliquer 100 posts
• Cocher + de 1500 cases "Traduction terminée"
Juste pour rendre les posts compatibles avec WPML alors que ce dernier est censé automatiser les tâches répétitives avec l'option "Copy" ?

Pouvez-vous SVP répondre en reprenant les numéros des points afin d'éviter des malentendus ?

Sinon, par curiosité, pouvez-vous m'indiquer comment vous affichez le champ ACF dans le single post en frontend ?
Je ne trouve pas de référence au champ ACF "wpml_text" dans le template single.php du thème Twenty Sixteen. 😉

Merci pour votre compréhension et votre aide.

Cordialement

July 17, 2019 at 10:43 am #4228777

Andrés
Supporter

Languages: English (English ) Spanish (Español ) French (Français )

Timezone: Europe/Paris (GMT+02:00)

Je suis désolé mais vous avez beaucoup de questions et ce ticket devient confus. Je vais faire mon mieux pour vous répondre.

1 - Je ne pense pas qu'il existe des limitations car votre extension Beaver a été testé par notre équipe de compatibilité.

2 - Oui, vos champs personnalisés doivent être marqués comme "Traduire". Nous pouvons investiguer dans un ticket séparé si vous avez des soucis.

3 - Merci de nos attirer votre attention sur ce sujet, nous allons essayer de contacter l'auteur pour mettre leur documentation à jour mais cela dépend de leur équipe.

4 - En dupliquant votre article, vous allons garantir que vos champs soient copiés dans la traduction. Puis, vous pouvez les traduire.

5 - OK.

6 Nous pouvons démarrer une procédure de compatibilité entre ACF, Beaver Builder et WPML dans un autre ticket.

7. J'ai ajouté le code dans le template content-single.php:

<p><?php the_field('wpml_text'); ?></p>

Cordialement

July 23, 2019 at 9:23 am #4264557

emmanuelS-7

Bonjour Andrés,

Désolé, je n’ai pas eu le temps de suivre ce ticket.

En résumé, je suis toujours en train de tester WPML avec ACF et Beaver Builder / Themer, parfois ça fonctionne (option Dupliquer), parfois non ou comportement pas logique : c’est en cours.

Par ailleurs, j’ai un autre ticket ouvert avec votre collègue Jamal sur ce sujet : https://wpml.org/forums/topic/taxonomy-archive-afficher-posts-langue-principale-si-non-traduits/

Cordialement
Emmanuel