WordPress图片上传自动重命名

正常情况下WordPress在上传图片时候,文件名是什么上传之后就是什么。随着时间推移,图片越来越多,难免会出现重复。最新上传的文件,就会替代院线的文件,造成不必要的麻烦。而且WordPress图片上传对中文文件名不太友好,有时候会无法正常显示。我们可以让上传的文件都自动重命名,来解决这个麻烦!

一、根据上传时间重命名文件

add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' );
function custom_upload_filter( $file ){
	$info = pathinfo($file['name']);
	$ext = $info['extension'];
	$filedate = date('YmdHis').rand(10,99);//为了避免时间重复,再加一段2位的随机数
	$file['name'] = $filedate.'.'.$ext;
    return $file;
}

二、使用md5转码文件名

add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' );
function custom_upload_filter( $file ){
	$info = pathinfo($file['name']);
	$ext = '.' . $info['extension'];
	$md5 = md5($file['name']);
    $file['name'] = $md5.$ext;
    return $file;
}

我们可以选择其中一个办法添加到当前主题functions.php文件中,以后添加附件、图片的时候就会自动重命名。


WordPress