»

解决在WordPress中输入代码被自动转码的问题

    WordPress  
前端插件腾讯云加速网站优化WordPress插件浏览器cookiesIISweb.config建站爬虫工作重定向伪静态Apache缓存访问WP Rocket防盗链SEO访客windows主机htaccessCDN的问题CLB

WordPress有时候的智能化并不是一件好事,例如,在文本框中输入博文,一些代码或字符默认会自动转义,如将‘--’转义为‘-’破折号,网络上也称“转换全半角标点符号”或者“代码转义”。尤其是当你在HTML/文本编辑器写好代码是,切换到可视化编辑器中,再回到文本编辑器,所有的代码都乱套了,很多被“过滤”掉了,真的会让人疯掉!

如果你的 WordPress 博客经常要分享代码的话,就需要彻底解决这个问题。

可以有以下几种方法:

移除掉这个 wptexturize( )函数

WordPress 中,这个 wptexturize( ) 函数是罪魁祸首,因此我们可以将其直接移除:

  1. //取消内容转义   
  2. remove_filter('the_content', 'wptexturize');  
  3. //取消摘要转义  
  4. remove_filter('the_excerpt', 'wptexturize');  
  5. //取消评论转义   
  6. remove_filter('comment_text', 'wptexturize');  

以上三个,可以根据需要人选一个或者三者都选。

 

wordpress-logo

 

本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利

 修改 wp-includes/formatting.php 文件

如果我们再继续溯源的话,发现这个函数产生于 WordPress 系统中 wp-includes 目录下的 formatting.php 文件,

  1. // static strings        
  2. $curl = str_replace($static_characters$static_replacements$curl);        
  3. // regular expressions        
  4. $curl = preg_replace($dynamic_characters$dynamic_replacements$curl);  

 

把 $curl 开头的上面这两句代码注释掉:

本文禁止住转载。任何形式转载请联系作者(时光在路上 www.timezls.com)。时光在路上保留所有权利

  1. // static strings        
  2. //$curl = str_replace($static_characters, $static_replacements, $curl);        
  3. // regular expressions        
  4. //$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);  

 

上面这个方法也有弊端:每次更新系统时都要去更改这个文件,很麻烦。

 

把编辑器设置成默认视图为HTML/文本形式

WordPress 默认的可视化编辑器,而到文本编辑器需要切换。所以问题就因此产生了。可以按下面这样修改,让默认的界面不是可视化编辑器。

将以下代码添加到主题的 functions.php 文件里:

本文禁止全文转载。任何形式转载请联系作者(时光在路上 www.timezls.com) Copyright © 2023. All Rights Reserved

  1. add_filter('wp_default_editor', create_function('', 'return "html";'));  

不过这种方法也有弊端,即不小心切换到可视化编辑器时候,代码又会乱套了。

 

本文禁止无授权转载 - 时光在路上 www.timezls.com 保留所有权利

从以上三个方法来看,我还是推荐大家使用第一种方法,毕竟主题不经常换。

时光在路上扫码阅读、分享
  • 版权声明:该文章由 时光在路上 发表,共 1299字。除非特别标注来源,否则为原创。详见《版权声明》部分。
  • 转载请注明:文章标题和文章链接 - 时光在路上 - 也可直接“复制本文链接” 或 使用右边二维码分享本文 →