wordpress 喜欢折腾WordPress的童鞋,经常会在网上找一些函数代码,武装改造自己的主题,但是从某个大虾站上xwenw.com/tag/%e5%a4%8d%e5%88%b6" target="_blank">复制来的代码,弄到自己主题上时常会提示错误或没有效果,令人失望,郁闷,却不知所以然。 其实是因为WordPress 会自动将函数代码中半角的单引号、双引号转换为全角标点,虽然在页面上显示的还是半角标点…

WordPress中禁用标点自动转换功能
wordpress

喜欢折腾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 插件,效果一样。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。