Publication non correctement publiée sur Discourse – Permalien manquant dans la réponse API

Je rencontre un problème avec le plugin Discourse pour WordPress lorsque j’essaie de publier un article WordPress sur Discourse.

Description du problème :

Lorsque je crée un nouvel article sur mon site WordPress et que je coche l’option « Publier sur Discourse » sous l’onglet Discourse avant de publier, l’article est publié avec succès sur WordPress. Cependant, le sujet Discourse n’est pas créé à ce moment-là.

Plus tard, si je modifie le même article et que je retourne dans l’onglet Discourse, puis que je clique sur « Nouveau sujet » et que je publie sur Discourse, l’article est créé sur le site Discourse. Mais ce sujet Discourse n’est pas lié à l’article WordPress d’origine. Il n’y a aucune association de permalien ni de métadonnées enregistrées dans l’article.

Résultats du débogage :

Lors du débogage, j’ai remarqué que l’appel à :
/wp-json/wp-discourse/v1/publish-topic

renvoie la réponse suivante :

{
“publish_response”: “success”,
“permalink”: “”
}

Comme vous pouvez le constater, le champ « permalink » est vide. Cela semble être la raison principale pour laquelle le sujet Discourse est créé mais pas lié à l’article WordPress (c’est-à-dire que le permalien n’est pas stocké dans le postmeta, ce qui brise le lien entre WP et Discourse).

Pourriez-vous s’il vous plaît m’aider à déterminer pourquoi le permalien renvoie vide dans la réponse de l’API ? S’agit-il d’une mauvaise configuration du plugin ou d’un bug dans le flux de publication ?

Faites-moi savoir si vous avez besoin de journaux ou d’informations supplémentaires. Merci pour votre aide !

Bonjour @techops, pourriez-vous s’il vous plaît partager les journaux pertinents de WP Discourse > Journaux dans WordPress. Veuillez également partager le fichier meta de cette vue si possible.

1 « J'aime »

Salut Angus,

Merci pour votre réponse rapide.

Il n’y a aucun journal disponible sous WP Discourse > Journaux dans le tableau de bord WordPress, la vue des journaux est actuellement vide.

Cependant, voici le fichier meta que vous avez demandé : Discourse meta - Google Docs

Veuillez me faire savoir si je peux fournir autre chose pour aider à résoudre ce problème.

Merci !

Merci @techops, il y a quelques choses que j’aimerais faire.

Veuillez désactiver ce paramètre dans les paramètres de publication

Envoyer une notification par e-mail en cas d’échec de publication

Veuillez vous assurer que ce paramètre est activé dans les paramètres de publication

Journaux de publication détaillés

Vous avez un certain nombre de types de publications configurés pour la publication

post,event,groups,collections,podcast

Avec quel type de publication rencontrez-vous ce problème ? Si ce n’est pas post, pourriez-vous expliquer un peu plus comment ce type de publication est configuré ?

Salut Angus,
J’ai appliqué les paramètres suggérés :

  • Désactivé : Envoyer une notification par e-mail en cas d’échec de publication
  • Activé : Journaux de publication détaillés

J’utilise uniquement le type de publication post.

Après avoir mis à jour les paramètres, j’ai créé et publié un nouveau message sur Discourse. Voici les journaux générés :

[2025-04-22 15:58:12] publish.INFO: create_post.post_success {"wp_title":"test post 4","wp_author_id":"221","wp_post_id":15068} 
[2025-04-22 15:58:12] publish.INFO: create_post.body_valid {"wp_title":"test post 4","wp_author_id":"221","wp_post_id":15068} 
[2025-04-22 15:58:12] publish.INFO: create_post.after_publish {"post_id":15068,"remote_post_type":"create_post","discourse_post_id":"","discourse_topic_id":"6910","discourse_permalink":""} 

Faites-moi savoir si vous avez besoin d’informations ou de détails supplémentaires.

Merci !

Merci de partager cela. Ces journaux semblent normaux pour moi. Je peux voir qu’un sujet Discourse est créé après la publication d’un article Wordpress. Pouvez-vous confirmer exactement quel est le problème ? Veuillez le décrire en ces termes :

  1. Je rédige un article dans Wordpress.
  2. Après la publication de l’article, je m’attends à voir…

Essayez de ne faire aucune supposition technique à ce stade. Merci !

Salut Angus,
J’ai rédigé un article dans WordPress.
Après la publication de l’article, je m’attends à observer le comportement suivant :

Lorsque la case à cocher sous ‘Publier sur Discourse’ est cochée, le comportement correct est qu’un article est créé dans Discourse, et il doit être lié à l’article dans WordPress.

Cependant, ce qui se passe réellement, c’est que l’article est créé dans Discourse, mais le lien est immédiatement perdu. Il doit ensuite être recréé manuellement.

Merci !

Merci, pouvez-vous également confirmer ce qui suit :

  1. Quel éditeur de publications WordPress utilisez-vous ? Classic ou Gutenberg ? Ces publications sont-elles créées de manière non standard (par exemple, je vois que vous utilisez “Gravity Forms Advanced Post Creation”)
  2. Pouvez-vous partager un exemple de publication WordPress et de sujet Discourse où ce problème se produit ?
  3. Utilisez-vous un plugin qui modifie les champs méta de WordPress (par exemple, Advanced Custom Fields) ?

Merci de votre suivi. Voici les détails :

  • Nous utilisons l’éditeur Gutenberg pour créer des articles.
  • Nous n’utilisons aucun plugin de champs personnalisés tel qu’Advanced Custom Fields.
  • J’ai enregistré une vidéo reproduisant le problème pour votre examen. Vous pouvez la consulter ici.

Faites-moi savoir si vous avez besoin d’informations supplémentaires ou d’autres tests.
Si cela peut aider, je peux également fournir un accès de connexion temporaire afin que vous puissiez explorer la configuration directement.

Merci !

Merci d’avoir enregistré la vidéo. Il semble que vous utilisiez un flux de publication personnalisé pour publier des articles.

Cela pourrait être lié au problème.

Êtes-vous en mesure d’essayer de publier des articles sans ce flux personnalisé ? La façon dont nous allons résoudre ce problème est un processus d’élimination. Il est probable que l’une de vos personnalisations ne soit pas interopérable avec l’ensemble des fonctionnalités de publication de WP Discourse.

Merci pour la suggestion.
J’ai testé la publication directe de messages sans utiliser le flux de travail personnalisé, mais malheureusement, cela ne fonctionne toujours pas.

Ok, continuez dans cette veine. Une de vos personnalisations empêche probablement le plugin WP Discourse de sauvegarder le post_id et le permalien lorsqu’un sujet est publié.

Merci, Angus.

J’ai identifié le coupable, le plugin SEO SmartCrawl entre en conflit avec WP Discourse. Après avoir désactivé SmartCrawl, les publications sont publiées sur Discourse comme prévu et se lient correctement aux articles WordPress.

1 « J'aime »

Bon travail pour avoir trouvé le coupable. Je pense qu’à ce stade, cela pourrait valoir la peine de l’envoyer à leur équipe de support, c’est-à-dire « Votre plugin semble empêcher un autre plugin d’utiliser les API standard de WordPress… » puis de décrire le problème. Vous pouvez peut-être leur indiquer ce sujet.