Как добавить счетчик комментариев Disqus
Я, должно быть, слепой, но никак не могу найти полные инструкции по настройке счетчика комментариев Disqus.
Всё, что мне нужно - это просто отображение количества комментариев.
Я отметил опцию "Output JavaScript in footer". У меня есть пользовательские циклы, но я не знаю, что именно нужно в них добавить, чтобы активировать счетчик комментариев.
Мой файл 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; ?>
JavaScript код Disqus для подвала сайта:
<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>

У меня такая же проблема с отображением количества комментариев в цикле.
Я решил это, отключив два фильтра в файле plugins/disqus/disqus.php на строке 1124:
<?php
#add_filter('comments_number', 'dsq_comments_text');
#add_filter('get_comments_number', 'dsq_comments_number');
И добавил в свой шаблон span с элементами 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.'">';
}


Что такое data-disqus-identifier? Что такое dsq_thread_id? Куда это вставлять? Как это вызывать? Это не тот же код, который автоматически предоставляет плагин Wordpress. Вот в чем моя проблема - они ничего не объясняют.

"Вы можете сделать это, добавив #disqus_thread в конец атрибута href ваших ссылок." ... то есть это что-то вроде <a href="http://example.com#disqus_thread">Текст вашей ссылки</a>

Я уже так сделал... глядя на js-код, похоже, что он ищет все <span class="dsq-postid">, затем устанавливает атрибут rel="data-disqus-identifier" для parentnode и добавляет "#disqus_thread". Так что я предполагаю, что настройка должна выглядеть как <a href="mysite"><span class="dsq-postid"></span></a>, но опять же - ничего не работает ???
