WordPress 自動生成的 RSS Feed 是預設輸出每個目錄分類下的每一篇日誌的,但有時,我們想嘮叨下又不想打擾到關注有意義資訊的訂閱者,怎麼辦呢?只需要把嘮叨的日誌歸類到一個分類,然後在 Feed 裡讓該分類下日誌不顯示就 OK 咯!
如何實現呢?方法有二:
透過 URL 除掉分類下日誌的 Feed 顯示;
透過一個小函式除掉分類下日誌的 Feed 顯示。
兩種方法都很簡單,首先要知道分類的 ID 。 WP 2.5 版以前,在控制面板 「管理」->「分類」 下面即可見分類 ID;在 WP 2.5 之後,這些分類 ID 不直接顯示出來了,但可以透過分類連結來判斷:控制面板 「管理」->「分類」 下,各分類對應的連結即包含分類 ID,如下圖所示:

所以,如果你想把 ID 為 20 的分類在 Feed 中除掉,就在 Feed 地址後面加上」?cat=-20″(不要引號) 就好了。
例如:
正常 Feed:https://www.weixiaoduo.com/feed
調整後的 Feed:https://www.weixiaoduo.com/feed?cat=-20
要是想滅掉更多目錄:https://www.weixiaoduo.com/feed?cat=-20&cat=-21&cat=-22
可惜,這種 Feed 地址挺不好看的,所以我們可以藉助 Feedburner 之類的燒製服務來美化。但要注意的是,Feedburner 所接納的句法有點小差異,我們不能用 「與」 符號 「&」,需要改用逗號:
https://www.weixiaoduo.com/feed?cat=-20,-21,-22
方法一介紹完咯,下面介紹方法二。不想用如上方法的話,可以看看用小函式滴方法。只要在 functions.php 里加入如下 code 就好:
| 以下為引用的內容:
function my_cat_exclude($query) { add_filter('pre_get_posts','my_cat_exclude'); |
這樣就可以在不調整 feed url 的情況下,在 feed 裡除去選定分類下的日誌了!真是簡單整潔的方法,只是沒法輸出多個 feed,沒方法一靈活。