Attention pour que cela fonctionne il faut que les commentaires soient ouverts sur la page : cocher autoriser les commentaires 2. Comment l’utiliser dans une page Va sur une page (ou article) où tu veux la discussion. Dans l’éditeur (Gutenberg) ajoute un bloc “Code court / Shortcode”. Mets dedans : [page_discussion] Mets la page à jour. 3. Vérifier les réglages de commentaires Pour que ça marche, il faut que les commentaires soient ouverts sur cette page : Modifier la page. Dans la colonne de droite → onglet Discussion (ou dans les options de l’écran). Cocher “Autoriser les commentaires”. Mettre à jour. Et aussi au niveau global, dans Réglages > Discussion > Autoriser les visiteurs à publier des commentaires sur les nouveaux articles (option globale, même si ton shortcode appelle directement comment_form, c’est mieux que tout soit cohérent). 4. Ce que tu dois voir si tout est bon Sur la page où tu as mis [page_discussion] : Un titre “Discussion”, La liste des commentaires (ou “Aucun message pour le moment. Lancez la discussion !”), Le formulaire “Ajouter un message”. Si tu ne vois rien du tout : soit le code n’est pas chargé (mauvais fichier / mauvais thème actif), soit tu n’es pas sur une page “singular” (mais si tu es sur une page classique, c’est bon), soit le shortcode n’est pas reconnu (dans ce cas, [page_discussion] s’affiche en clair dans la page). // Shortcode [page_discussion] : discussion type "forum" pour la page courante function dp_page_discussion_shortcode( $atts ) { if ( ! is_singular() ) { // On ne fait quelque chose que sur une page / un article individuel return ''; } $post_id = get_the_ID(); // Optionnel : n'autoriser que les pages (et pas les articles) // if ( get_post_type( $post_id ) !== 'page' ) { // return ''; // } // Vérifie si les commentaires sont ouverts pour cette page if ( ! comments_open( $post_id ) ) { return '

La discussion n’est pas ouverte pour cette page.

'; } ob_start(); ?>

Discussion

$post_id, 'status' => 'approve', 'order' => 'ASC', // du plus ancien au plus récent ) ); if ( ! empty( $comments ) ) : ?>
    'ul', 'short_ping' => true, 'avatar_size'=> 32, ), $comments ); ?>

Aucun message pour le moment. Lancez la discussion !

'Ajouter un message', 'title_reply_to' => 'Répondre à %s', 'label_submit' => 'Envoyer', 'comment_notes_before' => '', 'comment_notes_after' => '', ), $post_id ); ?>