WordPress是可支持文件中文文件名,可是在有时候在为了一些特殊功能时候,需要文件或者图片为非英文的,如果是文件很多,那一个一个的修改起来会很累,所以可以通过以下两种方法实现上传时将图片重新命名为上传时间格式命名。这两种方法弊端是第一种主题更新了又要重新添加代码,第二种就是WordPress更新也要重新替换代码。凡事都有利弊,自行权衡。
0x01 代码一
上传文件时会以“年月日时分秒+千位毫秒整数”的格式重命名文件,如“20161023122221765.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');
将代码添加到Begin主题functions.php
模板文件中即可。
0x02 代码二
修改wp的程序文件file.php
,在file.php
中查找下面这段代码
$new_file = $uploads[‘path’] . “/$filename”;
把上述代码修改成如下,显示的结果和上面的代码一样
$new_file = $uploads[‘path’] . “/”.date(“YmdHis”).floor(microtime()*1000).“.”.$ext;