WordPress上传媒体文件自动重命名的代码分享

我们在使用其它开源程序时系统都会对上传的文件自动重命名,而WordPress在上传媒体文件时默认是按照原名称,根据一些个人习惯有时本地文件会存在中文或命名不规范的情况,那么这时候就会带来一些不便,比如图片上传中文文件名出现乱码等,如果文件保存在同一个目录,命名重复也可能覆盖掉之前上传的文件。今天推荐两段自动重命名的代码,以解决此问题。

WordPress文件自动重命名

一、按时间重命名

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

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

使用方法:选择一种重命名规则,将代码添加到当前主题目录下 functions.php 文件中即可。经过测试,重命名正常生效,并且也支持图片自动重命名后上传至对象云存储中,很方便。

SEO运营课程

最后,如果你想了解一下SEO行业的推广逻辑和推广方法,或者是有计划想通过SEO来进行创业或者进行就业、变现赚钱的你,不妨看看这个专属的SEO配套课程:

SEO推广体系课

特别申明:本站的主旨在于收集互联网运营相关的干货知识,给运营小伙伴提供便利。网站所收集到的公开内容均来自于互联网或用户投稿,并不代表本站认同其观点,也不对网站内容的真实性负责,如有侵权,请联系站长删除,转载请注明出处:WordPress上传媒体文件自动重命名的代码分享:https://www.zcly.cn/102876.html。
(0)
网站运营师的头像网站运营师贡献者
上一篇 2022年11月3日 13:26
下一篇 2022年11月3日 20:27

猜你喜欢

发表回复

登录后才能评论

QQ:1124602020
微信:vl54120
备注:周一至周五全天在线,周末可能不在线,另外联系时,请告知来意。

公众号
交流群
运营狗会员,开通可享海量资源与多项权益,点击了解详情