一个Disqus标识符
是一个惟一的字符串,在Disqus系统中用于寻找该页面的频道(thread)
。通常使用 disqus_identifier JavaScript configuration variable 来传递(见下文)。javascript
当一个使用的Disqus的页面被加载时,Disqus使用该标识符来辨别正确的评论频道,而后加载该频道。若是找不到正确的频道,将会建立一个新频道。Disqus标识符将频道与页面联系起来。php
Disqus标识符被用在Disqus内嵌代码(embed code)
和评论计数代码(the comment count code)
中。若是你在支持Disqus的平台好比WordPress
和Blogger
中使用Disqus,该标识符在插件(plugins)
的内部使用。html
Disqus标识符与频道ID
不同,频道ID是Disqus内部使用的,由于并不是全部站点都设置了Disqus标识符。全部频道都有频道ID,但不是全部频道都有Disqus标识符。java
配置变量做为Disqus的行为和设置参数来使用。它们在加载Disqus的页面的HTML中被定义。
这些变量在加载了Disqus的每一个页面中都必须存在,所以请在你用来渲染页面的动态模板中包含它们。app
配置变量可被添加在embed.js
脚本以前的任何地方,它们使用<script/>
标签包裹住。好比说:async
JavaScript
<script type="text/javascript"> /* * * 配置变量:此代码仅做示例 * * */ var disqus_shortname = 'example'; // Required - Replace example with your forum shortname var disqus_identifier = 'a unique identifier for each page where Disqus is present'; var disqus_title = 'a unique title for each page where Disqus is present'; var disqus_url = 'a unique URL for each page where Disqus is present'; /* * * 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>
若是你使用了咱们的插件,最好把这段代码放在你的header.php
模板(或其余等效的模板)中,而不是编辑插件文件。ide
把你的论坛短名(shortname
)告诉Disqus,短名是你在Disqus注册时对应网站的惟一标识符。若是未定义,Disqus不会加载。post
用法:使用字符串来指定你的论坛短名
示例:网站
JavaScriptvar disqus_shortname = 'example';
将如何辨识当前页面告诉Disqus。当Disqus加载时,该标识符被用来寻找正确的频道。若是disqus_identifier
未定义,将使用页面的URL
。而要是改动了文章的路径或者改变了域名,URL就显得不可靠了,因此咱们推荐你使用本身标识频道的方式。
注意,不要把多个标识符赋值到相同的频道URL上,那样会形成标识符冲突(Identifier Conflict
)。
插件,好比说WordPress下的,会自动以博客的文章id来定义此项。
用法:指定一个字符串或者整数做为惟一标识符。能够在服务器端被动态渲染。
好处:你将能够引用同一个频道,而无论它加载处的URL。
示例:
如下使用文章的路径做为标识符:
JavaScriptvar disqus_identifier = '/december-2010/the-best-day-of-my-life/';
如下使用一个惟一的id做为标识符:
JavaScriptvar disqus_identifier = '2583573';
颇有可能你会须要动态渲染该值,如下就是一个使用PHP的示例:
JavaScriptvar disqus_identifier = '<? php echo $my_identifier; ?>';
告知Disqus当前页的标题。这在第一次在Disqus建立频道时使用。若是未定义,Disqus将使用该页的<titile>
属性。若是该属性没法使用,Disqus使用该页的URL。
好处:
将频道的标题设置成 http://example.com/helloworld.html 一类的可不太好!
告知Disqus当前页的URL。若是未定义,Disqus使用window.location.href
的值。该URL在disqus_identifier
未定义时用来寻找或建立一个频道。此外,当一个频道被建立时该URL,总被保存,这样Disqus才知道一个频道属于哪一个页面。
当disqus_url缺乏时,使用window.location.href
,咱们强烈推荐定义该变量。若是一个用户使用URL http://example.com/helloworld.html?123 访问你的页面,Disqus可能会加载一个与使用 http://example.com/helloworld.html 时彻底不一样的频道。
为了确保老是加载正确的频道,你应该在你的页面中使用绝对路径来定义:
JavaScriptvar disqus_url = 'http://example.com/helloworld.html';
告诉Disqus当前页使用的分类(category
)。这在第一次在Disqus中建立频道时使用。
分类主要用于咱们的API筛选结果;分类不用来审核(比方说在审核面板过滤评论)。能够在Settings > advanced
页面或者使用咱们的(分类)API来建立新分类。若是你使用一个在你的论坛设置中还未被建立的分类ID,你会收到一个400错误请求
。
JavaScript用法:指定一个分类ID(不是标题)。若是未定义,Disqus使用该论坛的默认的通用分类。
示例:
JavaScriptvar disqus_category_id = '123456'; // 使用ID为'123456'的运动分类。
API用法:经过分类过滤结果。
示例:利用categories/listPosts
端点(endpoint
)(或分类参数
与posts/list
端点结合)来列出某一肯定分类的评论。
可使用评论计数在任何你想使用的元素上。只要你:
disqus-comment-count
类data-disqus-url
或data-disqus-identifier
属性count.js
就能起做用。
下面两种方法都行:
html<span class="disqus-comment-count" data-disqus-url="http://example.com/path-to-thread/"> <!-- Count will be inserted here --> </span>
或
html<span class="disqus-comment-count" data-disqus-identifier="your_disqus_identifier"> <!-- Count will be inserted here --> </span>