Come aggiungere il conteggio dei commenti Disqus
Non riesco proprio a trovare le istruzioni complete per far funzionare il conteggio dei commenti Disqus.
Voglio semplicemente visualizzare il numero dei commenti.
Ho selezionato l'opzione "Output JavaScript in footer". Ho dei loop personalizzati ma non ho idea di cosa dovrei inserire per attivare il conteggio dei commenti.
Il mio file loop.php è:
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
<?php if ( comments_open() ) : ?>
<a href="<?php echo get_permalink($post->ID); ?>#disqus_thread" class="post-disqus">
<span class="dsq-postid"></span>
<?php echo $post->comment_count; ?>
</a>
<?php endif; ?>
<?php endwhile; ?>
<?php endif; ?>
Il codice javascript di Disqus per il footer è:
<script type="text/javascript">
// <![CDATA[
var disqus_shortname = 'mysite';
var disqus_domain = 'disqus.com';
(function () {
var nodes = document.getElementsByTagName('span');
for (var i = 0, url; i < nodes.length; i++) {
if (nodes[i].className.indexOf('dsq-postid') != -1) {
nodes[i].parentNode.setAttribute('data-disqus-identifier', nodes[i].getAttribute('rel'));
url = nodes[i].parentNode.href.split('#', 1);
if (url.length == 1) url = url[0];
else url = url[1]
nodes[i].parentNode.href = url + '#disqus_thread';
}
}
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = 'http://' + disqus_domain + '/forums/' + disqus_shortname + '/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
//]]>
</script>

Ho lo stesso problema con la visualizzazione del numero di commenti nel loop.
L'ho risolto disattivando due filtri nel file plugins/disqus/disqus.php alla riga 1124:
<?php
#add_filter('comments_number', 'dsq_comments_text');
#add_filter('get_comments_number', 'dsq_comments_number');
E ho aggiunto al mio template uno span con gli elementi disqus:
<?php
if ( function_exists( 'dsq_identifier_for_post' ) ) {
global $post;
echo '<span class="'.$css_class.' dsq-postid" rel="'.htmlspecialchars(dsq_identifier_for_post($post)).'">';
} else {
echo '<span class="'.$css_class.'">';
}


Cos'è data-disqus-identifier? Cos'è dsq_thread_id? Dove lo inserisco? Come lo richiamo? Non è lo stesso codice fornito automaticamente dal plugin WordPress. Questo è il mio problema - non spiegano nulla.

"Puoi farlo aggiungendo #disqus_thread alla fine dell'attributo href dei tuoi link." ... quindi sarebbe qualcosa come <a href="http://example.com#disqus_thread">Il testo del tuo link</a>

L'ho già fatto... guardando il codice js sembra che cerchi tutti i <span class="dsq-postid"> poi imposta l'attributo rel="data-disqus-identifier" al parentnode e aggiunge "#disqus_thread". Quindi presumo che dovrei impostarlo come <a href="mysite"><span class="dsq-postid"></span></a> ma ancora - niente ???
