WordPress有时候的智能化并不是一件好事,例如,在文本框中输入博文,一些代码或字符默认会自动转义,如将‘--’转义为‘-’破折号,网络上也称“转换全半角标点符号”或者“代码转义”。尤其是当你在HTML/文本编辑器写好代码是,切换到可视化编辑器中,再回到文本编辑器,所有的代码都乱套了,很多被“过滤”掉了,真的会让人疯掉!
如果你的 WordPress 博客经常要分享代码的话,就需要彻底解决这个问题。
可以有以下几种方法:
移除掉这个 wptexturize( )函数
WordPress 中,这个 wptexturize( ) 函数是罪魁祸首,因此我们可以将其直接移除:
- //取消内容转义
- remove_filter('the_content', 'wptexturize');
- //取消摘要转义
- remove_filter('the_excerpt', 'wptexturize');
- //取消评论转义
- remove_filter('comment_text', 'wptexturize');
以上三个,可以根据需要人选一个或者三者都选。
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利
修改 wp-includes/formatting.php 文件
如果我们再继续溯源的话,发现这个函数产生于 WordPress 系统中 wp-includes 目录下的 formatting.php 文件,
- // static strings
- $curl = str_replace($static_characters, $static_replacements, $curl);
- // regular expressions
- $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
把 $curl 开头的上面这两句代码注释掉:
本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利
- // static strings
- //$curl = str_replace($static_characters, $static_replacements, $curl);
- // regular expressions
- //$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
上面这个方法也有弊端:每次更新系统时都要去更改这个文件,很麻烦。
把编辑器设置成默认视图为HTML/文本形式
WordPress 默认的可视化编辑器,而到文本编辑器需要切换。所以问题就因此产生了。可以按下面这样修改,让默认的界面不是可视化编辑器。
将以下代码添加到主题的 functions.php 文件里:
本文禁止全文转载。任何形式转载请联系作者(时光在路上 www.timezls.com) Copyright © 2023. All Rights Reserved
- add_filter('wp_default_editor', create_function('', 'return "html";'));
不过这种方法也有弊端,即不小心切换到可视化编辑器时候,代码又会乱套了。
本文禁止无授权转载 - 时光在路上 www.timezls.com 保留所有权利
从以上三个方法来看,我还是推荐大家使用第一种方法,毕竟主题不经常换。