[WP] 在Rss Feed裡面加上繼續閱讀的功能 :: Ozh’ Better Feed

上一篇「香港之旅 [2]」因為圖片過多,所以我加上了<!–nextpage–>標籤將頁面做分頁處理,但是後來發現在rss feed裡面不但沒有顯示全文(只有第一頁),也沒有任何記號或提示文章還有下一頁,所以到google大神那邊翻找了一下,首先找到了WordPress官方論壇裡的這一篇,證實了其它人也有相同的困擾,不過討論中並沒有提出解決的方案,於是我換了關鍵字後就繼續翻找,最後找到Ozh’ Better Feed這個外掛,可以完全解決我的問題。

Ozh’ Better Feed的特點包括:

1.如果你在文章中加入<!–more–>標籤(繼續閱讀標籤),依照WP預設還是會在feed中輸出全文或是前四十個字的摘要,Ozh’ Better Feed可以認出<!–more–>標籤,然後在feed中加入繼續閱讀的提示文字,讓讀者可以回到主站來閱讀文章。

2.通常在文章中加入<!–nextpage–>分頁標籤是希望版面不會因為過長的文章而載入速度變慢,而且閱讀起來也會比較舒服,可是WP預設在feed裡面是不會處理這個標籤(不曉得算不算是bug?),甚至不會現任何提示文字,除非讀者回到本站,否則將無法得知文章還有另一頁。Ozh’ Better Feed會將這個標籤視為「繼續閱讀」,然後自動加上提示文字,導引讀者回到本站將文章看完。

3.有參數可以設定在feed結尾處加上迴響數、版權宣告、相關文章、Technorati和del.icio.us搜尋或其它任何你想加註的文字。

安裝方式

1. 下載外掛
2. 壓解縮並設定外掛。(設定方式請見下一節)
3. 上傳外掛到/wp-content/plugins/,然後在WP後台啟動外掛。

設定方式

此外掛沒有後台的設定介面,所以必須編輯外掛裡的wp_ozh_betterfeed.php這個檔案進行設定,檔案裡有詳細說明每個設定值的意義,或者也可以到官網中看看說明文件,以下簡單說明設定步驟:

第16行:

$wp_ozh_betterfeed['split'] = 1;

0代表保持WP對<!–more–>標籤的預設值(不處理);1代表將<!–more–>視為「繼續閱讀」。這裡我設定為0,因為我還是喜歡在feed中送上全文給讀者閱讀。

第21行:

$wp_ozh_betterfeed['multipage'] = 1;

0代表保持WP對<!–nextpage–>標籤的預設值(不處理);1代表將<!–nextpage–>視為「繼續閱讀」。這裡我設定為1,因為這樣才會顯示繼續閱讀的提示文字,否則讀者永遠不知道文章還有下一頁。

第49行:

$wp_ozh_betterfeed['readmore'] = '(...)<br/>Read the rest of <a href="%%posturl%%">%%posttitle%%</a> (%%wordcount_remain%% words)';

這裡可以設定繼續閱讀的文字,例如我就設成這樣:

$wp_ozh_betterfeed['readmore'] = '還沒完吶!請<a href="%%posturl%%" target="_blank">繼續閱讀「%%posttitle%%」…… »</a>';

可以使用任何文字或html進行設定。

第52-66行:

52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
$wp_ozh_betterfeed['footer'] = <<<FEEDFOOT
       <p>%%readmore%%</p>
       <hr noshade style="margin:0;height:1px" />
       <small><p>&copy; %%author_nick%% for <a href="%%blogurl%%">%%blogname%%</a>, %%date[Y]%%. |
       <a href="%%posturl%%">Permalink</a> |
       <a href="%%posturl%%#comments">%%comments_text%%</a> |
       Add to
       <a href="http://del.icio.us/post?url=%%posturl%%&amp;title=%%posttitle%%"><img src="http://yoursite.com/images/icons/delicious.gif" border="0"> del.icio.us</a>
       <a href="http://www.digg.com/submit"><img src="http://yoursite.com/images/digg.gif" border="0"> digg</a><br/>
       Who's linking ?
       <a href="http://www.technorati.com/search/%%posturl%%" title="Search on Technorati"><img src="http://yoursite.com/images/icons/technorati.gif" border="0">Technorati</a>
       <a href="http://www.blogpulse.com/search?query=%%posturl%%" title="Search on Blogpulse"><img src="http://yoursite.com/images/icons/blogpulse.gif" border="0">BlogPulse</a>
       <a href="http://google.com/blogsearch?q=%%posturl%%" title="Search on Google Blog Search"><img src="http://yoursite.com/images/icons/google.gif" border="0">Google</a><br/>
       Want more on these topics ? Browse the archive of posts filed under %%categorylinks%%.</small></p>
FEEDFOOT;

這一大串就是你想要加入feed結尾的東西,可以依照你的需求加入任何feed或是html,裡面的特殊標籤在檔案中都有說明用法,在此就不另行列出。這一串我只保留最上方那句:

<p>%%readmore%%</p>

因為我只需要這個功能,其它的都不太需要,所以我都刪掉了。

這個外掛沒有後台介面,所以也不用中文化了,而且設定還算簡單,仔細看一下就了解了,跟我一樣對於<!–more–>和<!–nextpage–>功能在rss feed中被忽略而有困擾的人,推薦你服用這一帖,保證藥到病除。

“[WP] 在Rss Feed裡面加上繼續閱讀的功能 :: Ozh’ Better Feed” 有 1 則迴響

  1. 通告: 寶島之旅

發表迴響