友链的朋友圈 RSS的聚合页 (WordPress->PIX主题篇&在线解析版)

本文代码基于WordPress构建,PIX主题测试,其他主题理论上通用。

友链的朋友圈 RSS的聚合页 (WordPress->PIX主题篇&本地解析版)请参考如下文章:

友链的朋友圈 RSS的聚合页 (WordPress->PIX主题篇&本地解析版) 友链的朋友圈 RSS的聚合页 (WordPress->PIX主题篇&本地解析版) 本文适用于友链网站内容频繁更新的情况 友链的朋友圈 RSS的聚合页 (WordPress->PIX主题篇&在线解析版)请参考如下文章: [pix_post ids=561] 之所以又出了一个本... 时间:2024/1/9 分类:技术相关

前天在逛OBABY的网站(nai.dog)时,看见她正在折腾两篇文章【抄作业】和【抄作业序章】,大致内容是建立一个页面,能够聚合友情链接网站的RSS,第一时间获取友链网站发布的新内容,我对此非常感兴趣,并且貌似最开始是从我的老乡网友小宋(xyzbz.cn)的【搭建一个自己的rss订阅服务-FreshRSS】慢慢流行的。

我之所以感兴趣,是因为我们的站点都会有友情链接,这些邻居更新的时候我们并不会第一时间知道,但是通过这样一个页面,我们不用一个一个去点开网站,而是用一个页面就能查看每个友链的最近更新情况,这种便利性的感觉,就像大张伟的歌词一样,非常爽。

但是由于老乡网友小宋和OBABY探讨的都是基于FreshRSS建立的,我感觉稍微复杂些,并且一贯秉承尽量减少插件或者第三方依赖的原则,就自己弄了一个,调试并美化一下,觉得还行。

代码完全基于PHP或者WordPress默认的函数或者变量编写,是页面代码,需要新建一个页面,模板选择这个friends模板。

一、运行逻辑:

代码一自动获取后台所有友链,如果友链RSS地址已设置,解析地址获取内容,如果友链RSS地址未设置,查找所有可能的RSS路径进行探测性获取,所有内容获取完成后,按照更新时间(考虑到有些网站同一篇文章内容可能经常更新,由发布时间变更为更新时间)降序排列,取总量前50篇进行展示。

代码二只针对RSS地址已设置的友链,未设置的全部略过,大大减轻了服务器的负担,因此强烈建议添加友链时,直接在后天填写友链网站的RSS地址

二、已知问题:

代码一问题1,由于采用了缓存机制,第一次运行非常缓慢,和友链数目及RSS内容数量有关,预计20秒-120秒左右,并概率性出现502错误,重新刷新即可,第一次缓存完后,访问速度飞快。缓存设定为2小时(代码中可更改,由详细注释),2小时候如果重新刷新或访问页面,重新获取最新内容。问题2,部分主题下有些友链有RSS但是获取不到,我刚开始以为是代码问题,但是经过测试,同样的代码,有的主题能够完全获取友链内容,有些主题只能获取部分友链内容。

代码二大概率避免了502错误,但是有些友链的RSS还是获取不到。

三、代码如下(推荐代码二和代码三,两者区别是代码二是单线程,代码三采用了异步加载的模式同时处理几个友链网站,执行更加高效,这个采用哪个看服务器配置了,一般代码二足矣。)

在自己的主题页面目录(一般为page或pages)下新建friends.php,写入以下代码:

温馨提示: 此处为隐藏内容,需要评论本文后才能查看.
评论后请刷新一次页面,但注意不要清除缓存,否则还需要再次评论!

四、运行演示

朋友圈

友链的朋友圈 RSS的聚合页 (WordPress->PIX主题篇&在线解析版)-似水流年
Comments | 9 条评论
  • 公子扶苏

    Microsoft Edge 109 Microsoft Edge 109 Windows 7 Windows 7 1中国–江苏–苏州 电信 ip address 222.92.*.*

    让我看看哈哈哈哈

  • SenLinM

    Microsoft Edge 120 Microsoft Edge 120 Windows 10 Windows 10 1中国–天津–天津 移动 ip address 111.30.*.*

    这个可以

    • 似水流年

      IBrowse r IBrowse r Android 10 Android 10 1中国–河南–漯河 联通 ip address 182.120.*.*

      欢迎使用!

  • obaby

    Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 1中国–山东–青岛 联通 ip address 112.224.*.*

    友链也把你的加上了

    • 似水流年

      IBrowse r IBrowse r Android 10 Android 10 1中国–河南–漯河 联通 ip address 182.113.*.*

      感谢之至,不胜荣幸!

  • obaby

    Google Chrome 118 Google Chrome 118 Mac OS X 10.15 Mac OS X 10.15 1中国–山东–青岛 联通 ip address 112.224.*.*

    这个方式更简洁一些。

    • 似水流年

      IBrowse r IBrowse r Android 10 Android 10 1中国–河南–漯河 联通 ip address 182.113.*.*

      是的呢😜

  • 网友小宋

    Microsoft Edge 120 Microsoft Edge 120 Windows 10 Windows 10 1中国–河南–漯河 联通 ip address 125.44.*.*

    没有哪位兄弟做了handsome的适配吗

    • 似水流年

      IBrowse r IBrowse r Android 10 Android 10 1中国–河南 移动/数据上网公共出口 ip address 39.144.*.*

      还没有哦,改天我试一下。

消息盒子
# 您需要首次评论以获取消息 #
# 您需要首次评论以获取消息 #

只显示最新10条未读和已读信息