Ghost 1.0 Disqus 评论数未反映 Post 评论

Ghost 1.0 Disqus Comment Count Not Reflecting the Post Comments

我最近将 Ghost 版本从 0.11.11 更新到 1.12.0

我还根据 Disqus - JavaScript configuration variables

添加了一个 PAGE_IDENTIFIER

索引页上的评论数未反映 post 条评论。

link 显示每个 post 的主页评论数,特别是 Firefox 的 post 是 0 条评论

link 显示 Firefox post Disqus 评论数为 4。

以下是我目前的评论脚本

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

我正在使用以下内容来创建评论数 link

<i class="fa fa-comment-o"></i> <a href="{{url absolute="true"}}#disqus_thread" data-disqus-identifier="{{comment_id}}">Comments</a>

post评论脚本如下

<script type="text/javascript">

  var disqus_config = function () {
    this.page.url = '{{url absolute="true"}}';
    this.page.identifier = '{{comment_id}}';
    this.page.title = '{{title}}';
  };

  /* * * 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);
  })();
</script>

问题

我最近使用映射器更新了 URL link,但这会获取新的 page.identifier 吗?

如果不是,我可以采取什么步骤来修复评论数?

调查

1. count.js 文件确实已加载,因为 link 文本在加载后被替换。

2. 我发现在加载 Disqus 计数脚本时会创建一个名为 DISQUSWIDGETS 的对象。 DISQUSWIDGETS.forum 字段未定义。

3. GitHub Gist 上的 jnowland 解构了 count.js 文件,似乎必须定义 DISQUSWIDGETS.forum 才能设置正确的详细信息以检索计数。

根据 GitHub Gist 上 jnowland 的 count.js 文件,必须在执行 Disqus 评论计数脚本之前声明和定义 disqus_shortname

这将正确设置 DISQUSWIDGETS.forum 字段。

<script type="text/javascript">
  var disqus_shortname = "MY_SHORTNAME"; // Replace MY_SHORTNAME with your DISQUS shortname.

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