wordpress网站中中文附件常常出来乱码问题,下面给大家介绍一下解决方法。

首先在主题功能函数functions.php中加入下面代码:

/*
*====================================================
*wp-admin 后台上传文件重命名附件
* ====================================================
*/
function make_filename_hash($filename) {
   $info = pathinfo($filename);
   $ext  = empty($info['extension']) ? '' : '.' . $info['extension'];
   $name = basename($filename, $ext);
   return date("Ymd").'_'.substr(md5($name.date("His")), 0,10).$ext;
}
add_filter('sanitize_file_name', 'make_filename_hash', 10);

把文件进行重命名,在文件系统里保存的文件名是随机字符串。

然后修改保存下面文件

\wp-admin\includes\media.php

大约365行

// Construct the attachment array
$attachment = array_merge( array(
'post_mime_type' => $type,
'guid' => $url,
'post_parent' => $post_id,
// @author jiabaochina 2016年10月11日17:03:11    上传文件的title url解码
'post_title' => urldecode($title),
'post_content' => $content,
'post_excerpt' => $excerpt,
), $post_data );