使用wordpress的人可能都知道,wordpress是可支持文件中文的,可是在有时候在为了一些特殊功能时候,需要文件或者图片为非英文的,如果是文件很多,那一个一个的修改起来那不是很累吗,直接为所有上传图片重新命名为非中文的。
[h1]根据上传的时间命名[/h1]
[h2]举例说明[/h2]
如2017031610182866.xxx,表示2017年3月16日10时18分28秒上传的,最后两位数字66是10到99之间的随机数,xxx表示文件类型后缀。
[h2]具体实现方法[/h2]
将以下代码添加到所使用主题的functions.php 文件中最后一个?>的前面即可。
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;
}
[h1]文件名md5转码为32位字符串[/h1]
[h2]举例说明[/h2]
如 f78c857f04e596f4e7bcd36fddf2769f.xxx,原始文件名为admin.xxx。
[h2]具体实现方法[/h2]
将以下代码添加到所使用主题的functions.php 文件中最后一个?>的前面即可。
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;
}
[h1]小结[/h1]
以上两种方法实现WordPress上传图片自动重命名的方法只能二选一,不可同时使用两种方法,要不然出错的话后果自负哦。本文的两种方法都能成功实现,换句话说有了这两种方法之后,以后我们上传图片的时候再也不用担心图片文件名是中文或其他不合格的名称了,可以放心大胆地上传图片了。