WordPress发布文章时对上传的中文图片自动命名

weixing 阅读 205 次

WordPress作为外国人开发的开源优质网站搭建平台,已经很好地支持多语言,但是对于国人来说一个很不友善的地方就是,对中文图片名称的支持不是很好,这里说的不好不是说你上传图片后无法显示,而且你使用FTP登陆空间后,发现图片名称变成了乱码,或者网站转移服务器后发现原有的图片无法显示。
这种情况下,如何避免呢?最好的办法是不是使用带有中文名称的图片,但是很多人往往会忘记这一点,那么只好从程序入手,来改变这个问题。
其实想要解决这个问题也不难,你只需要将以下代码复制到你主题的functions.php文件中,上传图片时就会对图片进行自动命名(按照MD5规则转换),保证以后不管你使用FTP登陆查看还是后期转移服务器都不会出现问题。

function upload_file($filename) {
	$parts = explode('.', $filename);
	$filename = array_shift($parts);
	$extension = array_pop($parts);
	foreach ( (array) $parts as $part)
	$filename .= '.' . $part;
	if(preg_match('/[一-龥]/u', $filename)){$filename = md5($filename);}
	$filename .= '.' . $extension;
	return $filename ;
}
add_filter('sanitize_file_name', 'upload_file', 5,1);

 

扫描关注微信公众号WPMEE
  • 第一时间了解WordPress动态
  • 学习WordPress教程