wordpress教程_wordpress上传文件自动重命名

2020年07月11日 wordpress 57点热度 0人点赞 0条评论

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;
}

使用方法:将上面的代码添加到所使用主题的functions.php 文件中最后一个?>的前面即可。

添加代码后,我们在wordpress中再次上传文件时,文件的命名规则就会按照我们上传的时间来重命名了。如2017031610182866.xxx,表示2017年3月16日10时18分28秒上传的,最后两位数字66是10到99之间的随机数,xxx表示文件类型后缀。

二、根据文件名md5转码为32位字符串

以文件名md5转码为32位字符串重命名wordpress上传文件的代码如下(长沙网站建设就是用的这种方法):

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 文件中最后一个?>的前面即可。

添加如上代码后,妈妈再也不用担心中文文件名了。 :biggrin:

教程中的两种WordPress上传图片自动重命名的代码二选一就可以了,不能同时使用两种方法,不然可能会出现一些未知的错误。经过长沙网站建设小编的测试后,教程中的两种方法都可以自动重命名wordpress上传的文件和图片,添加好代码之后上传图片的时候妈妈再也不用担心图片文件名是中文或其他不合格的名称了。如果您有其他的关于wordpress上传文件重命名的好方法,也希望您能在文章下面留言告诉我们哦!

Kratos

保持饥渴的专注,追求最佳的品质

文章评论