WordPress 技巧:上传图片自动重命名的几种办法-苏醒主题

在我们使用wordpress发布文章时,经常都需要添加图片、多媒体什么的。然而,大家都知道WordPress是舶来物,对于中文用户来说,我们都会把图片命名为中文的,由于WordPress的机制的原因,并不能正常的显示图片或者各种的问题。

那么,如何让WordPress图片重命名呢?

现在,就和大家说说更加接地气一点的WordPress 技巧。让图片上传以后,文件能在我们上传的时候自动变成英文或数字。

本文将会介绍两个格式的文件命名方法:根据上传的时间命名,如20150901112433.xxx(表示2015年9月1日11时24分33秒上传的,xxx表示文件类型后缀);另一种是将文件名通过md5转码后得到的一个32位字符串,如 f78c857f04e596f4e7bcd36fddf2769f.xxx(原始文件名为admin.xxx)。在自定义的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;
}

如果你是使用苏醒的vfilmtime2014主题,请把上面的代码加入到主题目录中的includes文件夹里的add.php中即可。

如果你是使用苏醒的traveler主题,请把上面的代码加入到主题目录中里的functions_suxingme.php中即可。

其他的朋友可以把这段代码黏贴到你当前 WordPress主题的 functions.php 中!