一棵树789
vps云服务器分享

如何实现WordPress上传文件自动重命名?

给网站上传文件的时候,发现wordpress上传文件名称都是原始名称,这样一来,有的时候会发现,文章图片命名相同,为了解决此问题,希森在网上找到了两种实用简单的重命名方法,只需要简单将代码添加到当前主题根目录functions.php模板文件中就可以了。

一、上传文件时会以“年月日时分秒+千位毫秒整数”的格式重命名文件

//wordpress上传文件重命名
function git_upload_filter($file) {
    $time = date("YmdHis");
    $file['name'] = $time . "" . mt_rand(1, 100) . "." . pathinfo($file['name'], PATHINFO_EXTENSION);
    return $file;
}
add_filter('wp_handle_upload_prefilter', 'git_upload_filter');

二、上传时文件名称规则是由系统自动生成的一个32位的MD5加密文件名

注:由于默认生成的32位文件名有点长,所以使用substr(md5($name), 0, 20) 截断将其设置为20位。

//wordpress上传文件重命名
function rename_filename($filename) {
    $info = pathinfo($filename);
    $ext = emptyempty($info['extension']) ? '' : '.' . $info['extension'];
    $name = basename($filename, $ext);
    return substr(md5($name), 0, 20) . $ext;
}
add_filter('sanitize_file_name', 'rename_filename', 10);
赞(0) 打赏
转载请注明出处:一棵树789 » 如何实现WordPress上传文件自动重命名?

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏