Accueil / Wordpress / Pas de Pingback avec Disqus et WordPress ? La solution

Pas de Pingback avec Disqus et WordPress ? La solution

Disqus est selon moi le meilleur système de commentaire. Facile à mettre en place, design élégant, anti-spam puissant et il incite vraiment les gens à commenter. Seul problème, les pingbacks de Disqus ne s’affichent pas sous WordPress. Et forcément, j’en ai fait les frais avec une petite sueur froide en me disant : « Quoi ?! Plus de pingback avec WordPress et Disqus ?! ». J’effectue quelques recherches et je ne trouve rien en français. Et puis, en fouillant sur le web, j’ai trouvé le tutoriel de Brian Jackson qui est en anglais. Le voici en version française.

Disqus se combine très bien à WordPress mais certains réglages, comme le pingback ou les js, sont capricieux
Après ce tutoriel Disqus n’aura plus de secret pour vous.

Etape 1 – Modification du fichier single.php

Dans un premier temps il va falloir effectuer une petite modification du fichier single.php. Pas de panique, je ne suis pas un champion et j’ai réussi à avoir de nouveau mes Pingback avec Disqus d’activé sur ce blog qui tourne avec WordPress. Si je peux le faire, vous aussi ;-). Le plus simple est de vous connecter par FTP puis d’aller dans les fichiers de votre thème. Ensuite, vous récupérez le fichier single.php. Et si vous êtes paranoïaques comme moi, vous en faîtes une copie. Ouvrez votre fichier, et cherchez une ligne qui ressemble à :

<?php comments_template(); ?>

Une fois que vous l’avez trouvée, insérez juste au-dessus :

<?php DisplayPingTrackbacks(); ?> 

Et voilà, la première étape pour le retour du Pingback est effectuée !

Etape 2 – Edition du fichier function.php

Effectuez les mêmes gestes que pour le fichier single.php mais cette fois avec le fichier function.php. Une fois fait, ouvrez votre fichier et collez ce bout de code à la fin :

function DisplayPingTrackbacks() {
 
    // Do not do anything if Disqus is not installed
    if(!dsq_is_installed()) return;
 
    $current_post_ID = get_the_ID();
 
    global $wpdb;
 
    $sql =  "SELECT comment_author_url, comment_date, comment_content, comment_author FROM $wpdb->comments WHERE comment_post_ID = $current_post_ID AND comment_approved = '1' AND (comment_type = 'pingback' OR comment_type = 'trackback') ORDER BY comment_date ASC";
 
    if ($post_pingtrackbacks = $wpdb->get_results($sql) ) {
 
        $number_of_pingtrackbacks = count($post_pingtrackbacks);
 
        if ($number_of_pingtrackbacks == 1) {
            echo "<div id='pingtrackback'><h3 style='font-size:16px;margin-bottom:10px'>One Pingback/Trackback</h3><ul>";
        } else {
            echo "<div id='pingtrackback'><h3 style='font-size:16px;margin-bottom:10px'>" . $number_of_pingtrackbacks . " Pingbacks/Trackbacks</h3><ul>";
        }
 
        foreach ($post_pingtrackbacks as $post_pingtrackback) {
         
                        echo "<strong>";
                        echo date( 'd F Y \a\t g:ma', strtotime( $post_pingtrackback->comment_date ));
                        echo "</strong><br />";
            $comment_summary = $post_pingtrackback->comment_content;
            echo substr( $comment_summary, 0, strrpos( substr( $comment_summary, 0, 90), ' ' ) ) . ' ...';
 
                        echo "\n<li><a href='";
            echo $post_pingtrackback->comment_author_url;
            echo "'>";
            $author = $post_pingtrackback->comment_author;
            echo html_entity_decode($author);
            echo "</a>";
            echo "</li>";
        }
        echo "</ul></div>";
        }
}

Et c’est tout ! Vous avez juste à rafraîchir une de vos URLs où vous avez un Pingback et comme par magie vous le verrez  au-dessus des commentaires Disqus.

L’astuce en plus pour Disqus et les Pingbacks : un « thème enfant »

WordPress est un outil très puissant pour le design d’un blog en « claquant des doigts » et l’utilisation d’un « thème enfant » permet ce genre de choses. Ici, je vous conseille d’utiliser un « thème enfant » et d’effectuer les différents rajouts directement sur celui-ci.

Et comme je suis très gentil, je vous offre également la proposition avec plugin, mais avouez que ce n’est pas aussi drôle et efficace que de faire ça à la main.

En espérant que ce tutoriel sur Disqus, les Pingbacks et WordPress vous soit utile.

A propos de Camille Latouche

Dr. in Computational Chemistry, my field of research is the Coordination Chemistry (complexes, organometallics, clusters). I like spending my time writing web articles and reviewing TV series, movies and books. I am also the founder of http://avisdupublic.net