Désolé pour ma réponse tardive. Je surveille la catégorie Support > WordPress, mais je suis presque certain de n’avoir reçu aucune notification pour ce sujet.
Le moyen le plus simple d’obtenir un message d’erreur détaillé consiste à installer Query Monitor – WordPress plugin | WordPress.org English (Canada) puis à essayer de publier un article sur Discourse. Le plugin WP Discourse enregistrait autrefois toutes les erreurs dans un fichier journal, mais a cessé de le faire car cela va à l’encontre des recommandations de WordPress.
Obtenez-vous une erreur lorsque vous tentez de publier n’importe quel article sur Discourse, ou le problème ne se produit-il que pour un article en particulier ?
Il semble peu probable que la mise à niveau vers Discourse 2.6.0.beta1 soit la cause du problème. Des modifications ont-elles été apportées à votre site WordPress autour du moment où le plugin a cessé de fonctionner pour vous ?
L’erreur n’apparaît que dans production.log dans le conteneur Docker — nulle part ailleurs dans aucun journal ou console (j’exécute déjà Query Monitor).
N’importe quel nouvel article.
Seulement la mise à jour du plugin vers la version 2.0.6. Cependant, ce n’est pas le plugin — j’ai parcouru les balises git sans succès.
Je suis surpris que le plugin Query Monitor n’affiche pas d’erreur. Je m’attendrais à voir quelque chose comme cela, mais avec un message d’erreur différent :
Il pourrait être utile de générer une nouvelle clé API depuis la page Administration / API de votre Discourse. Assurez-vous que la clé est une clé globale (autorisant toutes les actions). Vérifiez également que le nom d’utilisateur de publication est correctement défini dans l’onglet des paramètres de connexion WP Discourse. Puisque vous pouvez lier des sujets Discourse existants, mais pas publier de nouveaux sujets sur Discourse, il est possible que le problème soit lié aux permissions de l’API.
Une dernière chose à vérifier consiste à voir quelles valeurs sont définies pour les champs personnalisés de l’article lorsque vous tentez de publier un article de WordPress vers Discourse. Si vous activez les champs personnalisés dans l’éditeur, vous devriez voir quelque chose de similaire à ceci en bas de l’éditeur :
Moi aussi, mais il n’affiche vraiment rien du tout. S’il affichait quelque chose, ce serait une erreur 400 (car c’est ce qui est signalé dans production.log), mais ce n’est pas le cas.
Mise à jour : après avoir fouillé dans le code, je vois qu’il n’y aura pas d’erreur — tout est intercepté ; si vous activez les rapports par e-mail (e-mail mais pas de error_log() ?), il indique :
Raison de l'échec :
Un code de réponse 400 a été renvoyé par Discourse.
Requête incorrecte
mais c’est tout.
Déjà fait, aucune différence. C’était un dernier recours — le timestamp “dernière utilisation” a été mis à jour sur la clé précédente lorsque j’ai essayé de publier, donc je savais que cela n’avait pas changé d’une manière ou d’une autre, mais je pensais que cela valait la peine d’essayer.
C’est tout. Oh, et avant que vous ne demandiez, cela se produit de la même manière si je ne définis pas “Publier comme non listé”, mais avec la différence attendue dans les métadonnées du poste.
Je ne suis pas sûr de ce qui pourrait causer la réponse 400. Pourriez-vous essayer d’installer Health Check & Troubleshooting – WordPress plugin | WordPress.org English (Canada) et vérifier si cela signale des problèmes sur votre site WordPress. Une fois ce plugin activé, une entrée « Santé du site » sera ajoutée dans la section Outils de votre tableau de bord WordPress. En cliquant sur ce lien, puis en allant dans l’onglet État, vous pourriez voir des détails utiles.
Le plugin Health Check vous permet également de désactiver temporairement les plugins uniquement pour votre session. Cela pourrait être utile pour vérifier si le problème est lié à un conflit avec un autre plugin. Si vous avez installé des plugins liés à la sécurité sur votre site, il pourrait être intéressant de voir si leur désactivation résout le problème.
Malheureusement, je suis arrivé à une impasse. Le plugin Health Check n’a suggéré rien d’utile (ce qui n’est pas surprenant), et tout le reste fonctionne parfaitement.
J’ai rencontré l’erreur CSRF lors de l’automatisation de l’envoi d’invitations, ce qui signifie qu’il y a une erreur dans votre code ; cependant, dans ce cas, le plugin n’a pas été modifié, donc ma conclusion est que la version 2.6.0.beta1 est défectueuse.
Je sais que ce n’est pas une conclusion populaire, mais c’est la seule que j’ai pour le moment.
Édité pour ajouter : J’ai utilisé le plugin Health Check pour désactiver tous les autres plugins — aucune différence.