喜欢折腾WordPress的童鞋,经常会在网上找一些函数代码,武装改造自己的主题,但是从某个大虾站上复制来的代码,弄到自己主题上时常会提示错误或没有效果,令人失望,郁闷,却不知所以然。
其实是因为WordPress 会自动将函数代码中半角的单引号、双引号转换为全角标点,虽然在页面上显示的还是半角标点,但复制后却是全角的标点,造成函数代码无法运行(不知道WordPress 的开发者为什么要进行这些转换)。
另外一段好的代码,可能已被转载无数次了,早已面目全非,想找到原文作者页面也非易事,对不懂函数代码者而言,手工修改替换标点,很容易造成错误。
所以这里规劝喜欢在自己博客上记录折腾WordPress心得体会或转载代码的童鞋,请按下面的方法,改造一下自己的WordPress程序,不要弄一堆不能用的代码放在那,误人子弟。
禁用WordPress标点自动转换功能:
方法网上N年前就有了,我在《WordPress,无插件实现代码高亮》也提到过,这里再说一下:
修改 wp-includes/formatting.php 文件,把实现自动替换的相关语句注释掉。
在第79行到82行找到:
// static strings
$curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
在以$curl开头的两个语句前加上//,将其注释掉即可,如下:
// static strings
// $curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
// $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
不过每次升级程序,都需手动改一下,如果嫌麻烦,可以安装专门为解决此问题而生的 Quotmarks Replacer 插件,效果一样。