WP Manifestindependent plugin directory
manifest / social / argon-rss-links

友链RSS聚合

argon友链RSS聚合

by 学游渊、crowya · github.com/rao-ruixian/argon-rss-links

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/rao-ruixian/argon-rss-links/archive/refs/heads/main.zip

友链RSS聚合 WordPress插件

在WordPress argon主题文章或页面中优雅地展示友情链接的最新文章,支持双层缓存、定时更新、多策略抓取和运行日志,开箱即用。

功能特色

在yaya的原项目基础上,新增并完善了以下功能:

  • 双层缓存 + 定时更新:RSS数据缓存与HTML渲染缓存分离,支持15分钟/30分钟/每小时/每天两次/每天五档更新频率,大幅减少对外请求

  • 多策略抓取:每个订阅源自动按 cURL → fsockopen/PHP流 → WordPress streams 顺序降级尝试,不同的TLS实现可绕过针对cURL握手指纹的网络拦截,提升抓取成功率

  • 浏览器伪装:请求携带真实浏览器User-Agent与请求头,降低被反爬策略拦截(403)的概率

  • 近期日志:后台设置页内置日志面板,记录每个订阅源的抓取结果与具体失败原因(403/超时/证书/连接重置等)、未填写RSS地址的友链名单、缓存与设置变更,排查问题一目了然

  • 后台可视化配置:更新频率、显示数量、博客名字限制字数、自动加载、自动展开均可在"设置 > 友链RSS聚合"中调整,修改后立即生效(自动清缓存)

  • 移动端适配:小屏设备自动隐藏博客名与悬浮摘要,保持版面整洁

  • 多实例支持:同一页面可放置多个短代码,互不冲突

  • 安全防护:管理操作带nonce校验与权限检查,输出全部转义

📸 插件预览

预览图片 设置页面

环境要求

  • 使用Argon主题,是在WordPress就可以了。

安装方法

  1. 发布页面下载最新的ZIP文件
  2. 登录WordPress管理后台,进入"插件 > 安装插件"
  3. 点击"上传插件",选择下载的ZIP文件并上传
  4. 上传完成后,点击"启用插件"

使用方法

  1. 在WordPress后台的"链接"菜单中添加友情链接,务必填写对方博客的RSS/Atom地址(如 https://example.com/feedhttps://example.com/atom.xml
  2. 在你想要展示的文章或页面中插入短代码:
    [yaya-links-rss]
  3. 访问"设置 > 友链RSS聚合"页面调整各项参数

设置说明

设置项 说明
更新频率 RSS缓存的更新周期,支持每15分钟、每30分钟、每小时、每天两次、每天
显示数量 聚合列表最多展示的文章条数(1-100)
博客名字限制字数 博客名称超过该字数时只显示前N个字并追加"...",中英文均按1个字计算(2-30)
自动更新 页面加载时自动获取RSS内容,无需点击按钮
自动展开 RSS内容加载后自动展开折叠块
清除缓存 一键清除两层缓存,下次访问将重新抓取
近期日志 展示最近的抓取/缓存/设置变更日志(最多保留100条),可一键清空

常见问题

Q:某些友链的文章抓不到怎么办?

打开"设置 > 友链RSS聚合"查看"近期日志":

  • 出现"未填写RSS地址,已跳过"警告 → 到"链接"菜单补充RSS地址

  • 出现红色"抓取失败"并附具体原因:

    • 403 → 对方站点拦截了服务器请求,插件已内置浏览器伪装,若仍失败只能联系博主加白

    • Connection reset by peer → 网络层拦截,插件会自动尝试三种传输通道绕过;若三通道全部失败,说明对方按IP段封锁,需联系博主或更换出站网络

    • 超时/证书错误 → 多为对方站点临时故障或服务器环境问题,可稍后清除缓存重试

Q:时间显示不对(差8小时)?

请检查WordPress后台"设置 > 常规 > 时区"是否正确设置(如"上海"或"UTC+8"),插件所有时间均按站点时区换算显示。

Q:修改设置后前台没变化?

更新频率、显示数量、博客名字数限制任一变化都会自动清除缓存;其他情况可手动点击"清除缓存"按钮后刷新页面。

致谢

  • 感谢鸦鸦,原项目的创建者
  • 感谢阿锋,贡献了链接处理功能