You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用WordPress CLI批量导入媒体文件,如何保留目录结构?

解决WordPress CLI导入媒体时丢失年月层级的问题

问题原因

wp media import默认会以执行命令的当前日期为媒体文件分配年月分类,且默认不保留原文件的相对路径结构,导致后台媒体库全部归到命令执行当月的文件夹下——即使服务器上的实际目录结构未变。另外你之前的find命令使用了中文引号,会导致文件匹配失效,也是问题诱因之一。

解决方案

使用--preserve-filetime参数让WordPress读取文件的原始时间戳作为媒体发布日期,同时保留原文件的相对路径,具体命令如下:

方法1:直接用glob匹配(需开启shell的globstar)

先确保bash开启globstar(未开启则执行shopt -s globstar),再运行:

wp media import ~/public_html/2024/wp-content/uploads/Archive/**/*.{jpg,jpeg,png} --preserve-filetime --path=~/public_html/2024

方法2:用find命令(兼容所有shell)

注意使用英文引号和正确的逻辑分组:

find ~/public_html/2024/wp-content/uploads/Archive -type f \( -name "*.jpg" -o -name "*.jpeg" -o -name "*.png" \) | xargs wp media import --preserve-filetime --path=~/public_html/2024

关键参数说明

  • --preserve-filetime:强制WordPress使用文件的修改/创建时间作为媒体的发布日期,媒体库会自动按原始年月分类。
  • --path:指定WordPress站点根目录,确保CLI工具能正确识别站点配置。

后续处理

如果之前已错误导入媒体条目,可先删除这些无效附件(操作前请备份数据库):

wp post delete $(wp post list --post_type=attachment --format=ids) --path=~/public_html/2024

再重新执行上述导入命令即可。

内容的提问来源于stack exchange,提问作者strangecharm

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 03:10:05