WordPress教程

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;
}
  • 根据时间重命名,格式为日期+千位毫秒:
//上传文件重命名
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:
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;
}
  • 文件名转码为MD5,截取前20位:
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);
We can do it.

HTTPS证书PCI DSS不合规解决方法

上一篇

将WordPress登录页面背景图设为必应美图

下一篇

你也可能喜欢

发表评论

您的电子邮件地址不会被公开。 必填项已用 * 标注

提示:点击验证后方可评论!

插入图片
猫鼬 管理员
We can do it.
最近文章
  • * 没有更多文章了
  • TAGS

    WordPress纯代码实现上传图片重命名

    长按储存图像,分享给朋友