解决WordPress代码单双引号输出为中文全角字符的问题
6月份对葱子博客更换了现在的这款主题,这段时间由于比较忙,所以对新主题这块没有详细的做测试。
导致出现了部分问题,其中之一的问题就是文章页中的单双引号在复制后都变成了中文全角字符。
这个问题在平时不容易被发现,今天有站长反馈这个问题的时候,我才注意到。
在网上搜集了下相关的解决方法,简单记录如下:
方法一:一句代码修改主题functions.php模板文件
remove_filter('the_content', 'wptexturize');
方法二:Quotmarks Replacer插件解决
Quotmarks Replacer插件我们从WP官方下载安装,也是用来禁止wptexturize函数的,禁止把半角单双引号转化为全角格式。尽量少安装插件,不过这个插件比较小,安装也无妨。
方法之三,修改程序源文件
修改wp-includes/formatting.php文件,找到下面的代码
// static strings
$curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
修改为
// static strings
// $curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
// $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
把代码函数注销掉,这个方法需要注意在升级程序的时候,我们看是否被更新,到时候还需要重新修改。
按照以上方法都试过了后,发现还是没有解决问题。
接着我开始查看当前主题的functions.php文件,该文件中已经按照方法一去除了相关代码函数,但是又自定义了一个类似的函数。将该段自定义函数注释掉后,发现问题已解决。
所以,有出现类似情况的站长,可以按照这个思路来排查下。
同时对这个期间因为这个问题,按照我的教程修改网站的站长说声道歉,以后会尽量保证不出现类似问题。