Cum să adaugi numărul de comentarii Disqus
Probabil că am trecut cu vederea, dar nu pot găsi instrucțiunile complete pentru a face să funcționeze contorul de comentarii Disqus.
Tot ce vreau să fie afișat este doar numărul de comentarii.
Am bifat opțiunea "Output JavaScript in footer". Am bucle personalizate dar nu știu ce ar trebui să pun în ele pentru a activa numărul de comentarii.
Fișierul meu loop.php este:
<?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; ?>
Codul JavaScript Disqus pentru footer este:
<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>

Am aceeași problemă cu afișarea numărului de comentarii în buclă.
Am rezolvat acest lucru prin dezactivarea a două filtre în fișierul plugins/disqus/disqus.php la linia 1124:
<?php
#add_filter('comments_number', 'dsq_comments_text');
#add_filter('get_comments_number', 'dsq_comments_number');
Și am adăugat în template-ul meu un element span cu elemente 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.'">';
}


Ce este data-disqus-identifier? Ce este dsq_thread_id? Unde trebuie să le pun? Cum le apelez? Nu este același cod cu cel oferit automat de pluginul Wordpress. Aceasta este problema mea - ei nu explică nimic.

"Puteți face acest lucru adăugând #disqus_thread la sfârșitul atributului href al linkurilor dumneavoastră." ... deci ar trebui să arate cam așa <a href="http://example.com#disqus_thread">Textul linkului tău</a>

Am făcut deja asta... uitându-mă la codul js se pare că caută toate <span class="dsq-postid"> apoi setează atributul rel="data-disqus-identifier" pentru parentnode și adaugă "#disqus_thread". Deci presupun că ar trebui să fie configurat astfel <a href="mysite"><span class="dsq-postid"></span></a> dar din nou - nimic ???
