有WordPress站长咨询追格小编,怎么让WordPress上传的图片自动重命名,其实之前小编也没弄过,研究了一下,可以按照以下方式操作。
在现有WordPress模板函数文件functions.php中,添加以下代码即可,该方法是按照上传时间来命名的:
//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加密的方式命名,上下两种方式都ok。
//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);