在我们使用WordPress发布文章时,经常都需要添加图片、多媒体什么的。然而大家都知道WordPress是个外国货,对于中文的支持以及对国内某些偏执于喜欢使用Windows Server系统服务器的朋友来说就显得不那么可观了,也正是对于我们中文用户来说,我们都习惯或者喜欢把图片命名为中文的,但是由于WordPress的机制的原因,并不能正常的显示图片或者各种的问题。所以就需要给大家带来一个全面而优质的WordPress中文名图片上传解决方案了。
依然是WordPress的老规矩,将以下代码添加到当前主题的functions.php中:
//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文章上传中文名图片附件出现乱码或不显示的问题,也就可以为中文名图片以及无意义的纯数字命名的图片自动使用MD5加密重命名并截取,相比与其它WordPress图片自动重命名兼容性更强,效果也更好一些。
不过最后还是有一点建议,如果大家重视对图片的优化,大家的图片命名还是竟可能的使用英文单词/词组或这中文拼音等方式,更有利于图片的命名的优化。以上代码使用MD5方式加密命名的方式其实也并不利于图片优化,只是看上去装逼的欲望和逼格更高罢了。当然图片还是要合理的添加alt描述属性才是对图片最最最有利的优化。
以上就是WordPress中文名、数字名图片上传自动重命名代码的详细内容,更多请关注php中文网其它相关文章!
![php中文网最新课程二维码](/static/images/article_wechat2021.jpg?1111)
声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论1 条评论WordPress很多模板都是英文的,对于鸟语不好的来说这是大大的福利。