不知道還在用 Rss Feed 訂閱的人多不多,倡萌就是重度訂閱患者,目前訂閱的優(yōu)質(zhì)源有100多個,主要是關(guān)于WordPress和前端。用的在線訂閱工具是 https://www.inoreader.com ,需要的朋友可以去看下,還是不錯的!
言歸正傳,WordPress 可以在 設(shè)置 – 閱讀 界面進(jìn)行相關(guān)的Feed設(shè)置:

默認(rèn)情況下,只會輸出內(nèi)容相關(guān)(標(biāo)題、作者、文章正文或摘要等)的部分,不會有自定義的其他內(nèi)容,具體你可以看下網(wǎng)址: http://www.ydqwiac.cn/feed 。如果我們想添加自定義內(nèi)容到 Feed輸出,該如何實(shí)現(xiàn)?
方法1 使用插件
在大多數(shù)情況下,使用插件是將自定義內(nèi)容添加到WordPress RSS /Feed 最簡單方法。只需安裝、激活、添加你的內(nèi)容就可以了。這里倡萌推薦 Simple Custom Content 插件,其實(shí)這個插件不僅僅可以向 Feed 中添加自定義內(nèi)容,還可以通過簡碼添加內(nèi)容到任何地方。
方法2 使用自定義代碼
插件的方法雖然簡單,但是對于某些喜歡折騰的人或開發(fā)者來說,通過代碼方式添加可能更靈活。
常用到的代碼如下:
// 添加自定義內(nèi)容到所有 Feed
function wpkj_add_content_to_all_feeds($content) {
$before = '<p>顯示在文章內(nèi)容前的自定義內(nèi)容</p>';
$after = '<p>顯示在文章內(nèi)容后的自定義內(nèi)容</p>';
if (is_feed()) {
return $before . $content . $after;
} else {
return $content;
}
}
add_filter('the_content_feed', 'wpkj_add_content_to_all_feeds');
這段代碼段將指定的自定義內(nèi)容添加到WordPress feed中的每個文章中。你可以通過添加到主題的 functions.php 中,或者制作一個簡單的插件來使用。
上面的 wpkj_add_content_to_all_feeds 函數(shù)代碼定義了 $before 和 $after 兩個變量,分別對應(yīng)文章正文的前后的自定義內(nèi)容,我們可以去修改為任何你想添加的html格式的內(nèi)容。
如果僅有 wpkj_add_content_to_all_feeds 函數(shù)自身的代碼,是不會執(zhí)行的,我們必須通過WordPress的鉤子掛載,才可以生效。在這里我們用的是 the_content_feed 這個過濾鉤子,可以對Feed輸出的內(nèi)容進(jìn)行修改。
注:代碼中使用了
is_feed()作為判斷,只在Feed輸出中才添加自定義內(nèi)容,否則直接顯示正文。在這里其實(shí)是不必要的,因?yàn)槲覀兪峭ㄟ^the_content_feed這個鉤子掛載函數(shù)的,這個鉤子本身就是只對Feed輸出進(jìn)行操作的。 只是想告訴大家可以這樣去做技術(shù)上的判斷。
在文本開頭的插圖里面,我們看到可以設(shè)置Feed顯示全文或摘要。上面提到的 the_content_feed 鉤子就是針對全文的,如果你選擇的是摘要,就可以使用 the_excerpt_rss 鉤子。
//全文的時候用
add_filter('the_content_feed', 'wpkj_add_content_to_all_feeds');
//摘要的時候用
add_filter('the_excerpt_rss', 'wpkj_add_content_to_all_feeds');
好了,關(guān)于添加自定義內(nèi)容到Feed輸出的方法,就介紹到這里,如果你對鉤子不熟悉,推薦拓展閱讀:
- http://www.ydqwiac.cn/series/50-filters-of-wordpress
- https://codex.wordpress.org/Plugin_API/Filter_Reference/the_content_feed
- https://codex.wordpress.org/Template_Tags/the_excerpt_rss





請教個問題:看了一下你的/feed/頁面,里面可以輸出好多字,而系統(tǒng)默認(rèn)只能輸出55個字,請問你是怎么做到的?謝謝。