Я установил 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).
Вот почему я все-таки остановился на подходе с идентификатором. Что не имеет никакого эффекта до сих пор. Буду рад любой подсказке. Ваше здоровье!