
本文提供一个无需编程基础即可使用的 WordPress 插件方案,帮助用户自动生成 wp-content/uploads 目录下所有图片(如 JPG、PNG、WEBP 等)的完整路径或 URL 列表,并保存为 CSV 或 TXT 文件,便于后续导入 Excel 进行商品图床管理。
本文提供一个无需编程基础即可使用的 wordpress 插件方案,帮助用户自动生成 `wp-content/uploads` 目录下所有图片(如 jpg、png、webp 等)的完整路径或 url 列表,并保存为 csv 或 txt 文件,便于后续导入 excel 进行商品图床管理。
WordPress 默认不提供直接导出媒体文件路径的功能,而手动遍历 wp-content/uploads 文件夹既低效又易遗漏(尤其当启用“按年月组织上传文件”时,目录结构为 uploads/2024/04/xxx.jpg)。虽然 WordPress 内置函数 list_files() 可递归扫描目录,但它仅在后台(admin)上下文中可用,不能直接写在主题文件或前端页面中调用——这也是用户尝试将代码放入任意 PHP 文件失败的根本原因。
所幸,我们可通过一个轻量级、即装即用的插件来安全、自动地完成该任务。该插件基于 WordPress 原生机制构建,无需修改核心文件,也不依赖外部脚本(如 Python),完全规避了登录模拟、权限绕过、跨域限制等复杂问题。
✅ 推荐方案:使用「WP File List Creator」插件
该插件会在每次进入 WordPress 后台(如点击「仪表盘」或「文章」页面)时自动检测并生成最新文件列表,仅当上传目录或插件自身被更新后才会重新写入文件,避免无谓的重复操作。
? 快速部署步骤(两种方式任选其一)
方式一:作为常规插件安装(推荐新手)
- 复制下方完整代码,粘贴至纯文本编辑器(如记事本、VS Code),勿用 Word 或富文本编辑器;
- 根据你的需求修改配置项(见下文说明),保存为 file-list-creator.php;
- 登录 WordPress 后台 →「插件」→「安装插件」→「上传插件」→ 选择该文件 →「立即安装」→「启用」。
方式二:作为 MU 插件部署(适合多站点或需强制启用场景)
- 同上保存为 file-list-creator.php;
- 使用 FTP/SFTP 工具连接服务器,进入 wp-content/ 目录;
- 若不存在 mu-plugins 文件夹,请新建一个;
- 将文件上传至 wp-content/mu-plugins/;
- 无需启用——MU 插件会自动加载。
⚠️ 注意:插件默认仅对具备管理员权限的用户生效,且生成的文件默认存放在 wp-content/uploads/ 目录下(如 image-list.txt),可通过配置调整输出位置与格式。
? 配置说明(关键参数详解)
在插件代码顶部的配置数组中,可按需调整以下参数(其余保持默认即可):
'folder' => wp_get_upload_dir()['basedir'], // 自动获取 uploads 物理路径(推荐不变) 'file_name' => 'image-list', // 输出文件名(不含扩展名) 'extensions' => ['jpg', 'jpeg', 'png', 'webp', 'gif', 'avif', 'svg', 'bmp'], // 仅列出这些格式 'levels' => 3, // 扫描深度:3 = 支持年/月子目录(如 uploads/2024/04/) 'exclusions' => ['ai-generated', 'temp'], // 可排除特定子目录(如插件创建的缓存文件夹) 'file_type' => 'txt', // 或 'csv'(Excel 友好,含表头) 'list_type' => 'paths', // 可选 'paths'(服务器路径)、'urls'(网页地址)、'both' 'separator' => '; ', // TXT 模式下路径与 URL 的分隔符 'location' => 'uploads', // 输出位置:'uploads'(默认)或 'root'(网站根目录) 'private' => false, // true = 文件不可通过浏览器直接访问(更安全)
✅ 示例:若你希望生成带表头的 CSV 文件,包含每张图的本地路径 + 对应 URL,并存于网站根目录供下载,则设:
'file_type' => 'csv', 'list_type' => 'both', 'location' => 'root', 'file_name' => 'product-images'
生成后访问 https://yoursite.com/product-images.csv 即可下载(需 'private' => false)。
? 输出效果示例(CSV 格式)
| PATH | URL |
|---|---|
| /var/www/html/wp-content/uploads/2024/04/red-shirt.jpg | https://www.php.cn/link/4fdce5e1d468ffc853ec7ed398e021a1 |
| /var/www/html/wp-content/uploads/logo.png | https://www.php.cn/link/7455352c702492ca6c1490cb27e257a6 |
? 提示:Excel 可直接打开 .csv 文件;VBA 脚本亦可轻松读取该结构化数据,关联商品 SKU 与图片字段。
? 常见问题与注意事项
- 文件未生成? 检查:① 是否已启用插件;② 当前登录账号是否为管理员;③ wp-content/uploads 目录是否可写(权限建议 755);④ 插件配置中的 'folder' 路径是否真实存在(可临时加 error_log(print_r(wp_get_upload_dir(), true)); 调试)。
- 只看到部分图片? 确认 'levels' 值足够(默认 3 适配标准年月结构);若上传目录含深层嵌套(如 uploads/vendors/brand1/2024/...),可调高至 5 或使用 'exclusions' 屏蔽无关目录。
- 安全性提醒: 若设置 'private' => true,生成的文件权限为 0600,仅服务器进程可读,无法通过 URL 访问——这对敏感清单非常必要;反之,若需 Excel VBA 直接 HTTP 下载,请设为 false 并确保 'location' => 'root'。
- Python 方案为何失败? WordPress 登录涉及 nonce 验证、cookie 同步、重定向处理等复杂流程,单纯 POST 表单无法通过验证;且服务器端文件系统访问权限受 PHP 配置严格限制,远不如原生插件可靠高效。
该插件已在 PHP 7.4+ 与 WordPress 6.0+ 环境稳定运行,代码开源、无外部依赖、无追踪行为。一次配置,永久生效——从此告别手动整理图片路径的繁琐工作。











