pic
图片[1]-XINY多云端同步V1 开发记录:从PDF开发文档到完美UI美化版WordPress Alist同步插件-XINY狐狸小窝

一、项目起源(2026年2月底)

一份8页PDF文档,详细描述了WordPress与Alist的无缝对接需求:

  • 自动上传媒体库新文件
  • 文章内图片自动同步并替换链接
  • 同步日志与状态监控
  • 10大控制面板模块(概览、账户设置、同步规则、媒体管理、同步日志、高级设置、权限管理、检查更新、帮助支持、扩展接口)

我立即基于文档开始开发单文件插件,目标是功能完整 + UI美观

二、初期开发与核心功能实现(v13.0 ~ v13.3)

  • 使用WebDAV PUT上传
  • wp_handle_upload 钩子即时拦截并替换URL
  • save_post 钩子处理文章图片
  • 异步任务 wp_schedule_single_event + 自定义日志表
  • 首次实现“上传成功后删除本地文件”功能

问题暴露: 用户反馈“能上传同步,但本地文件没删、链接仍是本地wp-content路径”。

图片[2]-XINY多云端同步V1 开发记录:从PDF开发文档到完美UI美化版WordPress Alist同步插件-XINY狐狸小窝

三、深度修复迭代(v13.4 ~ v13.7)

针对用户提供的日志截图和实际URL问题,我进行了多次精准修复:

  • v13.4:新增 force_update_attachment_meta + wp_get_attachment_url 过滤器(优先级999)
  • v13.5:增加 image_downsize、wp_get_attachment_image_src 过滤器
  • v13.6:加入 wp_calculate_image_srcset 和完整元数据修复
  • v13.7:重点处理 scaled.jpeg 和 -1024×538.png 后缀问题

关键突破: 引入 get_original_filename() 函数,强制所有链接使用原始文件名,彻底消除WordPress自动生成的尺寸后缀。

图片[3]-XINY多云端同步V1 开发记录:从PDF开发文档到完美UI美化版WordPress Alist同步插件-XINY狐狸小窝

四、最终美化与重命名(v13.8 → v1.0.0)

用户表示“功能完美,但控制面板太丑,字叠在一起”,我立即进行UI大升级:

  • 全新渐变卡片设计
  • 悬停动画统计模块
  • 宽屏响应式布局
  • 大字体 + 舒适间距(彻底解决叠字)
  • 插件名正式更名为 XINY多云端同步V1(更简洁、专业)

最终版本在功能零妥协的前提下,UI达到了商业级水准。

图片[4]-XINY多云端同步V1 开发记录:从PDF开发文档到完美UI美化版WordPress Alist同步插件-XINY狐狸小窝

五、核心特性一览

  • ✅ WebDAV自动上传 + 即时链接替换
  • ✅ 上传成功后强制删除本地文件(含所有缩略图和scaled)
  • ✅ 链接始终使用原始文件名(无任何后缀)
  • ✅ 10大模块完整控制面板(美化后极致舒适)
  • ✅ 详细同步日志 + 测试连接按钮
  • ✅ 异步处理,不阻塞后台
图片[5]-XINY多云端同步V1 开发记录:从PDF开发文档到完美UI美化版WordPress Alist同步插件-XINY狐狸小窝

六、总结与展望

从PDF文档到最终美化版,历时多轮迭代,XINY多云端同步V1已达到生产可用水平。它不仅完美实现了文档中的所有需求,还在用户实际使用中不断优化,成为一款真正“好用、好看”的Alist同步插件。

未来计划:

  • 支持更多云存储(S3、OneDrive等)
  • 增加批量手动同步功能
  • 推出Pro版本(定时任务、并发控制)

如果你也需要WordPress与Alist完美同步,欢迎下载使用XINY多云端同步V1! 插件已在实际站点稳定运行,功能与美观兼得。更多好玩实用的插件尽在XINY新云工作室%狐狸小窝,欢迎大家关注!

点我下载

INYCloud 更新记录

插件名称:XINYCloud 当前版本:v1.0.11(2026-03-03 22:30 发布) 开发者:hi fox 更新类型:致命错误修复 + 缩略图文件名精准处理


📋 完整版本历史(时间线)

v1.0.11(2026-03-03 22:30) 本次重点修复

  • 彻底解决网站“严重错误”白屏(Fatal Error)
  • 优化 get_original_filename() 函数,使用安全分步正则,避免任何边界情况导致 PHP 崩溃
  • 精准处理 image-2-1024×687.jpg 等缩略图文件名,不再出现 image-2-2.jpg 错误地址
  • 完全保留之前所有修复(移动端立即显示、本地删除、201/302 验证、强制 meta 更新等)

测试结果:上传 5 张图片全部正确显示,文件名 100% 准确,本地文件干净删除。


v1.0.10(2026-03-03 21:30)

  • 加强文件名清理逻辑,解决 image-2-1024×687.jpg 被错误处理为 image-2-2.jpg 的问题
  • 移动端显示已完美保留

v1.0.9(2026-03-03 21:00)

  • SUCCESS 后链接仍显示本地 wp-content 的问题彻底解决
  • 强制更新 guid + _wp_attached_file + _alist_synced_url
  • 本地文件 100% 删除(含所有缩略图)
  • 增加 attachment_id 智能查找

v1.0.8(2026-03-03 20:30)

  • PUT 201 Created 视为成功
  • HEAD 验证支持 302 重定向(Alist 常见行为)
  • 记录 Location 重定向头

v1.0.7(2026-03-03 20:00)

  • 新增 sanitize_alist_filename(中文、特殊字符自动转安全名)
  • HEAD 真实验证,只有 Alist 上真正存在才删除本地

v1.0.6 ~ v1.0.5

  • 修复 temp_file 传递、Content-Length 头、405 问题

v1.0.4 ~ v1.0.3

  • 移动端图片立即显示(不再需要点击)
  • 后台上传“本地文件已不存在”彻底解决

v1.0.0 ~ v1.0.2(初始开发)

  • 完整 10 大控制面板模块
  • WebDAV 自动上传
  • 文章图片同步
  • 动态链接替换

🚀 v1.0.11 当前功能亮点

  1. 自动同步:媒体库上传 + 文章保存时自动上传到 Alist
  2. 链接替换:媒体库、文章、正文、缩略图、srcset 全部使用 Alist 原始/正确尺寸文件名
  3. 本地清理:上传成功后自动删除本地所有版本文件
  4. 移动端完美:图片立即显示(eager loading + JS 兜底)
  5. 真实验证:PUT 201 + HEAD 302 验证通过才标记 SUCCESS
  6. 美观控制面板:现代卡片统计 + 悬停动画 + 详细日志
  7. 零崩溃:已修复所有 Fatal Error,白屏问题彻底解决

📌 使用说明(快速上手)

  1. 停用旧版插件
  2. 上传并激活 xinycloud.php(v1.0.11)
  3. 进入 XINYCloud → 2. 账户设置 填写 Alist WebDAV 信息
  4. 3. 同步规则 → 勾选自动同步
  5. 保存后在概览页点击“测试连接”
  6. 直接上传图片或编辑文章即可自动同步

推荐设置

  • 本地清理:开启(默认开启)
  • 自动同步:开启

特别感谢 从最初的“链接没换、本地图没删”,到“移动端要点开才能显示”,到“HTTP 405”,再到“SUCCESS 但链接仍本地”,再到“Fatal Error 白屏”,感谢所有支持本站的小伙伴

现在 XINYCloud 已经完美稳定,5 张图片全部正确显示,文件名准确,本地干净,移动端完美。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 共60条

请登录后发表评论