2010-12-02 48 views
4

我希望我的Tumblr主頁顯示一個由「精選」標籤選擇的單個問題/答案帖子,或者說是最近發佈的標籤爲「精選」的問題/答案帖子。我沒有看到任何內置的Tumblr標籤可以做到這一點。在Tumblr上選擇一個'精選'的文章?

回答

1

你所要求的不是tumblr的原生設置,換句話說,沒有偏好設置,你可以簡單地檢查。

爲了達到上述目的,您需要編輯當前的主題代碼或從頭開始編寫新的主題。

爲了只顯示1個問題帖子,頂部帶有精選標籤,您需要使用jQuery/Javascript和Tumblr API。

這是非常複雜的編碼,但如果你爲它着想,請轉到Tumblr API Codex

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} 

你可以,如果(VARI < 4){行根據您要顯示爲精選文章的數量變化之前添加這些行。例如,要顯示一個帖子,這將是如果(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 */ 
} 

這裏只有精選子類是必要的。這必須添加到特色帖子的標題。之後,jQuery將添加精選文章。

它是如何工作的? 這裏沒有驚喜。 Tumblr爲每個頁面生成一個標籤RSS頁面。通過使用javascript,我正在獲取特定的標籤頁並顯示來自XML元素的'n'個元素。有時候,Tumblr會花費更多的時間(我不知道爲什麼)來生成新增標籤的RSS頁面。請耐心等待,並嘗試瀏覽your-blog.tumblr.com/tagged/featured/rss頁面以檢查是否生成。