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

如何让WordPress媒体库直接从磁盘加载已恢复的图片?

解决WordPress磁盘恢复图片后媒体库不显示的问题

嘿,这个场景我太熟悉了——恢复了磁盘上的图片但数据库没记录,又不敢动整个数据库怕丢新内容,对吧?给你几个亲测有效的方案:

方案1:用Media Sync插件(最简单省心)

这是专门解决这类问题的工具,完全不会影响现有数据库里的内容:

  • 登录WordPress后台,在插件市场搜索Media Sync并安装激活
  • 进入「工具」→「Media Sync」页面,在设置里指定你要同步的目录(比如wp-content/uploads/2017/01/),可以勾选「只显示不在媒体库的文件」来过滤
  • 勾选需要恢复的图片,点击「Sync Selected」,插件会自动把这些文件的信息写入数据库,媒体库就能立刻看到它们了

方案2:手动写PHP脚本(适合不想依赖插件的用户)

如果不想用插件,可以写个轻量脚本批量把文件信息插入数据库:

  1. 在WordPress根目录新建一个文件,比如sync-media.php
  2. 粘贴下面的代码,记得把$target_dir改成你要恢复的具体目录:
<?php
require_once('wp-load.php');

// 替换成你要同步的目标目录
$upload_dir = wp_upload_dir();
$target_dir = $upload_dir['basedir'] . '/2017/01/'; 

$files = scandir($target_dir);

foreach ($files as $file) {
    // 跳过目录本身和上级目录
    if ($file == '.' || $file == '..') continue;

    $file_path = $target_dir . $file;
    $file_type = wp_check_filetype($file);

    // 准备附件基础数据
    $attachment = array(
        'post_mime_type' => $file_type['type'],
        'post_title' => sanitize_file_name($file),
        'post_content' => '',
        'post_status' => 'inherit'
    );

    // 插入到数据库
    $attach_id = wp_insert_attachment($attachment, $file_path);
    // 自动生成缩略图和元数据
    require_once(ABSPATH . 'wp-admin/includes/image.php');
    $attach_data = wp_generate_attachment_metadata($attach_id, $file_path);
    wp_update_attachment_metadata($attach_id, $attach_data);

    echo "已同步文件:$file<br>";
}
?>
  1. 用浏览器访问你的域名+/sync-media.php(比如https://yourdomain.com/sync-media.php),等待脚本执行完成
  2. 执行完一定要删除这个脚本,避免安全风险

方案3:用WP-CLI命令行(适合技术控)

如果你熟悉命令行,WP-CLI的效率会更高:

# 同步指定目录下的所有图片,自动跳过已在媒体库的文件
wp media import wp-content/uploads/2017/01/* --skip-duplicates

这个命令会自动扫描目录文件,把不在数据库的内容添加到媒体库,还会自动生成缩略图。

重要注意事项

  • 不管用哪个方案,先备份当前数据库,虽然都是新增记录,但小心驶得万年船
  • 确保恢复的图片文件权限正确,WordPress需要有读取权限(一般文件设为644,目录设为755)
  • 如果图片有对应的缩略图文件,同步后媒体库会自动识别,不用单独处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:13:25