
本文介绍一种安全、可靠且无需编程基础的方法,通过轻量级 WordPress 插件自动扫描 wp-content/uploads 目录,生成包含完整文件路径(或 URL)的 CSV/TEXT 文件,便于后续导入 Excel 进行商品批量上架。全程基于 WordPress 原生函数,不依赖外部脚本或手动 FTP 操作。
本文介绍一种安全、可靠且无需编程基础的方法,通过轻量级 wordpress 插件自动扫描 `wp-content/uploads` 目录,生成包含完整文件路径(或 url)的 csv/text 文件,便于后续导入 excel 进行商品批量上架。全程基于 wordpress 原生函数,不依赖外部脚本或手动 ftp 操作。
在 WordPress 电商或内容管理场景中,常需将大量产品与已上传的图片关联。手动整理 wp-content/uploads 下成百上千张图片的路径既低效又易出错。虽然 PHP 的 scandir() 或 Python 的 os.walk() 理论上可行,但直接在服务器执行存在权限风险,且绕过 WordPress 文件系统抽象层可能导致路径不一致(如符号链接、CDN 路径、多站点配置等)。更关键的是:WordPress 的 list_files() 函数专为此类任务设计——它原生支持递归扫描、路径标准化和安全性校验,但仅在后台上下文(admin_init 钩子)中可用。
✅ 推荐方案:使用专用插件自动生成清单文件
我们提供一个即用型 WordPress 插件 —— WP File List Creator,它基于 list_files() 构建,无需修改核心、不暴露敏感接口,且完全兼容主流主机环境(含 WP Engine、SiteGround 等限制较多的托管平台)。
? 快速部署步骤(三分钟完成)
- 复制插件代码:全选下方代码块内容;
- 新建文件:用纯文本编辑器(如 VS Code、Notepad++,切勿用 Word)粘贴并保存为 file-list-creator.php;
- 按需配置:修改代码中 new WP_File_List_Creator([...]) 内的参数(关键项见下表);
-
上传激活:
- 常规插件方式:WordPress 后台 → 「插件」→ 「安装插件」→ 「上传插件」→ 选择文件 → 激活;
- MU 插件方式(推荐,更稳定):通过 FTP 将文件上传至 wp-content/mu-plugins/ 目录(若无此文件夹请手动创建)。
? MU 插件优势:自动加载、无法被禁用、避免插件冲突,适合生产环境长期运行。
⚙️ 核心配置说明(修改此处即可适配你的需求)
| 参数 | 示例值 | 说明 |
|---|---|---|
| 'folder' | wp_get_upload_dir()['basedir'] | 默认指向 wp-content/uploads,可改为绝对路径如 /var/www/html/wp-content/my-images/ |
| 'file_name' | 'image-list' | 输出文件名(不含扩展名),生成 image-list.csv 或 image-list.txt |
| 'extensions' | ['jpg','png','webp'] | 仅列出指定格式,避免混入 .txt、.pdf 等非图片文件 |
| 'levels' | 3 | 扫描深度:WordPress 默认按年/月分目录(如 /2024/06/xxx.jpg),设为 3 可覆盖;若关闭月度归档,设为 1 即可 |
| 'exclusions' | ['ai-generated', 'temp'] | 排除特定子目录(如插件自建文件夹),避免干扰主图列表 |
| 'list_type' | 'paths' | 输出内容:'paths'(服务器绝对路径)、'urls'(可直接访问的网页地址)、'both'(双列) |
| 'file_type' | 'csv' | 推荐 csv(Excel 友好),分隔符默认为 ;,兼容中文路径 |
? 生成效果示例(CSV 格式)
PATH;URL /var/www/site/wp-content/uploads/2024/06/product-a.jpg;https://yoursite.com/wp-content/uploads/2024/06/product-a.jpg /var/www/site/wp-content/uploads/2024/06/product-b.png;https://yoursite.com/wp-content/uploads/2024/06/product-b.png
✅ 智能更新机制:插件会自动比对 uploads 目录、插件文件、输出文件的最后修改时间。仅当上传目录有新增/删除文件时,才重新生成清单,避免无谓的 I/O 开销。
⚠️ 注意事项与最佳实践
- 权限安全:输出文件默认权限为 0644(公开可读)。如需禁止直接浏览器访问(例如防止爬虫获取全部图片路径),将 'private' => true 即可设为 0600(仅服务器进程可读)。
- 路径一致性:所有路径均通过 ABSPATH 和 site_url() 动态生成,100% 兼容多站点、子目录安装、HTTPS 强制跳转等复杂配置。
- 性能保障:list_files() 经过 WordPress 官方优化,即使数万文件也能稳定运行;建议避开流量高峰时段首次生成。
- VBA 导入提示:Excel 中使用「数据 → 从文本/CSV」导入 CSV 文件时,分隔符选择「分号 ;」,编码选「UTF-8」,即可完美识别中文路径与 URL。
? 进阶定制(可选)
- 若需定时刷新(如每天凌晨更新),可在插件激活后,于 WordPress 后台 → 「工具」→ 「站点健康」→ 「信息」→ 「调度事件」中搜索 admin_init,确认其正常触发;或配合 WP Crontrol 插件添加自定义定时任务。
- 如需导出为 Excel 原生 .xlsx 格式,可将生成的 CSV 文件用 Excel「另存为」即可,或在 VBA 中调用 Workbooks.OpenText 方法直接解析。
该方案彻底规避了 Python 登录模拟的不可靠性(验证码、两步验证、登录失败重定向等)、FTP 权限问题,以及直接执行 PHP 脚本的安全风险。你只需一次配置,即可获得持续、准确、可审计的图片资源索引,为高效商品管理打下坚实基础。


















