动机
果然读者是第一生产力,自从有友友反馈RSS订阅不到我的脑电波(疯言疯语)后,我就下定了决心解决这个问题,在请教了chatgpt老师后,仅用两个小时就搞定了这个功能,其实很多事情都没有我们想象中的那么困难,只要你起步去做,就会发现这件事情——半步就走到头了。
方法
废话不多说,直接上代码:
// 将 shuoshuo 类型的帖子加入到 RSS feed 中
function custom_rss_query($query) {
if ($query->is_feed) {
$query->set('post_type', array('post', 'shuoshuo')); // 添加 'shuoshuo' 类型
}
return $query;
}
add_filter('pre_get_posts', 'custom_rss_query');
// 只在 RSS 中为没有标题的 shuoshuo 自动生成默认标题
function add_default_title_to_rss_shuoshuo($title, $post_id) {
if (is_feed()) { // 检查是否是 RSS feed
$post_type = get_post_type($post_id);
if ($post_type == 'shuoshuo' && $title == '') {
return '脑电波'; // 只在 RSS 中为无标题的说说设置默认标题
}
}
return $title;
}
add_filter('the_title', 'add_default_title_to_rss_shuoshuo', 10, 2);
这个代码写在哪呢?可以写在主题的functions.php里,但是考虑到可能存在的更新覆盖(虽然主题大大已经停更很久了),我还是强烈安利你写在Snippets这个插件里,这个插件可以更直观清晰地管理附加代码,包括PHP、HTML、CSS、JavaScript等都能写。我也是今年才发现这个好东西,如果早点知道还能这么操作可能就不会去自己做插件了哈哈。
保存成功后可以去feed页面查看一下是否添加成功,比如我的订阅地址是https://crowya.com/feed。
注意如果要在手机RSS阅读器里看到效果,可能需要清除一下缓存,WP Super Cache或者Autoptimize的缓存都清除一下试试,之前的评论验证码bug极有可能就是Autoptimize缓存未更新的问题。
如果你的RSS只显示10条内容,可以在WordPress自带设置里修改。
如果你好奇我的RSS结尾信息是怎么添加的,那是因为Yoast SEO刚好有这个设置我就用上了哈。
最后推荐一个安卓端的RSS阅读器:Read You,颜值还怪好看的哈,功能也简洁,对标的应该是iOS的Reader,最重要的还是免费开源。之前的inoreader为啥不用了?全平台还是香的,但是我发现它是在线更新,文章获取频率是固定的,没法第一时间手动刷新,对于我们这种需要实时调试的博主来说就有点鸡肋了,而Read You就只是单纯地从本地获取服务器内容,离线阅读器,随时都可以手动更新。
不过测试的时候最好清空一下所有文章哈,有可能他发现本地存过某篇文章就跳过更新了,这样有些标题可能还是旧的。
就酱紫吧,终于在中秋假期拔掉了这个flag,祝大家中秋节快乐!
PC阅读可以使用TTRSS。如果IOS手机客户端我会推荐使用NetNewWire和ReadOn。
本地阅读器确实非常nice,结合rsshub甚至能订阅bilibili视频,但我最终选择了,rsshub+ttrss+reeder/feede的组合,本地阅读器在于多设备使用的话,没办法区分哪些看过哪些没有,通过ttrss作为中转则好了很多,另外reeder和marginnote是让我最终选择拥抱ios的很大驱动来源。
目前ttrss+reeder的组合没办法在reeder/feedme播放视频,但是网页版加上插件可以正常预览,不过平时最多看得还是博文,视频反而看得不多,因为木有那么多时间,但感觉很多高质量的知识在视频中也是有的,所以考虑在电脑端直接使用ttrss也是个不错的选择。
更有意思的一点就是我最早了解到rss技术还是通过鸦鸦的文章,还是在去年四五月刚建站那会儿🥮
久闻 ttrss 的大名,其实一直想折腾的来着,但是太懒,不过这确实是一个资深RSS的必经之路,希望有一天能战胜自己的懒惰,真正爱上阅读୧(๑•̀⌄•́๑)૭