搜索内容

WordPress纯代码上传图片自动重命名的方法技巧

       在使用 WordPress 发布文章时,经常都需要添加图片、多媒体什么的。 对于中文用户来说,我们都会把图片命名为中文的,并不能正常的显示图片或者出现各种的问题,如果自己的WordPress网站主题中不能自动重命名,每次手动改名字是一种很痛苦的事,。如何让 WordPress 图片自动重命名然后正常显示使用呢?
        推荐两段在上传媒体文件时自动重命名的代码。

代码一:按时间重命名

上传文件时会以“年月日时分秒+千位毫秒整数”的格式重命名文件,如“20180519122221765.jpg”。

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

源码来自 https://mrju.cn/3407.html

代码二:用MD5加密生成数字并重命名

名称规则是由系统自动生成的一个32位的MD5加密文件名,由于默认生成的32位文件名有点长,所以使用substr(md5($name),0,20)截断将其设置为20位。

  1. //wordpress上传文件重命名
  2. function rename_filename($filename) {
  3.     $info = pathinfo($filename);
  4.     $ext = emptyempty($info['extension']) ? '' : '.' . $info['extension'];
  5.     $name = basename($filename$ext);
  6.     return substr(md5($name), 0, 20) . $ext;
  7. }
  8. add_filter('sanitize_file_name', 'rename_filename', 10);

使用方法

将代码添加到当前主题functions.php模板文件中即可。

推荐“代码一”的方式来自动命名,因为这是最简便的一个方式了,名字长度也在可接受范围。同时上述两段代码都避免了上传含有中文字符名称图片带来的数据迁移造成名称乱码的问题,兼容性非常的好。

以上代码,很方便,节省时间

版权声明:
作者:水东柳
链接:https://shuidl.com/183.html
来源:水东柳博客
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
< <上一篇
下一篇>>
发表评论

共有 0 条评论

沙发空余