Tumblr:如何在Pages上隐藏Disqus评论?

时间:2011-06-04 16:33:29

标签: css tumblr

据我所知,在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放在错误的地方,或者其他一些错误,让我知道你的想法,我无论在网上哪里都找不到任何关于这个的东西。没有一个独特的页面块是如此愚蠢......

3 个答案:

答案 0 :(得分:8)

只需将您的Disqus代码包装在日期块中即可。

{block:Date}
    <!-- Disqus code -->
{/block:Date}

由于只有帖子有日期,所以不会在页面上呈现Disqus代码。这也解决了上面只有一个帖子打破方法的问题。

答案 1 :(得分:3)

诀窍是将您的Disqus代码包装在{block:PermalinkPagination}标记中,如下所示:

{block:PermalinkPagination}
   ...disqus code...
{/block:PermalinkPagination}

您的问题是在webapps.stackexhange.com上部分重复this one,可以找到完整的解释here

答案 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>