Sauter la navigation

Ce sujet est résolu. Voici une description du problème et de la solution.

Problème :
Vous travaillez sur un site en développement et utilisez l'API Rest de WordPress pour la création et la mise à jour de posts. Vous souhaitez connaître la langue d'un post via l'API Rest et créer un post pour l'associer en tant que traduction d'un autre post.
Solution :
Pour récupérer la langue d'un post, utilisez ce hook : https://wpml.org/fr/faq/how-to-get-current-language-with-wpml/
Si vous utilisez WooCommerce avec l'API REST, consultez cette documentation : https://wpml.org/documentation/related-projects/woocommerce-multilingual/using-wordpress-rest-api-woocommerce-multilingual/
Pour lier des traductions de posts ou de pages via l'API Rest, une solution personnalisée est nécessaire. Un utilisateur de WPML a partagé un code qui a bien fonctionné pour d'autres utilisateurs, mais gardez à l'esprit que ce n'est pas une fonctionnalité intégrée à WPML et que nous ne pouvons pas offrir de support pour ce code. Voici le code :

https://gist.github.com/djoo/5518bcf4ccef93ab83d91787c41e929a

Le processus consiste à créer le premier post dans une langue, créer le second post dans une autre langue, puis les lier via un endpoint personnalisé.

Si cette solution ne vous convient pas ou semble obsolète, ou si elle ne correspond pas à votre cas, nous vous recommandons de vérifier les problèmes connus sur https://wpml.org/known-issues/, de vérifier la version du correctif permanent et de confirmer que vous avez installé les dernières versions des thèmes et plugins. Si nécessaire, n'hésitez pas à ouvrir un nouveau ticket de support sur le forum de support WPML.

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.

Marqué : 

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

Dernière mise à jour par dolbysound Il y a 1 semaine et 1 jour.

Assisté par: Ilyes.

Auteur Articles
mars 27, 2025 at 9:25 am #16867054

dolbysound

Contexte de la question:
Je travaille sur un site en cours de développement et j'utilise l'API Rest de WordPress pour la création et la mise à jour de posts. Je souhaite utiliser WPML pour gérer les traductions des posts.

Symptômes:
Aucun problème spécifique ou message d'erreur n'est mentionné.

Questions:
Comment puis-je connaitre la langue d'un post via l'API Rest?
Comment puis-je créer un post et l'associer en tant que traduction d'un autre post via l'API Rest?

mars 28, 2025 at 8:39 pm #16874593

Ilyes
Supporter

Les langues: Français (Français )

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

Bonjour,

Merci de nous avoir contactés. Je suis heureux de pouvoir vous aider.

Voici le hook que vous pouvez utiliser pour récupérer la langue d'un post: https://wpml.org/fr/faq/how-to-get-current-language-with-wpml/

Si vous souhaitez utiliser l'API REST avec WooCommerce, nous disposons d'une bonne documentation : https://wpml.org/documentation/related-projects/woocommerce-multilingual/using-wordpress-rest-api-woocommerce-multilingual/

Si vous souhaitez utiliser les Posts/Pages pour ajouter des traductions, je crains que la création de traductions de posts et de pages à l'aide de Rest API ne soit pas encore intégrée à WPML. Vous pouvez utiliser le paramètre de langue pour créer des traductions (?lang=fr), mais cela nécessitera un travail personnalisé pour relier la traduction au contenu original du post / de la page.

Il existe une solution mais vous devez l'implémenter. Un utilisateur de wpml a partagé ceci il y a quelques temps, d'autres utilisateurs ont rapporté que cela fonctionnait très bien, mais gardez à l'esprit que cela ne vient pas de WPML et que nous ne pouvons donc pas le supporter :

---------------

Enfin, j'ai créé un point de terminaison personnalisé pour lier les 2 traductions.

Voici mon code : lien caché

Le processus est donc le suivant :
1- créer le premier post dans la langue 1 (appel API POST classique)
2- créer le second postdans la langue 2 (appel API POST classique)
3- lier les deux (custom endpoint)

J'espère que cela aidera les gens

---------------

REMARQUE : Bien que cette solution soit très efficace, il faut toujours prévoir une sauvegarde lorsque l'on utilise un code personnalisé fourni par nous ou par un autre membre de ce forum.

mars 31, 2025 at 10:30 am #16878648

dolbysound

Bonjour,

Merci je vais regarder pour créer mes propres endpoints pour l'API REST.