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.

Ce sujet contient 6 réponses, a 2 voix.

Dernière mise à jour par thierryM-7 Il y a 1 année et 6 mois.

Assisté par: Nicolas V..

Auteur Articles
juin 27, 2023 à 7:23 am #13899975

thierryM-7

J'utilise plusieurs champs personnalisés dans mes produits et au départ, les champs étaient configurés en "non traduit". J'ai fait de nombreuses modifications à ces champs sur plus de 1000 produits et j'ai seulement vu ensuite ce réglage, je l'ai changé à "Copier" (car il s'agit d'une coche dans ACF) mais cela ne met bien sûr pas à jour mes produits.

Pour que cela fonctionne, il faut que je modifie manuellement le produit et que je ré-enregistre celui-ci dans WordPress pour que WPML déclenche la copie des champs personnalisés. J'ai essayé de faire une boucle sur les produits du site par le code et de faire un $product->save() mais cela ne semble pas avoir déclenché la copie.

Y a-t-il un moyen de le faire par l'interface de WPML ? Ou même une méthode à exécuter par le code pour faire ça ?

Merci d'avance !

juin 28, 2023 à 12:07 pm #13909859

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Bienvenue sur le support de WPML.

Quelques points sur ACFML:

1. Dans "WPML > Paramètres > Traduction des types de publication" la préférence de "Groupes de champs (acf-field-group)" doit être "Non traduisible".
Ref: https://wpml.org/documentation/related-projects/translate-sites-built-with-acf/#field-group-translation-preferences

2. Maintenant lorsque vous éditez votre groupe ACF dans la langue par défaut, c'est la que vous déterminez la préférence de traduction pour chaque champ. Ici on parle de la traduction de la valeur du champ. "ACF > Groupes de champs".

Nous avons 3 options de configuration multilingue:
- Champs identiques dans toutes les langues > À utiliser dans la plupart des cas.
- Différents champs dans toutes les langues > Seulement si vous voulez des champs totalement différents entre vos langues et que vous utilisez l'éditeur WordPress
- Mode Expert > Qui vous permet de choisir la préférence de traduction de chaque champ
Attention cependant car certains champs doivent avoir des préférences particulières. Par exemple, "Copy" pour les champs spéciaux "Repeater" et "Flexible". Veuillez lire notre documentation: https://wpml.org/documentation/related-projects/translate-sites-built-with-acf/recommended-custom-fields-translation-preferences-for-acf-and-wpml/

Ceci étant dit. Lorsque vous faites des changements dans ces préférences, vous verrez un icône apparaitre dans votre barre d'admin à côté du logo WPML. Il faut attendre que le système finisse d'actualiser les préférences (si vous cliquez dessus vous pouvez voir la progression).

juin 29, 2023 à 6:24 am #13914979

thierryM-7

Bonjour Nicolas,

Merci pour vos précisions, cependant tout ça est déjà OK et mon problème est le suivant : j'ai appliqué ce réglage sur les champs ACF de certaines publications après avoir édité les publications.

Si on passe un champ ACF à "Copy" dans les réglages et que l'on enregistre, est-ce que WPML va lancer un processus qui va aller copier le champ en question dans les autres langues pour toutes les publications existantes ? Car je n'ai pas l'impression que le processus s'est fait, je vois bien mon champ personnalisé en français, mais pas en allemand, à moins que je me rende sur la publication française et que je clique sur "Mettre à jour" depuis l'admin de WordPress pour relancer le processus de copie de WPML correctement.

Est-ce qu'il y a un moyen de demander à WPML de tout re-copier après coup ? Les champs en question sont une liste déroulante et une simple checkbox.

Merci d'avance de votre retour.

juin 29, 2023 à 10:42 am #13916879

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Lorsque vous changez les préférences des champs, il y a un processus en background qui met à jour ces préférences pour tous les champs utilisés. Cependant il faudra mettre à jour la publication.
Vous pouvez essayer l'option de WordPress "Bulk edit".
- Allez dans "produits"
- Dans les options d'écrans passer de 20 à 100 produits (ou plus si votre serveur le permet)
- Puis utilisez "bulk edit" pour mettre à jour les produits

juin 29, 2023 à 3:20 pm #13919265

thierryM-7

Merci du retour.
Cependant j'ai plus de 12'000 produits sur le site et même avec 100 produits cela va me demander de nombreuses manipulations. Est-ce qu'il existe un hook que je pourrais exécuter par le code en donnant l'id de produit en référence et qui indiquerait à WPML qu'il doit copier les champs personnalisés de la publication ?

juillet 1, 2023 à 4:57 pm #13927845

Nicolas V.
Supporter

Les langues: Anglais (English ) Français (Français )

Fuseau horaire: America/Lima (GMT-05:00)

Bonjour,

Les code personnalisés vont au-dela de notre support. Nous ne pouvons donc pas vous fournir une solution sur mesure. Cependant pour vous aider dans votre démarche:

1. Je vous laisse la documentation concernant nos hooks: https://wpml.org/documentation/support/wpml-coding-api/wpml-hooks-reference/

2. Ici il s'agit d'actualiser les des publications WordPress, en recherchant sur internet vous trouver des "solutions" qui peuvent vous aider comme celle-ci:
https://wordpress.stackexchange.com/questions/294575/how-to-force-update-all-posts-after-import

Notez que c'est un exemple trouvé après une recherche rapide. Nous n'avons pas écrit ou testé ce code. Prenez les précautions nécessaires (back up...) avant d'executer ce code.