WordPress上传文件重命名中文名称
Linux主机不支持中文路径,有一些朋友刚开始使用Windows主机,WordPress上传文件时文件名称是中文,后来搬迁到Linux服务器问题就来了,而此时如果图片比较多,手动逐个修改将是一件非常痛苦的事。
通过WordPress钩子sanitize_file_name可以实现上传文件自动将中文名称改为英文,并且不影响原本就是英文名称的文件。
将以下代码粘贴到主题文件functions.php中:
function bzg_filename( $filename ) {
$info = pathinfo( $filename );
$ext = empty( $info['extension'] ) ? '' : '.' . $info['extension'];
$name = basename( $filename, $ext );
if ( ! preg_match( '/^[0-9a-zA-Z_-]+$/', $name ) ) {
$name = substr( md5( $name ), 0, 15 );
}
return $name . $ext;
}
add_filter( 'sanitize_file_name', 'bzg_filename', 10 );