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

本文最后更新于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文件中保存即可。

注意事项

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

给TA打赏
共{{data.count}}人
人已打赏
Wordpress日记

Wordpress博客增加webp/ico/svg上传格式支持

2024-12-27 21:09:03

Wordpress日记

用代码彻底关闭Wordpress程序及插件更新提醒

2025-1-1 14:07:33

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索