La boîte de commentaire Discourse apparaît deux fois

2 boîtes de commentaires discourse apparaissent.

Plateforme : WordPress
Thème : Astra

Avant, nous utilisions le thème extol, puis nous sommes passés à Astra. Ajout d’un hook de section de commentaires par Astra Site Builder et placé sous l’article par condition d’affichage.

Tous les articles de blog affichent la section de commentaires normalement, sauf 3 articles (qui affichent la section de commentaires discourse deux fois).

Quelqu’un peut-il m’aider ?

Salut, cela ressemble à un problème avec votre thème, ou peut-être à la façon dont vous utilisez « Astra Site Builder », mais nous allons voir si nous pouvons vous aider néanmoins.

Pourriez-vous peut-être expliquer à quoi cela ressemble ? Avez-vous utilisé du code ? Pourriez-vous lier la documentation d’« Astra Site Builder » ? S’agit-il d’un thème activé par blocs ? Essayez de donner autant de détails que possible.

1 « J'aime »

Merci @angus pour votre réponse rapide.

En fait, je ne vois aucun code lors de la modification du code et j’utilise le modèle de publication unique par défaut du thème, qui ne devrait pas avoir le code de commentaire de discourse.

La chose étrange est que cela se produit uniquement avec les publications suivantes : Strange thing is this happening with only following posts: - Pastebin.com [Veuillez vérifier pastebin, j’ai ajouté des liens là-bas]

D’autres publications affichent uniquement la boîte de commentaires que j’ai ajoutée par le constructeur de site astra.

Oui, astra est un thème activé pour les blocs. Voici sa documentation : Documentation Docs

Avez-vous utilisé le bloc de commentaires WP Discourse ?

1 « J'aime »

Oui, j’ai utilisé le bloc de commentaires WP Discourse sur Astra Site builder. Même si je désactive le hook d’Astra Site builder, cette boîte de commentaires discourse supplémentaire est toujours visible sous la publication.

Auparavant, nous utilisions le thème extol. Nous avons ajouté le bloc de commentaires Discourse sur la page de publication unique elle-même.

Ensuite, nous sommes passés à Astra.

Astra a certaines limitations, nous ne pouvons donc pas modifier le modèle de publication unique par défaut. C’est pourquoi j’ai ajouté la boîte de commentaires discourse via le hook du constructeur de site Astra, ce qui fonctionne parfaitement.

Même si je désactive le hook du constructeur de site Astra, ces 3 pages affichent toujours la boîte de commentaires Discourse, nous n’avons pas ajouté de bloc de boîte de commentaires dans la publication. Et je n’ai vraiment pas pu comprendre d’où cela venait.

Veuillez désactiver le paramètre « Activer les commentaires Discourse » dans WP Discourse > Commentaires et dites-moi quel effet cela a (assurez-vous d’enregistrer la modification du paramètre).

Si je désactive ce paramètre, les deux zones de commentaires disparaissent.

1 « J'aime »

Ok, vous pouvez le réactiver.

Le problème est que, quelle que soit la combinaison de thème et de constructeur de site que vous utilisez, vous avez à la fois un modèle de publication PHP et un modèle de publication de bloc sur la même page (ce qui n’est pas normal). C’est la raison pour laquelle cela se produit.

Si vous souhaitez charger les deux modèles sur une seule page, vous devez supprimer la ligne comments_template du modèle de publication PHP.

1 « J'aime »

Si cela vient de php, je me demande pourquoi il n’est visible que pour 3 publications spécifiques.
Je n’ai pas trouvé comments_template dans le fichier single.php. :cry:

1 « J'aime »

Si je désactive les commentaires depuis les paramètres du personnalisateur, seule la boîte de commentaires disparaît. La boîte de commentaires Discourse est toujours visible.

1 « J'aime »

Je n’ai toujours pas trouvé.

Lorsqu’une personne commente un fil de discussion sur Discourse, une nouvelle section de commentaires apparaît sous l’article de blog associé. Je n’ai pas trouvé comments_template.

Pourriez-vous s’il vous plaît suggérer un article ou un tutoriel vidéo à ce sujet ?
@angus

1 « J'aime »

J’ai masqué une section de commentaires en utilisant du CSS supplémentaire.

C’est une solution temporaire. S’il existe un moyen plus efficace, faites-le moi savoir et je l’appliquerai.

1 « J'aime »

Il y a un appel de fonction de modèle de commentaires dans les modèles PHP que vous utilisez, ce qui en est la cause. Il ressemblera à ceci.

<?php comments_template(); ?> 

Où il se trouve dépendra des modèles PHP que vous utilisez. Trouvez cette fonction et vous résoudrez le problème. Il n’y a malheureusement pas beaucoup plus d’aide que nous, ou un article, pouvons apporter.

La seule autre chose que je suggérerais est de contacter les personnes qui prennent en charge “Astra”. Le problème sous-jacent ici est cette combinaison de modèles PHP et de blocs que vous avez. Peut-être qu’ils peuvent éclairer cela.

2 « J'aime »

Tout d’abord, je tiens à vous exprimer un grand merci du fond du cœur à @angus pour votre soutien indéfectible et vos précieux conseils. Votre aide compte énormément, et j’apprécie sincèrement le temps et les efforts que vous avez consacrés à m’aider à résoudre ce problème. Laissez-moi vous détailler tout ce que j’ai exploré et essayé, en espérant que cela puisse aider d’autres personnes confrontées à des problèmes similaires.

Contexte et configuration initiale :
Initialement, nous utilisions le thème Extol, où nous avions ajouté le bloc de commentaires Discourse directement sur la page de l’article unique. Cela fonctionnait parfaitement. Lorsque nous sommes passés au thème Astra, les choses se sont compliquées. Astra ayant certaines limitations (comme l’impossibilité de modifier facilement le modèle d’article unique par défaut), j’ai ajouté la boîte de commentaires Discourse via les hooks d’Astra Site Builder et l’ai placée sous l’article en fonction d’une condition d’affichage.

Cela fonctionnait bien pour la plupart des articles, mais pour trois articles spécifiques, la section de commentaires Discourse apparaissait deux fois. Je n’arrivais pas à comprendre pourquoi cela se produisait uniquement pour ces articles, alors que les autres s’affichaient correctement. Cette anomalie m’a fait penser qu’il pourrait y avoir un vestige de l’ancienne configuration Extol, mais je n’ai rien pu identifier de définitif.

Exploration du problème :

  • J’ai d’abord vérifié l’éditeur d’articles, à la recherche de tout paramètre ou bloc qui aurait pu être activé ou désactivé manuellement pour les commentaires Discourse. Étonnamment, il n’y avait rien là-bas – aucun bloc supplémentaire, aucun paramètre différent.

  • Ensuite, j’ai désactivé le hook d’Astra Site Builder pour voir si cela supprimait la section de commentaires supplémentaire. Ce ne fut pas le cas ; la boîte dupliquée est restée. Cela suggère que la duplication se produisait en dehors de la configuration d’Astra Site Builder.

  • J’ai ensuite essayé de désactiver « Activer les commentaires Discourse » dans les paramètres de WP Discourse. Comme vous l’aviez conseillé, cela a supprimé les deux sections de commentaires, indiquant que les deux étaient générées par cette intégration d’une manière ou d’une autre.

  • Après l’avoir réactivé, j’ai approfondi les fichiers du thème. J’ai parcouru single.php, content-single.php et d’autres fichiers de modèle associés à la recherche de toute occurrence de comments_template();. Malheureusement, je n’ai rien trouvé qui appelle explicitement cette fonction. Cela m’a laissé perplexe. Si c’était un problème de modèle PHP, pourquoi ne pouvais-je pas le trouver ?

  • J’ai également essayé de vérifier les modèles personnalisés. Peut-être que ces trois articles utilisaient un modèle différent ? Je n’ai pas pu le confirmer non plus. Tout semblait pointer vers la configuration par défaut.

  • Une autre théorie était liée à la synchronisation des commentaires – peut-être que lorsqu’une personne commentait sur le forum Discourse, cela déclenchait l’apparition d’une autre section de commentaires sous l’article de blog associé. Cela semblait plausible, mais je n’ai trouvé aucun paramètre ou documentation qui lie directement ce comportement.

  • J’ai eu recours à une solution CSS temporaire pour masquer la section de commentaires dupliquée :

    CSS ajouté dans le personnalisateur de thème WP CSS additionnel

    #comments {
        display: none !important;
    }
    

    CSS ajouté dans le hook Astra :

    #comments {
        display: block !important;
    }
    

    Bien que cela ait fonctionné, je suis d’accord pour dire que ce n’est pas une solution permanente. Je préférerais de loin m’attaquer à la cause profonde.

Réflexions et théories :

  • Je soupçonne qu’il pourrait s’agir d’un problème plus profond dans la façon dont Astra gère les hooks et les blocs – peut-être un conflit ou une duplication dans la manière dont les commentaires Discourse sont intégrés.
  • Une autre possibilité est qu’il existe un paramètre caché ou une configuration résiduelle de l’ancien thème Extol qui continue d’influencer les choses.
  • Ou cela pourrait être lié à la façon dont Discourse se synchronise avec WordPress. Lorsqu’un commentaire est fait sur le forum, cela pourrait déclencher quelque chose dans le site WordPress, créant cette section supplémentaire.

Ce que je n’ai pas encore essayé :

  • Contacter le support Astra : Comme vous l’avez suggéré, cela pourrait valoir la peine d’être poursuivi. Ils pourraient être au courant de problèmes similaires ou fournir des informations sur la façon dont leur thème gère les commentaires et les hooks.
  • Désactiver tous les plugins sauf WP Discourse : Cela pourrait aider à isoler si un autre plugin cause ce comportement.
  • Tester avec un article entièrement nouveau : Créer un nouvel article à partir de zéro et voir si le problème se reproduit pourrait révéler quelque chose.

Prochaines étapes :
Pour l’instant, je pense que je vais contacter le support Astra et éventuellement effectuer d’autres tests avec les plugins désactivés. Je pourrais également essayer une approche différente en utilisant un thème enfant et voir si je peux gérer manuellement la section de commentaires Discourse de manière plus précise.

Encore une fois, Angus, merci infiniment pour votre aide et votre patience. Vos éclaircissements ont été inestimables, et même si je n’ai pas encore résolu le problème, je me sens plus proche de comprendre ce qui se passe. Si d’autres personnes ont des idées, des éclaircissements ou des expériences avec des problèmes similaires, j’aimerais beaucoup les entendre !

Je continuerai à chercher et je mettrai à jour ici si je découvre quelque chose de nouveau. À bientôt !

2 « J'aime »

Avez-vous par hasard activé le paramètre Afficher les commentaires WP existants ?

2 « J'aime »

J’ai essayé en activant / désactivant les paramètres, cela n’a eu aucun effet sur la boîte de commentaires supplémentaire de Discourse.

Merci @Arkshine

1 « J'aime »

Désolé, je ne regardais pas le bon problème !
Je pensais que vous parliez uniquement de celui-ci :


Je pense que votre problème est attendu.
Le thème Astra ne prend pas en charge la fonctionnalité Full Site Editing et ne fonctionne pas avec les blocs.
En d’autres termes, Astra n’est pas un thème de blocs, et pour personnaliser les pages, vous devez utiliser un constructeur de pages tiers (tel qu’Elementor, dans votre cas).

Vous verrez certainement un doublon si vous n’utilisez pas le bloc Discourse pour remplacer le bloc de commentaires d’origine. Angus montre ce que vous devriez faire si vous aviez un thème de blocs dans sa vidéo : WP Discourse Comments Block.

Vous ne remplacez pas la zone de commentaires lorsque vous ajoutez le bloc Discourse à l’aide de crochets ; vous placez du code personnalisé à un endroit spécifique.


Quelle est la solution ?

Si vous préférez l’apparence/l’emplacement du crochet Astra, il existe un moyen de supprimer la zone de commentaires native de WordPress. Vous pouvez ajouter ce code PHP. Voir How to Add Custom PHP Code in the Astra Theme? si vous avez besoin d’aide.

add_action(
	'init',
	function() {
		if ( class_exists( 'Astra_Loop' ) ) {
			remove_action( 'astra_template_parts_content', array( Astra_Loop::get_instance(), 'template_parts_comments' ), 15 );
		}
	},
	11
);

J’espère que cela vous aidera !

4 « J'aime »

Merci beaucoup, @Arkshine ! :tada:
Enfin, la section de commentaires native n’est plus visible — quel parcours cela a été !

Et un immense merci à @angus également. Votre patience, vos conseils et vos profondes analyses ont été vraiment inestimables tout au long de ce processus. J’apprécie sincèrement le temps et les efforts que vous avez consacrés pour m’aider à résoudre ce problème.

De la mise à l’épreuve de différents paramètres au débogage du mélange de modèles de blocs et PHP, j’ai tout exploré — de la désactivation des hooks Astra à l’ajustement du CSS, en passant par la vérification du modèle de commentaires, et même en recherchant pourquoi seuls certains articles étaient affectés. Ce fut des montagnes russes d’essais et d’erreurs, mais chaque étape m’a aidé à mieux comprendre le système.

Cela n’aurait pas été possible sans votre expertise et votre volonté d’aider. Votre aide n’a pas seulement résolu le problème — elle m’a tant appris sur WordPress, Discourse et les intégrations de thèmes. Je suis extrêmement reconnaissant.

À tous ceux qui rencontrent des problèmes similaires : Continuez à tester, continuez à apprendre et n’hésitez jamais à demander de l’aide. La communauté est incroyable ! :rocket:

3 « J'aime »

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