WordPress上传图片自动重命名

发布于 2019-03-13  61 次阅读


WordPress图片多了上传总是怕名称冲突,wp又不会重命名,下面的代码让你能够自定义重命名。

代码说明

请将代码添加进主题根目录下的functions.php文件中
自定义名称请修改这一行。以图片名称: 20180825183026mantang83.jpg 为例

$file['name'] = $time . "" .'mantang'.mt_rand(1, 100) . "." . pathinfo($file['name'], PATHINFO_EXTENSION);

1、$time 代表名称前面时间,不会修改的请勿修改,在例子中就是20180825183026
2、mantang可自定义,代表往命名的名字里面加入的自定义字符串
3、mt_rand(1, 100)表示生成1-100随机数,在例子中就是83,你可以修改成你想要的区间

//wordpress上传文件重命名
function git_upload_filter($file) {
$time = date("YmdHis");
$file['name'] = $time . "" .'guoba'.mt_rand(1, 100) . "." . pathinfo($file['name'], PATHINFO_EXTENSION);
return $file;
}
add_filter('wp_handle_upload_prefilter', 'git_upload_filter');

以上代码来自月宅酱

我自己呢也是稍微改了下,用 md5(),uniqid(),microtime()生成唯一的32位字符串 作为文件名,其中1,16表示截取32位中的前面16位,可自行根据需求修改。可取范围是1-32

function git_upload_filter($file) {
$file['name'] = substr(md5(uniqid(microtime(true),true)),1,16) . "." . pathinfo($file['name'], PATHINFO_EXTENSION);
return $file;
}
add_filter('wp_handle_upload_prefilter', 'git_upload_filter');

本当の声を響かせてよ