wordpress上传图片自动重命名
核心代码:自动重命名上传文件
请打开你的主题文件夹下的 functions.php,把下面的代码追加到最末尾:
/**
* 图片上传自动重命名 (IT 极客风: 时间戳+随机数)
* 格式示例: 20260131-153022-884.jpg
* 解决中文乱码,统一文件规范
*/
function geek_rename_upload_file( $file ) {
// 1. 获取文件后缀名
$info = pathinfo( $file['name'] );
$ext = empty( $info['extension'] ) ? '' : '.' . strtolower( $info['extension'] ); // 强制转小写,如 .JPG -> .jpg
// 2. 生成新文件名
// 规则:年月日-时分秒-三位随机数
// 为什么要随机数?防止同一秒上传多张图片导致覆盖
$new_name = date( 'Ymd-His' ) . '-' . mt_rand( 100, 999 ) . $ext;
// 3. 赋值回去
$file['name'] = $new_name;
return $file;
}
// 挂载到 wp_handle_upload_prefilter (在文件保存到服务器之前触发)
add_filter( 'wp_handle_upload_prefilter', 'geek_rename_upload_file' );