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.

Aucun de nos assistants n'est disponible aujourd'hui sur le forum French. Veuillez créer un ticket, et nous nous le traiterons dès notre prochaine connexion. Merci de votre compréhension.

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

Dernière mise à jour par christelleS-4 Il y a 1 an et 8 mois.

Assisté par: Johan.

Auteur Articles
août 8, 2022 à 7:35 am #11820251

christelleS-4

Hi,

I have not installed WPML yet, I'm just thinking on how to set the right settings to achieve what I need.
The primary language will be french, and secondary language will be english.

I have a custom post type called 'listing'.
This post type have a title, a content, taxonomies and some ACF fields.
The french and english listing will have same data except :
- the content
- 4 ACF fields.
A listing will be created by the admin.
Owner of a listing (logged-in user) will have access to a frontend form to edit his listing in french and in english.

What I need to do is :
- When admin create a listing in French : automatically create the listing in English with same data except the content and 4 ACF fields.
- When a owner of a listing edit his listing in French : automatically edit the listing in English with same data except the content and 4 ACF fields.
- Same thing if the owner edit his listing in English : automatically edit the listing in French with same data except the content and 4 ACF fields.

For ACFs fields, I saw that I should use Advanced Custom Fields Multilingual (ACFML) plugin, to select which ACFs fields should be copied or translated.

But what about the title and the content of listing post ?
- The title should be the same (french and english post)
- The content will be different (not synchronized)

Is it possible to achieve all of this ?
For Listing CPT, should I use duplicate content or copy content ?

Thanks in advance for your time,

Best regards,
Christelle

août 9, 2022 à 12:48 pm #11832207

Johan

Bonjour;

Votre question est vraiment spécifique, afin de tester en live votre listing je vous ai fait une sandbox, dans laquelle vous pourrez trouver WPML + ACF PRO.

Voici le lien pour tester l'exemple que vous avez en tete:

lien caché

A dispo si besoin,
Johann

août 9, 2022 à 1:37 pm #11832389

christelleS-4

Bonjour Johan et merci pour la sandbox.

J'ai ajouté 3 champs ACF (name, email, function) aux articles du blog.
Au niveau des paramètres WPML (Champs personnalisés) :
- name et email : Copier
- function : Traduire

Question concernant le titre de l'article :
Est-il possible que l'article traduit (EN) ait automatiquement le même titre que l'article FR ?

Question concernant les champs ACF :
Le copie des données des 2 champs (name et email) fonctionne bien dans le sens FR -> EN
Est-il aussi possible de copier les données dans l'autre sens également (EN->FR) ?
Par exemple, si je modifie la valeur du champ 'name' directement dans l'article traduit (EN), j'aimerai que cette valeur soit copiée dans le champ de la fiche FR.

Merci par avance pour toute l'aide que vous pourrez m'apporter.
Bonne journée,
Christelle

août 9, 2022 à 2:20 pm #11832893

Johan

Voici mes réponses:

Question concernant le titre de l'article :
Est-il possible que l'article traduit (EN) ait automatiquement le même titre que l'article FR ?

Lorsque vous dites titre de l'article, on est d'accord vous parler bien dans notre exemple "article 1" et "article 2" ..

Vous pouvez conserver le même nom entre les deux langues, pour cela lorsque vous allez ouvrir l'outil de traductions avancé, vous aurez juste à dupliquer la même valeur entre les deux langues. Comme vous traduisez manuellement vous pouvez toujours choisir si vous voulez ajouter du français ou de l'anglais. Cela n'est pas 100% automatique dans le sens ou c'est a vous de valider le titre.

Voici le lien vers l'outil de traduction: lien caché

Question concernant les champs ACF :
Le copie des données des 2 champs (name et email) fonctionne bien dans le sens FR -> EN
Est-il aussi possible de copier les données dans l'autre sens également (EN->FR) ?

Malheureusement non, notre outil de traductions marche toujours dans le sens language par défaut vers langage secondaire, pour éviter d'ajouter une couche de complexité sur notre plugin, qui peut paraître difficile pour certains utilisateurs.

Bien à vous,
Johann

Articles ‹ Sandbox — WordPress 2022-08-09 15-14-06.png
Advanced Translation Editor - WPML [Staging] 2022-08-09 15-13-12.png
août 9, 2022 à 6:28 pm #11834883

christelleS-4

Merci pour vos explications.

Pour le titre qui ne peut pas être copié automatiquement, ce n'est pas un grand problème, j'utiliserai l'éditeur avancé.

Pour la copie des données qui n'est pas possible dans le sens inverse (langue secondaire -> langue par défaut), c'est un peu plus problématique pour mes besoins.
Je vous explique rapidement le fonctionnement du site, peut-être que je vois les choses de la mauvaise manière.

Le site est un site type 'annuaire' qui affiche la liste des exposants d'un salon évènementiel.
Un exposant (qui sera loggé sur le site) aura accès à un formulaire en frontend pour modifier les infos de sa fiche 'listing'.
Si la langue par défaut (français) est sélectionnée dans le sélecteur de langue, il accèdera au formulaire frontend pour éditer les données de sa fiche française.
=> pas de problème dans ce cas, étant donné que la copie FR -> EN est en place
Si par contre, la langue secondaire (anglais) est sélectionnée, il accèdera au formulaire frontend pour éditer les données de sa fiche anglaise.
Dans ce cas, s'il modifie par exemple le champ 'name' ou 'email' (site sandbox), ces données ne seront plus identiques entre la version FR et EN.

Comment faut-il gérer ce problème ?
Est-ce que je dois "forcer" l'utilisateur à accéder au formulaire frontend en français uniquement ?
Dans ce cas, comment lui permettre de traduire les quelques champs qui nécessitent une traduction (contenu post et champ ACF 'function' site sandbox) ?
Faut-il créer de nouveaux champs ACF, par exemple 'function-fr' et 'function-en', et ensuite copier l'intégralité des données pour la fiche traduite ?
De cette manière, l'utilisateur pourrait renseigner 'function-fr' et 'function-en'.

Je n'avais pas envisagée ce problème de synchronisation inverse car les developpeurs du plugin annuaire (listdom - Advanced Directory and Listing Plugin) m'avaient répondu qu'il était possible de synchroniser les données FR->EN et EN-->FR.
"What we can do is this: when you update a listing in English/French we will automatically update another listing in French/English with same data except the fields that should not be synchronized"
Je vais leur redemander confirmation, j'ai peut-être mal compris...

Merci pour le temps passé à lire ce message,
Bien cordialement,
Christelle

août 10, 2022 à 2:54 pm #11843241

Johan

Bonjour Christelle;

Je viens d'avoir la confirmation vous pouvez seulement copier le contenu de la langue originale de la page vers les traductions et non pas des traductions vers la langue originale.

Votre cas est vraiment spécifique, et je ne sais pas comment vous conseiller concernant les questions que vous avez à forcer l'utilisateur à avoir un formulaire en français. Au vu de ce que vous me dites je pense que créer deux fonctions sera plus envisageable : "function et "function"...

Cependant je préfère que vous testiez directement dans la sandbox, car ça reste vraiment abstrait pour l'instant.

Johann

août 10, 2022 à 4:42 pm #11844373

christelleS-4

Merci Johann pour votre retour.
Oui je conçois que cela doit être abstrait pour vous.

Est-ce possible que la synchronisation inverse ne soit pas possible avec les fonctions natives de WPML, mais que celle-ci soit réalisable avec un développement personnalisé ?
Peut-être avec le hook save_action() : Mettre à jour les valeurs des champs ACF et les taxonomies du post français et du post anglais, dès que le post français ou anglais est sauvegardé ?

J'ai trouvé un (vieux) bout de code pour synchroniser les champs ACF entre les 2 languages (et dans les 2 sens), mais je ne l'ai pas encore testé.

Vous me conseillez de créer 2 fonctions, pouvez-vous préciser votre idée svp ?

Merci,
Christelle

août 10, 2022 à 6:13 pm #11845185

christelleS-4

J'ai mis en place le thème enfant twenty twenty one sur le site sandbox.
Ensuite j'ai activé le plugin WP File Manager, puis j'ai créé le fichier 'functions.php' du thème enfant. Lorsque j'ai voulu sauvegarder le fichier functions.php, une erreur 500 s'est affichée, et le site sandbox n'est plus accessible.
Je suis désolée, avez-vous la possibilité de rétablir le site ?

août 10, 2022 à 6:27 pm #11845249

christelleS-4

Peut-être qu'il faut juste enlever le fichier 'functins.php' du theme enfant

août 11, 2022 à 9:13 am #11848693

Johan

Bonjour,

Je vais transmettre vos questions à notre équipe technique car je crains de ne pas être qualifie sur ce sujet.

Pour ce qui est de la sandbox, je n'ai pas fait de backup, je vais devoir en créer une nouvelle. Je reviens vers vous.

Johann

août 11, 2022 à 9:38 am #11848937

christelleS-4

Bonjour,

Ne perdez pas de temps à recréer la sandbox pour l'instant, je vais attendre le retour de votre équipe technique.
Merci beaucoup

août 11, 2022 à 12:21 pm #11849869

Johan

C'est noté j'attends leur retour.

août 12, 2022 à 7:44 am #11855073

Johan

Bonjour,

Dans un premier temps nous avons deja eu un ticket similaire:
https://wpml.org/forums/topic/acf-issue-4/

Et voici la réponse de mes collègues:
Fondamentalement, ce n'est pas possible , les champs traduits ne peuvent pas synchroniser les originaux. "Cela briserait le concept de notre plugin".

Comme je vous expliqué pour nous c'est du sens langue par défaut > langue secondaire. Les personnes du plugins vous ont donné une information erronée sur le fonctionnement du notre.

Le client du ticket que je vous ai transmis avait mis en place un solution de contournement, mais nous n'avons jamais eu la confirmation que cela ait marché pour lui et n'avons pas la possibilite de savoir.

En espérant répondre à vos questions. 🙂
Johann

août 12, 2022 à 8:20 am #11855191

christelleS-4

Bonjour Johann,
Merci pour votre retour, je vais devoir réfléchir à une autre alternative.
Je n'arrive pas à accéder au 2ème lien de votre message

Si vous y avez accès, pourriez-vous m'envoyer un screenshot tu ticket svp ?

Merci

août 12, 2022 à 10:43 am #11856513

Johan

Pardons c'est un lien interne que je n'aurais pas du partager, cest juste un rappel que noter plugin ne fait pas de synchonisation. En revanche le ticket transmis suffit a vous montrer ce que le client a fait

https://wpml.org/forums/topic/acf-issue-4/

Bien à vous,
Johann

This ticket is now closed. If you're a WPML client and need related help, please open a new support ticket.