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);