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

如何删除WordPress服务器wp-content/upload/2022/中不在Media Library的图片

批量删除WordPress中未在媒体库的2022年上传图片

前置准备

  • 先完整备份wp-content/uploads/2022/目录,同时导出WordPress数据库,避免误删不可恢复的文件。
  • 若网站正在运行,建议开启维护模式,防止清理过程中出现访问异常。

方法一:PHP脚本批量清理(适合无服务器命令行权限的场景)

  1. 在网站根目录创建一个名为delete_unused_images.php的文件,内容如下:
<?php
// 加载WordPress核心环境
require_once('wp-load.php');

// 目标清理目录
$target_dir = WP_CONTENT_DIR . '/uploads/2022/';

// 获取媒体库中2022年所有图片的本地路径(相对uploads目录)
$valid_media = [];
$attachments = get_posts([
    'post_type' => 'attachment',
    'post_mime_type' => 'image',
    'posts_per_page' => -1,
    'date_query' => [['year' => 2022]]
]);

foreach ($attachments as $att) {
    $full_path = get_attached_file($att->ID);
    $relative_path = str_replace(WP_CONTENT_DIR . '/uploads/', '', $full_path);
    $valid_media[] = $relative_path;
}

// 递归遍历目标目录,删除不在媒体库的图片
$file_iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($target_dir));
foreach ($file_iterator as $file) {
    if ($file->isFile()) {
        $file_rel_path = str_replace(WP_CONTENT_DIR . '/uploads/', '', $file->getPathname());
        if (!in_array($file_rel_path, $valid_media)) {
            unlink($file->getPathname());
            echo "已删除:{$file->getPathname()}<br>";
        }
    }
}

echo "清理完成!";
?>
  1. 通过浏览器访问该脚本(例如https://你的域名/delete_unused_images.php),等待执行完成。
  2. 执行完毕后立即删除这个脚本,避免网站暴露安全风险。

方法二:WP CLI命令行清理(高效处理大量文件,推荐)

如果你的服务器支持WP CLI,这是更高效的方式:

  1. 先导出媒体库中2022年所有图片的相对路径到文本文件:
wp post list --post_type=attachment --post_mime_type=image --year=2022 --field=guid | grep 2022 | sed 's/.*\/uploads\///' > valid_media.txt
  1. 进入2022年上传目录,遍历并删除不在有效列表中的图片:
cd wp-content/uploads/2022/
find . -type f \( -name "*.jpg" -o -name "*.jpeg" -o -name "*.png" -o -name "*.gif" -o -name "*.webp" \) | while read file; do
  if ! grep -qF "$(echo $file | sed 's/^\.\///')" ../../valid_media.txt; then
    rm "$file"
    echo "已删除:$file"
  fi
done
  • 若有其他图片格式,可在find命令中添加对应的-o -name "*.格式"。

验证步骤

  • 随机选取几个被删除的文件路径,在WordPress媒体库中搜索,确认确实不存在。
  • 检查媒体库中2022年的正常图片,确保能正常打开和访问。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 20:40:29