WordPress上传媒体文件时。默认的是原始名称。有时候我们上传的图片是QQ或者微信截图,自带中文。导致文章内容图片不显示或出现错误等。那么如何在上传图片的时候自动就重命名附件名称呢?有两种方法:
- 一、根据上传的时间命名
1、举例说明:如2021051210185866.xxx,表示2021年5月12日10时18分58秒上传的,最后两位数字66是10到99之间的随机数,xxx表示文件类型后缀。
2、具体实现方法:将以下代码添加到所使用主题的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;
}
- 二、文件名md5转码为32位字符串
1、举例说明:如66147d487f1bf14fafc98de9ee2eb19a.xxx,原始文件名为admin.xxx。
2、具体实现方法:将以下代码添加到所使用主题的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;
}
- 小结
以上两种方法实现WordPress上传图片自动重命名的方法只能二选一,不可同时使用两种方法,要不然出错的话后果自负哦。经过测试,本文的两种方法都能成功实现,换句话说有了这两种方法之后,以后我们上传图片的时候再也不用担心图片文件名是中文或其他不合格的名称了,可以放心大胆地上传图片了。
以上两种方法在上传媒体文件时都同时更改统一了了文件名称、标题名称、固定链接名称。那么只想更改文件名称不变更标题等名称该如何实现呢?请参考下文:
请先
!