近期,收到外贸独立站建站客户反馈WordPress截取中文字符失效的问题。无法根据后台设置的截取字数自动截取摘要信息,据此,我们对客户网站设置进行了详细排查,找到了具体原因。
wp_trim_words() 是WordPress内置的字符截取函数,此函数功能已经支持本地化,也就是对应不同语言的截取,按单个字符计算“单词”的语言(例如中文、某些东亚语言),$num_words 参数将应用于单个字符的数量。
解决方法1:更新简体中文语言包
目前已知在 WordPress 6.0.1 简体中文版,/wp-content/languages/zh_CN.mo
目录下的汉化语言包中,可能存在一些翻译错误,导致了中文字符摘要截取失效。
解决办法:
1. 下载最新版 WordPress 简体中文版,将 /wp-content/languages/
目录里面的 zh_CN.mo
文件,上传到网站的 /wp-content/languages/
目录覆盖同名文件;
2. 将下面的代码添加到网站根目录的 wp-config.php 文件中,
禁止自动更新翻译:
define( 'WP_AUTO_UPDATE_TRANSLATION', false );
解决方法2:设置站点语言为简体中文
在网站后台的 设置 – 常规 页面,设置 站点语言 项为 简体中文,确保后台这里设置的 站点语言 和 网站添加的内容语言保持一致!
这样,在使用 wp_trim_words() 函数截取相应语种字符时,就不会出现失效的问题了。
此外,如果使用了自动翻译插件,请务必确保翻译插件中使用的默认语种也要和 站点语言 、以及网站内容的语言一致。