友链的朋友圈 RSS的聚合页 (WordPress->PIX主题篇&在线解析版)
本文是《技术相关(共37篇)》目录的第 15 篇。阅读本文前,建议先阅读本文前3篇文章:
本文代码基于WordPress构建,PIX主题测试,其他主题理论上通用。
友链的朋友圈 RSS的聚合页 (WordPress->PIX主题篇&本地解析版)请参考如下文章:
前天在逛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,写入以下代码:
四、运行演示
您已阅读完《技术相关(共37篇)》目录的第 15 篇。请继续阅读本文后3篇文章:
公子扶苏
让我看看哈哈哈哈
SenLinM
这个可以
似水流年
欢迎使用!
obaby
友链也把你的加上了
似水流年
感谢之至,不胜荣幸!
obaby
这个方式更简洁一些。
似水流年
是的呢😜
网友小宋
没有哪位兄弟做了handsome的适配吗
似水流年
还没有哦,改天我试一下。