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

如何移除WordPress图片URL中自动添加的日期与时间戳后缀?

WordPress上传图片自动加时间戳后缀问题解决方案

触发原因

你观察到的-20210601-071141类文件名后缀,是WordPress内置的重名文件规避机制触发的结果,和你调整的「按年月归档上传文件」设置无关:该设置仅控制上传文件的存放文件夹结构,不会修改文件名本身。
只要出现以下任意一种情况,WordPress就会自动给新上传的文件加后缀避免覆盖:

  • 媒体库中已存在完全同名的文件(包括存放在回收站未彻底删除的文件)
  • wp-content/uploads目录下存在和上传文件同名的残留文件

解决方法

常规修复(无需改代码)

  • 进入WordPress后台「媒体」-「回收站」,将所有回收站文件彻底永久删除
  • 通过FTP或服务器文件管理器进入wp-content/uploads目录,手动删除和你要上传的文件同名的残留文件,再重新上传即可得到无后缀的URL
  • 已上传的带后缀文件,可直接在媒体库的文件编辑页修改文件名为目标名称,保存后URL会同步更新

代码级关闭时间戳后缀机制(可选)

如果确认可以接受重名文件覆盖风险,或者希望将后缀替换为数字序号而非时间戳,可以将以下代码添加到当前使用主题的functions.php文件中:

// 禁用上传文件自动加时间戳后缀机制
add_filter('wp_handle_upload_prefilter', 'custom_upload_filename_rule');
function custom_upload_filename_rule($file) {
    $upload_dir = wp_upload_dir();
    $raw_filename = $file['name'];
    $file_ext = pathinfo($raw_filename, PATHINFO_EXTENSION);
    $file_name = pathinfo($raw_filename, PATHINFO_FILENAME);
    
    // 不需要后缀直接覆盖的话,删除下方循环逻辑,直接返回$file即可
    $suffix = 1;
    while (file_exists($upload_dir['path'] . '/' . $file_name . '.' . $file_ext)) {
        $file_name = $file_name . '-' . $suffix;
        $suffix++;
    }
    
    $file['name'] = $file_name . '.' . $file_ext;
    return $file;
}

如果要完全关闭重名检测、直接覆盖旧文件,删除代码中注释标注的循环逻辑即可。

注意事项

  • 修改functions.php前请先备份原文件,避免语法错误导致站点前台无法访问
  • 开启直接覆盖重名文件逻辑前,请确认旧同名文件没有被其他页面引用,否则会导致对应页面出现图片404错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.18 12:54:04