在Tumblr中选择一个“精选”帖子?

时间:2010-12-02 15:19:12

标签: tumblr

我希望我的Tumblr主页显示由“精选”标签选择的单个问题/答案帖子,或者更确切地说是标记为“精选”的最新问题/答案帖子。我没有看到任何内置的Tumblr标签会这样做。

3 个答案:

答案 0 :(得分:3)

默认情况下,我使用jQuery从“特色”类别中获取精选帖子(其中n个)。我已将此解决方案实施到我的主题 - Purely

这是一个屏幕截图(显示三个特色帖子) Screenshot of my blog 添加此行的元部分

<meta name='text:Featured Tag' content='featured' />

中添加jQuery库
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>

在要显示精选帖子的位置添加这些行

{block:IndexPage}
 {block:IfFeaturedTag}
   <h1 class="featured-subhead">
     Featured Posts <a href="/tagged/{text:Featured Tag}"> + </a>
   </h1>
 {/block:IfFeaturedTag}
{/block:IndexPage}

在结束标记

之前添加这些行
{block:IndexPage}{block:IfFeaturedTag}
<script>
    var rssurl = '/tagged/{text:Featured Tag}/rss';
    $.get(rssurl, function(data) {
    $('.featured-subhead').append('<div class="featured-posts">');
    var $xml = $(data);
    var vari = 0;
    $xml.find("item").each(function() {
        var $this = $(this),
            item = {
                title: $this.find("title").text(),
                link: $this.find("link").text(),
                description: $this.find("description").text(),
                pubDate: $this.find("pubDate").text(),
                author: $this.find("author").text()
        }
        vari = vari +1;
        if(vari <4){
        $('.featured-subhead').append('<div class="featured-post" style="overflow:hidden;"><h2 class="featured-title"><a href="' + item.link + '">' + item.title + '</a></h2><div class="featured-post-description' + vari + '">' + item.description + '</div><div class="featured-post-link"><a href="' + item.link + '">Read More</a></div></div>');
        //Do something with item here...
        }
    });
    $('.featured-subhead').append('</div>');
});
{/block:IndexPage}{/block:IfFeaturedTag}

您可以根据要显示的帖子数量更改if(vari <4){line。例如,要显示单个帖子,则为if(vari <2){。

我还添加了一些CSS类来设计输出。这可以在

中的段中声明
h1.featured-subhead
{
/* Heading of featured post */
}
.featured-posts
{
/* Outer box of all featured posts */
}
.featured-post
{
/* Inner box of each featured post */
}
h2.featured-title
{
/* Heading of each featured post */
}
.featured-post-description
{
/* Description or body of each featured post */
}
.featured-post-link
{
/* Link to Permalink page of each featured post */
}

这里只有feature-subhead类是必要的。这必须添加到特色帖子的标题中。 jQuery将在此之后添加精选帖子。

它是如何工作的? 这里没有惊喜。 Tumblr为每个页面生成一个标签RSS页面。通过使用javascript,我将获取特定的标记页面并显示XML元素中的“n”个元素。有时,Tumblr需要更多时间(我不知道为什么)生成新添加标签的RSS页面。请耐心等待,并尝试浏览your-blog.tumblr.com/tagged/featured/rss页面以检查它是否生成。

答案 1 :(得分:1)

你要问的不是tumblr的原生设置,换句话说,没有偏好设置你可以简单地检查。

为了执行上述操作,您需要编辑当前的主题代码,或者从头开始编写新主题。

为了只显示1个问题帖子,在顶部,带有精选标记,您需要使用jQuery / Javascript和Tumblr API。

这是非常复杂的编码,但是如果你想要它,请转到Tumblr API Codex

答案 2 :(得分:0)

这有点晚了,但是如果它有任何帮助:我们的免费Single A主题内置了粘贴的帖子功能。这是第一个(也是唯一的)tumblr主题。您可以在此处获取:http://www.tumblr.com/theme/28638或在此处了解详情:http://singleatheme.tumblr.com/。希望这有帮助!