WordPress怎么搭建外贸商城网站
在学做网站论坛之前的的建站教程中,我们介绍了如何让wordpress网站支持上传中文图片名的方法,这个是需要通…
在学做网站论坛之前的的建站教程中,我们介绍了如何让wordpress网站支持上传中文图片名的方法,这个是需要通过修改WORDPRESS程序文件才能实现上传中文名图片的效果。
除了这种方法之外,还有下面一种解决wordpress程序不支持上传中文名图片的方法:WordPress上传中文名图片自动重命名。
方法很简单,只需要在自己的wordpress主题函数文件functions.php中添加以下代码:
function wpyou_rename_upload_file_prefilter($file){
$time=date(“Y-m-d”);
$file[‘name’] = $time.“”.mt_rand(1,100).“.”.pathinfo($file[‘name’] , PATHINFO_EXTENSION);
return $file;
}
add_filter(‘wp_handle_upload_prefilter’, ‘wpyou_rename_upload_file_prefilter’);
$time=date(“Y-m-d”);
$file[‘name’] = $time.“”.mt_rand(1,100).“.”.pathinfo($file[‘name’] , PATHINFO_EXTENSION);
return $file;
}
add_filter(‘wp_handle_upload_prefilter’, ‘wpyou_rename_upload_file_prefilter’);
这种方法实现的效果和前面介绍的方法结果是一样的,最大的好处是每次更新wp都不用再反复修改程序文件了,但是弊端是上传的图片全部都会重命名。
为了解决这种弊端,需要先检测一下图片名中是否包含中文,如果包含中文就重命名,如果不包含中文,就使用原来的图片名。修改后的代码如下:
//代码来源:学做网站论坛 https://www.xuewangzhan.net/
//WordPress中文名、数字名图片上传自动重命名
add_filter('sanitize_file_name','fanly_custom_upload_name', 5, 1 );
function fanly_custom_upload_name($file){
$info = pathinfo($file);
$ext = empty($info['extension']) ? '' : '.' . $info['extension'];
$name = basename($file, $ext);
if(preg_match("/[一-龥]/u",$file)){//中文换名
$file = substr(md5($name), 0, 20) . rand(00,99) . $ext;//截取前20位MD5长度,加上两位随机
}elseif(is_numeric($name)){//数字换名
$file = substr(md5($name), 0, 20) . rand(00,99) . $ext;//截取前20位MD5长度,加上两位随机
}
return $file;
}
类别:WordPress开发、
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!