填写您的邮件地址,订阅我们的精彩内容:

解决wordpress复制代码时单双引号成中文字符

很多朋友向我反映从乌徒帮复制过去的代码都不能使用,虽然我在每篇文章下都用红色字体提醒读者要修改内容中的单引号和双引号为英文状态下的单双引号,但这似乎并没有得到读者的重视,很多朋友复制过去代码后都会回问我代码不能用。今天我到网上搜索了下,看到有朋友遇到同样的问题,这里参考过来,修改了乌徒帮的这种情况,并发放给朋友们。

无论在什么语言版本的 WordPress 中'(英文半角引号)总是显示成'(中文全角单引号),英文的三个句号(…)都会被转换为中文的半个省略号(…),双引号也有同样的问题,中文的一对双引号(””)在 WordPress 中显示出来是(“”)。

在用英文写 BLOG 或博文中有代码片断的时候,不但影响显示美观,复制下来的代码基本无法直接使用,原因据说是因为 WordPress 为了避免某些字符在 MySQL 中二义性而改用全角显示和储存这种字符。解决方法如下:

1. 修改源文件: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);

保存即可。【注意:注意保存的时候,文件格式要选择UTF- 8,否则可能出错!】

2. 另外,针对 WordPress 单引号问题还有个插件可以解决:

Quotmarks Replacer 是一个通过禁用 wptexturize 函数,解决 WordPress 自动将半角的单引号、双引号和省略号转换为全角标点的问题。使后台输入的标点格式与前台读者浏览的标点格式保持一致的插件。

上面修改源代码的方式,也是通过禁用 wptexturize 函数的标点替换部分来达到目的,不想修改源代码的朋友可以直接使用插件。

3. 修改模版的方法最简单:

在主题的 functions.php 里加一句:

remove_filter('the_content', 'wptexturize');

这就可以了,以后WordPress升级也不影响。

但有个缺点:就是只在文章正文里起效,其他文章标题、文章摘要、评论内容、评论摘要、评论作者等区域没有效果。

乌徒帮因为只在文章中有大量代码,所以选择了第3中方法。

下面我简单说几句