wordpress自动重命名上传的图片名字

说明

使用 WordPress 发布文章时,经常都需要添加图片。由于有时候会将图片命名为中文,而导致部分图片无法显示,亦是图片名字重复导致的大量的SQL查询,引发的加载速度变慢。我们可以通过将图片命名为上传时间,或者将图片名字转化为MD5的字符串来避免此类问题。

方法

两个方法均是将代码添加到主题目录的functions.php文件,当然若是主题中有子主题,添加到子主题中更好不过,这样更新主题的时候就无需再次添加代码了。

方法1:命名为上传时间

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

方法2:

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

因为我使用的是方法一,所以方法二就没有演示图了。

PS

个人比较推荐使用方法一进行修改,因为同样的名字转化为MD5之后,字符串也是相同的,从而导致出现相同的文件名字。

注意:两种方法只能选其一进行使用,否则可能会出现冲突导致的错误。

博客杂志

Better Search Replace:查找和替换数据库内容插件

2022-2-17 19:45:47

各类代码

WordPress增加文章、评论外链GO转跳

2020-3-24 0:22:50

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索