當我們在浩瀚的網路中衝浪時,碰上有興趣或是不錯的網站時,應該經常會利用所謂的RSS或是FeedBurner所提供的電子報訂閱方式來守株待兔,守在家裡等著訂閱網站發表他們的大作。
如果你是的部落客,內容產生者,不知道你有沒有發現到一件有趣的事,就是這些RSS摘要,有的內容很簡單,可能就只有100個字左右,根本還沒搞清楚狀況,內容就被截斷了,這時候要不要更進一步到原網站瀏覽其文章全文,可能就只能用其標題及少得可憐的內容來判斷;可是有的RSS內容卻是一字不差的把整篇文章完全節錄,也就是說在RSS上就可以看完全文,根本就不必再回到原始網站,相對於內容經營者來說,這麼一來就少了網站的流量,二來過多的內容形成了不必要的網路資源浪費。
以上兩種方式過與不及都不好。工作熊看過最好的RSS內容其實是長這樣的:
-
依據文章內設定的【繼續閱讀】符號來截斷。這樣子可以讓內容產生者自行決定RSS的截斷點。
-
可以顯示文章圖片。我們常說有時候「一張圖勝過千言萬語」,尤其是對那些寫遊記或是食記的部落客,一張可以代表文章的照片經常可以引起讀者的興趣。
目前工作熊只找到使用 WordPress 架站的方法,其他的部落格平台就自求多福了。變更的方法必須使用FPT軟體修改php程式碼。修改程式碼之前建議先備份,以免更改方法有誤造成系統問題,另外如果軟體升級後,有時候可能會造成原來修改的程式碼遺失,需要重新再做一次修改,程式碼修改方法如下(工作熊試過三個網站都可以成功,原本有一個一直有問題,後來在FeedBurner上面做了一些設定就好了,不過當工作熊把設定又調回來的,問題也沒重複發生,所以就在看看囉!):
1. 更改feed.php程式碼
先使用FTP軟體找到wp-includes/feed.php程式,找到【get_the_content_feed】關鍵字。
function get_the_content_feed($feed_type = null) {
if ( !$feed_type )
$feed_type = get_default_feed();
$content = apply_filters(‘the_content’, get_the_content());
$content = str_replace(‘]]>’, ‘]]>’, $content);
return apply_filters(‘the_content_feed’, $content, $feed_type);
}插入下面兩行紅色的程式碼於指定位置,完成後儲存檔案。
function get_the_content_feed($feed_type = null) {
if ( !$feed_type )
$feed_type = get_default_feed();
global $more;
$more = 0;
$content = apply_filters(‘the_content’, get_the_content());
$content = str_replace(‘]]>’, ‘]]>’, $content);
return apply_filters(‘the_content_feed’, $content, $feed_type);
}【$more = 0;】表示「要」顯示繼續閱讀符號。
【$more =-1;】表示「不」顯示繼續閱讀符號。
2. 更改feed-rss2.php程式碼
接著一樣使用FTP軟體找到wp-includes/feed-rss2.php的程式檔案,並找到【<get_option(‘rss_use_excerpt’)】關鍵字。其實WordPress下有好多的rss程式,但一般FeedBurner多會幫我們轉成RSS2.0的格式。
<?php if (get_option(‘rss_use_excerpt’)) : ?>
<description><![CDATA[<?php the_excerpt_rss(); ?>]]></description>
<?php else : ?>修改其後面的程式碼,將原本的【the_excerpt_rss();】修改為【the_content_feed(‘rss2’);】,完成後儲存檔案就可以了。(注意:只要修改指定的【the_excerpt_rss();】就可以了)
<?php if (get_option(‘rss_use_excerpt’)) : ?>
<description><![CDATA[<?php the_content_feed(‘rss2’); ?>]]></description>
<?php else : ?>
3. 程式碼修改前後的RSS比較。
程式碼修改「前」。
下面這個截圖使用IE直接讀取RSS的內容,可以看到摘要都只有一行,每個摘要應該都不超過50個字。這樣的摘要有時候很難讓人決定要不要繼續閱讀。程式碼修改「後」。
下面的截圖也是使用IE直接讀取RSS的內容,現在可以看到摘要的內容有圖片顯示,而且每個摘要擷取都點都在【繼續閱讀】的位置。
4. 重抓 FeedBurner 的RSS內容摘要
雖然部落格上的的RSS摘要已經更改過來了,但FeedBurner上的摘要卻已經抓好舊的資料了,建議到FeedBurner上設定重抓摘要,這樣才會讓我們的所有摘要一致。
設定FeedBurner重抓摘要的方法如下:
- 登入FeedBurner。
- 點擊【疑難排解(Troubleshoot)】的水平選單。
將螢幕往下拉,在2/3的地方看到一個【Resync Now】的按鈕,按下去就可以了。 再點擊【內容優化】的水平選單。左側邊欄的第一個選項【您的摘要】,就可以看到更新厚的內容了。
5. 疑難排除
當修改後網站有問題時,請檢查看看是否有打錯字,或是「半字形」打成了「全字形」的問題。 如果摘要內容無法顯示【繼續閱讀】的連結,建議到FeedBurner的【內容優化】水平選單,關閉【摘要內容總結工具】。 如果內容一直無法顯示,可以嘗試設定FeedBurner,在【內容優化】水平選單下設定【摘要格式轉換器】為【RSS2.0】。 有時候網站或是個人電腦設有快取,可能會無法即時反應修改後的內容,請重複按<F5>重整螢幕,或是等一下再重新試一次看看。建議先使用IE來查看部落格中的RSS內容正確否,確定正確了再來更改FeedBurner的設定,因為FeedBurner有快取。 如果還有其他問題,請先參考這篇文章【WordPress的RSS讀取錯誤問題解決】
延伸閱讀:
為部落格文章加上色彩繽紛的蠟筆重點底線
添加日曆圖示到WordPress部落格
如何啟用wordpress的維護模式,暫停網站服務
請問我已經改原始碼
不過用IE看RSS還是都是全文顯示
http://baby.homin.com.tw/?feed=rss2
是不是feed-rss2.php下面也要改
<![CDATA[]]>
<![CDATA[]]>
0 ) : ?>
<![CDATA[]]>
SHERRY;
剛剛看了你的RSS,顯示正常。
請問我已經改原始碼
不過用IE看RSS沒有出現閱讀全文的標籤
反而出現 UTF8_EXCERPT_HAS_MORE
請問怎麼修改?
黎盈;
建議你先參考一下這篇文章看看。
WordPress的RSS讀取錯誤問題解決