Le lien Commencer la discussion en bas de l'article de blog ne fonctionne pas, il renvoie à topic_url

J’ai remarqué que le lien « Démarrer la discussion » en bas de mon article de blog Wordpress ne fonctionnait plus et renvoyait maintenant à « topic_url ».

Je ne suis pas tout à fait sûr quand cela a cessé de fonctionner.

J’ai récemment mis à jour mon thème Wordpress. J’ai publié un article de blog après cette mise à jour qui a semblé fonctionner correctement et a été publié sur mon forum Discourse.

Veuillez trouver ci-dessous le journal :

[2025-02-11 13:53:50] comment.ERROR: sync_comments.response_error {"message":"","discourse_topic_id":"89","wp_post_id":1521,"http_code":""} 

### Ce fichier est inclus dans les téléchargements de journaux ###

### Serveur ###

WordPress - 6.7.2
PHP - 8.0.30
MySQL - 10.11.11

### Plugins actifs ###

Avada Builder - 3.11.15
Avada Core - 5.11.15
WP-Discourse - 2.5.6

### Paramètres WP Discourse (Secrets exclus) ###

connection-logs - 0
display-subcategories - 1
allow-tags - 1
max-tags - 8
publish-as-unlisted - 0
full-post-content - 1
custom-excerpt-length - 55
add-featured-link - 1
auto-publish - 1
force-publish - 0
force-publish-max-age - 0
publish-failure-notice - 1
auto-track - 1
allowed_post_types - post
exclude_tags - 
hide-discourse-name-field - 1
discourse-username-editable - 0
direct-db-publication-flags - 0
verbose-publication-logs - 0
enable-discourse-comments - 1
comment-type - display-comments
ajax-load - 1
load-comment-css - 1
discourse-new-tab - 1
hide-wordpress-comments - 1
show-existing-comments - 0
max-comments - 8
min-replies - 1
min-score - 0
min-trust-level - 1
bypass-trust-level-score - 50
only-show-moderator-liked - 0
custom-datetime-format - 
cache-html - 0
clear-cached-comment-html - 0
verbose-comment-logs - 0
use-discourse-webhook - 1
webhook-match-old-topics - 0
use-discourse-user-webhook - 0
webhook-match-user-email - 0
verbose-webhook-logs - 1
verbose-sso-logs - 0
enable-sso - 0
auto-create-sso-user - 0
real-name-as-discourse-name - 0
force-avatar-update - 0
redirect-without-login - 0
sso-client-enabled - 1
sso-client-login-form-change - 1
sso-client-sync-by-email - 0
sso-client-sync-logout - 0
logs-enabled - 1

Lien vers mon Wordpress/Discourse : https://www.alphagamer.net/

Salut @Pieces,

Donc, cette publication spécifique sur Discourse a fonctionné comme prévu ? Et une publication ultérieure a produit ce résultat inattendu ?

Je ne suis pas sûr de ce que vous entendez par publication ultérieure.

J’ai publié un nouvel article de blog hier. La publication de cet article semble avoir fonctionné normalement et a été publiée sur mon forum Discourse comme prévu. J’ai vérifié ce matin pour découvrir que le lien ci-dessous ne fonctionne plus (je l’ai découvert par hasard). Je n’ai rien fait de spécial, comme une mise à jour ou d’autres actions.

Je suis sûr que cela fonctionnait avant, je ne suis pas sûr depuis combien de temps cela ne fonctionne plus.

J’espère que cela vous aide.

Je vois, merci pour ces précisions. Lorsque vous passez en mode « modifier » de la publication, voyez-vous que le sujet est correctement lié dans la barre latérale « Discourse » ?

Salut @angus oui, cela montre qu’il est lié et le lien semble fonctionner correctement.

Je vois. Cela me suggère qu’il y a un autre problème avec votre instance WordPress, car les données qui définissent cette URL dans la vue d’édition de l’article sont les mêmes données qui remplissent topic_url dans le modèle de commentaire. En d’autres termes, les données sont là, mais elles ne sont pas chargées dans le modèle de commentaire pour une raison quelconque.

  1. Voyez-vous des problèmes dans vos journaux PHP ? Si vous n’êtes pas sûr de leur emplacement, pouvez-vous demander à votre fournisseur d’hébergement ?
  2. Rencontrez-vous ce problème sur d’autres articles ?
  3. Voyez-vous des erreurs dans la console de votre navigateur ?
  4. Pourriez-vous essayer de désactiver le chargement des commentaires via ajax dans les paramètres “WP Discourse > Commentaires” et voir si cela change quelque chose ?

Merci de votre réponse @angus

  1. Je dois y jeter un œil ce soir, je n’ai pas accès aux logs PHP pour le moment
  2. Je constate ce problème sur tous les articles
  3. Je ne vois qu’un problème lié aux cookies (bloqués) dans la console du navigateur (je ne pense pas que ce soit lié, mais je suis ouvert à vos conseils si c’est le cas)
  4. J’ai désactivé Ajax et cela semble résoudre le lien, cependant le lien comporte beaucoup de caractères supplémentaires derrière le lien défini dans mon article de blog sur Wordpress (par exemple, www.mondomaine/article/1 est devenu www.mondomaine/article/1?_ahsdkhsdkhkh*lnnjasdfa)

Salut @angus J’ai réalisé que j’avais installé un thème enfant il y a 6 mois pour pouvoir publier un article Wordpress comme une onebox sur Discourse.

J’ai réactivé le thème principal, le problème est toujours là (si je réactive Ajax), j’ai donc rebasculé sur mon thème enfant et désactivé Ajax.

Ci-dessous, vous pouvez voir le code du functions.php de mon thème enfant pour que la onebox fonctionne.

<?php

function theme_enqueue_styles() {
    wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', [] );
}
add_action( 'wp_enqueue_scripts', 'theme_enqueue_styles', 20 );

function avada_lang_setup() {
	$lang = get_stylesheet_directory() . '/languages';
	load_child_theme_textdomain( 'Avada', $lang );
}
add_action( 'after_setup_theme', 'avada_lang_setup' );

//Publier l'article WordPress comme une onebox sur Discourse
function wpdc_custom_publish_format_html( $input, $post_id ) {
	$permalink = get_the_permalink( $post_id );
	ob_start();
	echo $permalink;
	$output = ob_get_clean();

	return $output;
}
add_filter( 'discourse_publish_format_html', 'wpdc_custom_publish_format_html', 10, 2 );

Ok, le problème pourrait être lié au scripting et/ou à ajax sur votre Wordpress. Pourquoi avez-vous activé le chargement ajax ? Avez-vous des préoccupations à le laisser désactivé ?

Salut Angus,

Je pense qu’il était activé lorsque j’ai installé le plugin, sinon je ne l’aurais pas activé pour une raison précise. Je trouve juste étrange qu’il ait cessé de fonctionner sans raison évidente (autre qu’une mise à jour de Wordpress ou du thème).

Je vais le laisser désactivé pour le moment.

Le paramètre est désactivé par défaut. S’il y a des problèmes de javascript avec votre thème ou votre site, cela peut causer des problèmes de chargement ajax.

Oui, je pense que c’est la solution. Vous n’avez besoin d’utiliser le chargement ajax des commentaires que si vous avez une raison spécifique de le faire.

1 « J'aime »

Salut @angus,

J’ai remarqué quelque chose aujourd’hui. J’ai été déconnecté de Wordpress et j’ai réalisé que le lien ne fonctionne pas si je suis déconnecté (même avec Ajax désactivé).

Lorsque je me connecte à Wordpress, puis que je consulte mon article de blog, le lien fonctionne réellement.

Des idées sur ce qui pourrait expliquer cela ?

Salut @Pieces, cela aura quelque chose à voir avec votre site, pas avec ce plugin. Il semble que quelque chose empêche le chargement des champs personnalisés de publication dans votre Wordpress dans certaines circonstances.

Vous devrez déboguer cela du côté de Wordpress. Si vous avez un fournisseur d’hébergement ou un développeur, je vous suggère de leur soumettre ce problème. Si vous avez récemment apporté des modifications au site, j’essaierais d’annuler la modification et de voir si cela résout le problème.

Salut @angus

Quel serait le meilleur processus pour déconnecter mon Wordpress de Discourse ? Est-ce simplement de désinstaller (supprimer) le plugin dans Wordpress (dans la section plugins de Wordpress) et de supprimer la clé API et le Webhook dans Discourse ?

Est-ce que j’oublie quelque chose ?

Merci, Pieces.

Il vous suffit de supprimer le plugin de Wordpress, mais oui, vous pouvez également faire ces autres choses.

2 « J'aime »

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.