我在WordPress主题中手动安装了Disqus(通过插件完全无法工作)。它工作正常,但我无法显示评论计数。
我认为我做了很多艰难的事情:
/ blog /页面上的链接如下所示:
<a href="/the-post-title/#disqus_thread" data-disqus-identifier="dq-332" title="The Post Title"><i class="fa fa-comment"></i> 0</a>
comments.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到处生成的尾部斜杠相同)。
这就是为什么我最终得到了标识符方法。到目前为止没有任何影响。对任何类型的提示都会感到高兴。干杯!
答案 0 :(得分:1)
无法通过这种方式解决问题。花了一些时间来调查WordPress插件无法正常工作的原因。最终解决了这个问题。
注意:您不应该使用disqus激活任何相对URL插件。