据我所知,在Tumblr中没有{block:Pages}
块,所以我们添加到普通帖子的任何东西都会被添加到页面中,比如分享,最糟糕的是评论系统。
有没有人知道黑客,或任何方式从页面中删除/隐藏元素?这很困难,因为页面使用{block:Permalink}
{block:Text}
块,所以我很难过。
我最近刚刚发现如何使用HTML在这里修改带有帖子标签的CSS:Tumblr: How to control CSS with post tagging (UPDATE: Working Method without JQuery!)
我想也许我们可以使用它,这个想法会是这样的:
{block:Text}
<div class="post {block:HasTags}pagefix {block:Tags}{Tag}{/...}">
...
{/block:Text}
它的工作方式是默认我们隐藏任何我们不希望在页面上显示的元素(例如:Disqus),在div包装器的.pagefix
之间添加类{block:HasTags}
我们可以告诉它在带有标签的帖子上显示元素,这样元素只会显示在帖子而不是页面上,因为页面没有标签。
这有两个问题, 1)所有帖子必须被标记以显示任何隐藏的项目并且 2)必须将Disqus评论脚本插入到每个帖子中邮寄类型,而不是{/block:Posts}
结束块之前的一次。
我可能只是把Disqus放在错误的地方,或者其他一些错误,让我知道你的想法,我无论在网上哪里都找不到任何关于这个的东西。没有一个独特的页面块是如此愚蠢......
答案 0 :(得分:8)
只需将您的Disqus代码包装在日期块中即可。
{block:Date}
<!-- Disqus code -->
{/block:Date}
由于只有帖子有日期,所以不会在页面上呈现Disqus代码。这也解决了上面只有一个帖子打破方法的问题。
答案 1 :(得分:3)
诀窍是将您的Disqus代码包装在{block:PermalinkPagination}
标记中,如下所示:
{block:PermalinkPagination}
...disqus code...
{/block:PermalinkPagination}
答案 2 :(得分:0)
disqus代码也存在问题,如果你想让评论计数显示在首页而不是评论框(但是评论框和评论以及评论计数显示在永久链接页面上)你必须做到以下几点:
将#disqus_thread附加到直接页面链接,例如<a
href="{Permalink}#disqus_thread"></a>
请勿将disqus代码包装在{block:PermalinkPagination} {/ block:PermalinkPagination}中,因为这会隐藏首页的注释。删除该块(如果存在),并在{block:Permalinkpage} {/ block:Permalinkpage}中包裹disqus脚本仅的顶部部分 - 下面转载的Tumblr的完全disqus代码;
{block:IfDisqusShortname}
{block:Permalinkpage}
<script type="text/javascript">var disqus_url = "{Permalink}"; var disqus_title ="{block:PostTitle}{PostTitle}{/block:PostTitle}";</script>
<div id="disqus_thread"></div>
<script type="text/javascript">
(function() {
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
dsq.src = 'http://{text:Disqus Shortname}.disqus.com/embed.js';
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript={text:Disqus Shortname}">comments powered by Disqus.</a></noscript>
{/block:Permalinkpage}
<!--<a href="http://disqus.com" class="dsq-brlink">{Title}'s comments powered by <span class="logo-disqus">Disqus</span></a>-->
<script type="text/javascript">
var disqus_shortname = '{text:Disqus Shortname}';
(function () {
var s = document.createElement('script'); s.async = true;
s.src = 'http://{text:Disqus Shortname}.disqus.com/count.js';
(document.getElementsByTagName('HEAD')[0] || document.getElementsByTagName('BODY')[0]).appendChild(s);
}());
</script>
{/block:IfDisqusShortname}
</div>