Счетчик комментариев Disqus не работает

Я установил Disqus вручную в тему WordPress (через плагин вообще не работал). Он работает нормально, но у меня возникают проблемы с отображением количества комментариев.

Я думаю, что я делаю много вещей правильно жестко:

Ссылка на странице /блог/ выглядит следующим образом:

<a href="/the-post-title/#disqus_thread" data-disqus-identifier="dq-332" title="The Post Title"><i class="fa fa-comment"></i> 0</a>

Комментарии.php:

<?php if (comments_open()) : ?>
<div id="disqus_thread"></div>
<script type="text/javascript">
    /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
    var disqus_shortname = 'myshortname'; // Required - Replace example with your forum shortname
    var disqus_identifier = 'dq-<?php echo get_the_ID(); ?> ';

    /* * * DON'T EDIT BELOW THIS LINE * * */
    (function() {
        var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
        dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
        (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    })();

    alert(disqus_identifier);

</script>
<noscript>Please enable JavaScript to view the comments.</noscript>

Как видите, я уведомляю disqus_identifier и поэтому могу убедиться, что он установлен правильно (в данном случае dq-332, как указано выше).

И я загружаю count.js глобально с помощью

<script type="text/javascript">
/* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */
var disqus_shortname = 'myshortname'; // required: replace example with your forum shortname

/* * * DON'T EDIT BELOW THIS LINE * * */
(function () {
var s = document.createElement('script'); s.async = true;
s.type = 'text/javascript';
s.src = 'http://' + disqus_shortname + '.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
</script>

У меня он работал только при одном (ошибочном) обстоятельстве:

До того, как я попробовал это с data-disqus-identifier, он работал, добавляя #disqus_thread к постоянной ссылке без завершающей косой черты, поэтому, например. http://mydomain.com/the-post-title#disqus_thread

Проблема заключалась в том, что комментарии не отображались в http://mydomain.com/the-post-title/ и http://mydomain.com/the-post-title/#disqus_thread (то же самое с косой чертой в конце, которая везде генерируется WordPress).

Вот почему я все-таки остановился на подходе с идентификатором. Что не имеет никакого эффекта до сих пор. Буду рад любой подсказке. Ваше здоровье!


person psteinweber    schedule 23.01.2014    source источник


Ответы (1)


Не удалось решить это таким образом. Потратил еще немного времени на изучение того, почему не работает плагин WordPress. Разобрался в итоге.

Примечание: у вас не должно быть никаких подключаемых модулей относительных URL-адресов, активированных с помощью disqus.

person psteinweber    schedule 27.01.2014
comment
Так не могли бы вы сказать мне, в чем была проблема? У меня такая же проблема. - person Krisztián Balla; 19.02.2015
comment
Хорошо, я узнал, что это не работает локально, но работает на нашем сервере. JavaScript просто добавляет количество комментариев, за которыми следует пробел, к InnerHtml вашего тега привязки. - person Krisztián Balla; 19.02.2015
comment
В моем случае это была несовместимость плагина с некоторым плагином относительного URL. - person psteinweber; 20.02.2015