设置WordPress上传图片自动重命名的方法

2024-12-27 22:01 45 抢沙发 叭叭部落格

本文最后更新于2024年12月27日22:06 星期五,请注意资讯或者链接时效,如有失效请在文章评论区留言反馈。

写博客时,不希望上传的文件/图片的原始名字直接上传,我们可以通过技术手段使上传的文件自动重命名,随机按规则生成唯一的文件名,也可以防止重复,文件名是中文导致的问题。

代码一

上传文件时会以“年月日时分秒_id”的格式重命名文件,如“20241227210757_676ea6ad9b481.webp"

// 重命名WordPress上传的文件
function rename_uploaded_file($file) {
    $time = date("YmdHis");
    $unique_id = uniqid(); // 使用uniqid()函数生成唯一标识符
    $file_extension = pathinfo($file['name'], PATHINFO_EXTENSION);
    $file['name'] = $time . "_" . $unique_id . "." . $file_extension;
    return $file;
}
add_filter('wp_handle_upload_prefilter', 'rename_uploaded_file');

代码二

上传文件时会以“年月日时分秒_原始文件名的MD5哈希的前10个字符”的格式重命名文件如“20241227214815_8dc0c37e0d.webp”

// 重命名WordPress上传的文件
function rename_filename($filename) {
    $info = pathinfo($filename);
    $ext = empty($info['extension']) ? '' : '.' . $info['extension'];
    $name = basename($filename, $ext);
    $time = date("YmdHis"); // 获取当前时间
    return $time . "_" . substr(md5($name), 0, 10) . $ext; // 文件名包含时间和基于原始文件名的MD5哈希的前10个字符
}
add_filter('sanitize_file_name', 'rename_filename', 10);

使用方法

将以上代码加入到主题的functions.php文件中保存即可。

注意事项

以上代码任任选一个,切不可同时使用,修改代码方式,在更新主题后,自己添加的代码,一般是会覆盖的,所以升级主题可以先做好备份。

「点点赞赏,手留余香」

2人已赞赏

  • 匿名

    匿名

    ¥ 2.00
  • 匿名

    匿名

    ¥ 10.00
叭叭君给叭叭君打赏
×
予人玫瑰,手有余香
  • 2
  • 5
  • 10
  • 20
  • 50
2
支付

声明:本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

常见问题:
1《由于找不到xinput1_3.dll,无法继续执行代码重新安装程序可能会解决此问题》,此故障是由于系统DX组件缺失,和游戏无关,需要安装《DX组件》,如果安装后仍解决不了问题,需要运行《DirectX修复工具》修复系统问题,请用户朋友们知悉;
2、如果解压到一半密码错误,或者提示文件损坏,说明是你的解压软件有问题,不要用国内解压软件,必出问题,推荐用最强压缩软件《Winrar解压》;
3、如果报错提示《由于找不到vcruntime140.dll,无法执行代码等类似xxx.dll文件提示》,均是系统问题,与游戏本身无关,请安装《微软常用C++运行库合集》;
4、如果双击程序没反应,或者直接闪退,请查看游戏目录是否存在中文路径
5、游戏下载链接失效可以在评论区或者私信留言,看到都会及时补档;
6、那些支持联机的游戏不保证一直有效,如果发现玩不了就代表已经失效,只能等新版本。

2024-12-27

2025-01-01

发表评论

扫一扫二维码分享
×
Dragon