云落这两天研究了一下.希望能将本站的一些文章从RSS中排除掉,毕竟不是原创推送个毛线,看下这篇文章吧.
前言
最近估计很多朋友都被云落的RSS邮件给骚扰了,云落的很多文章都是原创的,但是基本资讯类文章都是复制别的网站的,所以把这个分类推送给用户明显是不合理的,所以云落准备屏蔽掉这个分类,另外云落的推送邮件是基于RSS的,所以问题回到了如何在RSS结果中排除特定分类了,折腾了下,还可以.
问题参考
其实从RSS中排除特定分类这个问题是有点相似的,比如之前云落曾经提到过的在网站首页屏蔽特定分类的方法差不多,可以根据那个修改下,具体代码可以看下这篇文章
WordPress首页去除某些分类文章的方法
在函数文件中添加一小段代码就可以解决一个大问题 前言 [v_organge]刚刚在群里有人问道如何在首页去除某 […]
我们将文中的代码对首页的判断改为对RSS的判读就基本可以.
代码
将本段代码加入主题的function文件就可以了.
//RSS排除分类ID function exclude_category($query) { if ( $query->is_feed ) { $query->set('cat', '-55, -1'); } return $query; } add_filter('pre_get_posts', 'exclude_category');
回过头看下,是不是和那段代码一毛一样,其实也很简单.
如何延迟RSS显示
对WordPress的RSS还有很多可以处理的,比如说延迟显示,其实云落之前也说过的
function publish_later_on_feed($where) { global $wpdb; if (is_feed()) { $now = gmdate('Y-m-d H:i:s'); $wait = '5'; $device = 'MINUTE'; // MINUTE, HOUR, DAY, WEEK, MONTH, YEAR $where .= " AND TIMESTAMPDIFF({$device}, {$wpdb->posts}.post_date_gmt, '{$now}') > {$wait} "; } return $where; } add_filter('posts_where', 'publish_later_on_feed');
如果还想知道更多关于WordPress的RSS 知识,我们也可以看看来自露兜的几篇文章
https://www.ludou.org/wordpress-set-rss-update-period.html
https://www.ludou.org/wordpress-feed-static.html
后语
不知道还有多少人在用RSS,云落打算这几天自己搭建一个自己的RSS阅读器,恩,没事了.[ps.tt-rss已安装,然后卸载了,因为暂时不支持PHP7]
-- 完 --
以前到经常用rss,现在用的少了~ PS:才发现我居然没有更改feed的频率~
@龙笑天 我的推送邮件就是基于RSS的,所以必须要屏蔽又出血分类,另外我自己也是RSS用户
嗯,这个排除分类我喜欢,收了!多谢云落!
bucuoya taihaole 不错呀太好了