怎么上传图片不用插件自动重命名? - WordPress开发

通过添加代码的方式,修改Wordpress上传媒体文件名,使媒体URL更加友好

本文将会介绍两个格式的文件命名方法:

根据上传的时间命名:

如20150901112433.xxx(表示2015年9月1日11时24分33秒上传的,xxx表示文件类型后缀);

另一种是将文件名通过md5转码后得到的一个32位字符串

如 f78c857f04e596f4e7bcd36fddf2769f.xxx(原始文件名为admin.xxx)。

在自定义的wordpress主题或官方自带的主题中都可以使用这个方法来实现上传文件重命名。

将以下代码放置于WordPress主题文件中的 functions.php

方法一:根据上传时间重命名文件

/*图片按时间自动重命名*/
add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' );
function custom_upload_filter( $file ){
$info = pathinfo($file['name']);
$ext = $info['extension'];
$filedate = date('YmdHis').rand(10,99);//为了避免时间重复,再加一段2位的随机数
$file['name'] = $filedate.'.'.$ext;
return $file;
}

Y、m、d,分别代表为年、月、日。

小牧使用的是:

/*图片按时间自动重命名(Npcink版)*/
add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' );
function custom_upload_filter( $file ){
$info = pathinfo($file['name']);
$ext = $info['extension'];
$filedate = date('is').rand(10,99);//为了避免时间重复,再加一段2位的随机数
$file['name'] = $filedate.'.'.$ext;
return $file;
}

方法二:使用md5转码文件名

/*使用md5转码重命名媒体文件名*/
add_filter('wp_handle_upload_prefilter', 'custom_upload_filter' );
function custom_upload_filter( $file ){
	$info = pathinfo($file['name']);
	$ext = '.' . $info['extension'];
	$md5 = md5($file['name']);
    $file['name'] = $md5.$ext;
    return $file;
}

放置代码是最优解决办法,其次是插件,我并不推荐,请自行获取。

相关推荐

怎么上传图片不用插件自动重命名? - WordPress开发-Npcink
怎么上传图片不用插件自动重命名? - WordPress开发-Npcink

怎么禁用自动裁剪缩略图片? - WordPress教程

Designer

WebGradients - 精选的CSS3,.sketch和.PSD格式的出色渐变集合

2020-2-27 20:19:48

网站

Moderatecontent - 实时图像审核API

2021-2-9 23:32:15

⚠️
Npcink上的部份代码及教程来源于互联网,仅供网友学习交流,若您喜欢本文可附上原文链接随意转载。
无意侵害您的权益,请发送邮件至 1355471563#qq.com 或点击右侧 私信:Muze 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索