怎么让wordpress上传图片不用插件自动重命名?

共计 967 个字符,预计需要花费 3 分钟才能阅读完成。

怎么让wordpress上传图片不用插件自动重命名?

默认情况下,如果我们WordPress上传文件名称会根据我们文件自带的名称上传,如果名称重复则会出现-1、-2这样的后缀。有没有一个方法实现我们上传文件的重命名呢?这样就不至于每次上传的文件都要想一个独特的名称,直接让上传时候随机出现。在这篇文章中,我们整理两个方法实现WordPress上传文件重命名。

根据上传的时间命名:

如20150901112433.xxx(表示2015年9月1日11时24分33秒上传的,xxx表示文件类型后缀);

另一种是将文件名通过md5转码后得到的一个32位字符串

如 f78c857f04e596f4e7bcd36fddf2769f.xxx(原始文件名为admin.xxx)。

在自定义的wordpress主题或官方自带的主题中都可以使用这个方法来实现上传文件重命名。

将以下代码放置于WordPress主题文件中的 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;
}

Y、m、d,分别代表为年、月、日。

方法二:使用md5转码文件名

/*使用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;
}

放置代码是最好的解决办法,其次是插件,请自行获取。

正文完
 
评论(没有评论)
验证码