WordPress文章插入代码被转义和执行的解决方法

121次阅读
没有评论

WordPress 文章插入代码被转义

在 WordPress 文章中插入代码会遇到这种情况,比如将‘–’转义为‘-’破折号,将 title 中的“-”转义为“–”等。网络上也称“转换全半角标点符号”或者“代码转义”。当你在 WordPress 编辑器地文本编辑器写好代码,切换到可视化编辑器后,再回到文本编辑器,所有的代码都乱套了,很多被“过滤”掉了。

这个罪魁祸首是 wptexturize() 函数,我们可以在主题模板地 function.php 文件中把它取消掉。

取消 wptexturize() 函数:

// 取消转义函数
add_filter('run_wptexturize', '__return_false');

WordPress 文章插入代码被执行

不管是 WordPress 使用了何种代码高亮插件,都难免会出现文章中插入的代码被解析执行地情况。我们在文章中插入代码是用来学习交流地,不是修改网页的,有时候网页会因为插入的代码被解析导致网页错乱,遇到了心态会爆炸。

其实,WordPress 自身有一个强大的 HTML 标签过滤系统,会导致在文章和评论中插入的 PHP、CSS、HTML、JS 等代码直接消失,因此需要将 WordPress 的自动过滤 HTML 标签的功能禁用。

解决方法

/**
 * 禁用自动过滤 HTML 标签
 * https://www.24mh.cn/post/603.html
 */
remove_action('init', 'kses_init');
remove_action('set_current_user', 'kses_init');

将以上代码插入主题的 functions.php 文件中即可。

欢迎打赏
post-qrcode
每日忙乎
版权声明:本站原创文章,由 每日忙乎 2022-06-08发表,共计684字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码
载入中...