WordPress两种方法实现上传媒体图片文件自动重命名

作者 : 阿灿 本文共3294个字,预计阅读时间需要9分钟 发布时间: 2020-12-7 共97人阅读

WordPress建站,如果让用户发布文章或编辑更新做SEO,上传图片名称很多都是带有特殊字符、中文汉字的图片。

这些不符合规范的图片,有时是无法如常显示出来的……但是WordPress没有自动 给新上传文件重命名的功能,逐个文件去重命名那就太麻烦了,那么我们改如何自动给上传的媒体文件图片重命名呢?

在网站搜索了些上WordPress上传媒体文件自动重命名的WordPress教程,说法不一,方法也多种多样,于是整理了下,希望能方便大家以后使用。

方法一: 按上传时间自动重命名


上传文件时,文件将以“年、月、日、分、秒和千分之一小时”的格式重命名,例如“20200321122221765.jpg”

以下是WordPresss上传图片文件,按时间自动重命名的代码 ▼

//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');

二、用MD5加密生成数字并重命名


名称规则是由系统自动生成的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);
  • 以上2种代码,选择其中一种,添加到当前主题functions.php模板文件中。
  • 切勿同时添加以上上2种代码,否则可能回出错。
  • 添加WordPress代码实现图片文件自动重命名,非常方便,节省了时间!

手动重命名图片文件

实际上,你也可以在电脑上:

  1. 全选所有文件
  2. 按F2
  3. 然后直接输入字母或数字
  4. 按Enter回车键

这个手动重命名图片文件的方法,也是很方便的

WordPress建站,如果让用户发布文章或编辑更新做SEO,上传图片名称很多都是带有特殊字符、中文汉字的图片。

这些不符合规范的图片,有时是无法如常显示出来的……但是WordPress没有自动 给新上传文件重命名的功能,逐个文件去重命名那就太麻烦了,那么我们改如何自动给上传的媒体文件图片重命名呢?

在网站搜索了些上WordPress上传媒体文件自动重命名的WordPress教程,说法不一,方法也多种多样,于是整理了下,希望能方便大家以后使用。

方法一: 按上传时间自动重命名


上传文件时,文件将以“年、月、日、分、秒和千分之一小时”的格式重命名,例如“20200321122221765.jpg”

以下是WordPresss上传图片文件,按时间自动重命名的代码 ▼

//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');

二、用MD5加密生成数字并重命名


名称规则是由系统自动生成的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);
  • 以上2种代码,选择其中一种,添加到当前主题functions.php模板文件中。
  • 切勿同时添加以上上2种代码,否则可能回出错。
  • 添加WordPress代码实现图片文件自动重命名,非常方便,节省了时间!

手动重命名图片文件

实际上,你也可以在电脑上:

  1. 全选所有文件
  2. 按F2
  3. 然后直接输入字母或数字
  4. 按Enter回车键

这个手动重命名图片文件的方法,也是很方便的

WordPress建站,如果让用户发布文章或编辑更新做SEO,上传图片名称很多都是带有特殊字符、中文汉字的图片。

这些不符合规范的图片,有时是无法如常显示出来的……但是WordPress没有自动 给新上传文件重命名的功能,逐个文件去重命名那就太麻烦了,那么我们改如何自动给上传的媒体文件图片重命名呢?

在网站搜索了些上WordPress上传媒体文件自动重命名的WordPress教程,说法不一,方法也多种多样,于是整理了下,希望能方便大家以后使用。

方法一: 按上传时间自动重命名


上传文件时,文件将以“年、月、日、分、秒和千分之一小时”的格式重命名,例如“20200321122221765.jpg”

以下是WordPresss上传图片文件,按时间自动重命名的代码 ▼

//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');

二、用MD5加密生成数字并重命名


名称规则是由系统自动生成的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);
  • 以上2种代码,选择其中一种,添加到当前主题functions.php模板文件中。
  • 切勿同时添加以上上2种代码,否则可能回出错。
  • 添加WordPress代码实现图片文件自动重命名,非常方便,节省了时间!

手动重命名图片文件

实际上,你也可以在电脑上:

  1. 全选所有文件
  2. 按F2
  3. 然后直接输入字母或数字
  4. 按Enter回车键

这个手动重命名图片文件的方法,也是很方便的

爱搜社,一个专注收集和分享网络源码资源的网站,建站辅导首选爱搜社
爱搜社 » WordPress两种方法实现上传媒体图片文件自动重命名

常见问题FAQ

如何通过本站投稿资源与作品?
本站为开放式资源共享平台,用户可通过后台或者联系站长进行发稿,同时可设置为收费作品,平台将收取百分之十的手续费,作品不得发布违禁,违法内容与广告,如被查出有关于黄赌毒等违法内容,平台将永久封禁帐号,并配合公安机关提供用户信息!
下载后的资源如何使用?
本站所有资源来源于网络,资源的使用一般附带在文章中,如果依旧不会使用 请联系作者或者寻求度娘帮助
免费下载或者VIP会员专享资源能否直接商用?
本站所有资源均来自互联网仅供学习,版权属于原作者所有!本站所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。如有侵权请联系Email:85136926@qq.com 并附上相关证明 24小时内给予删除!