WordPress英文字符源代码转义成中文字符的解决办法

赵斌博客
2022-05-30 / 0 评论 / 20 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2022年05月30日,已超过695天没有更新,若内容或图片失效,请留言反馈。
广告

WordPress 默认会自动转义一些字符,比如单引号(' 源码显示 ' )、双引号("源码显示 " ),也称“转换全半角标点符号”或者“代码转义”。因为 WordPress 会将源代码中的所有半角符号自动修正为全角符号,以防止外部源代码在网页上执行。那么如何防止英文字符转义成中文字符?接下来详细分享。

l3s0i4vk.png

解决方法如下:

一、禁用所有的 WP 转义

Wordpress 自带一个专一的钩子wptexturize,很多地方都用到了这个钩子,具体可以在wp-includes/formatting.php中查看。我们可以在WordPress主题的functions.php文件中添加以下代码来取消掉这个转义:

add_filter( 'run_wptexturize', '__return_false' );

二、调用remove_filter函数来移除wordPress对wptexturize的调用

这是最简单的方法,在主题目录下的functions.php文件中添加如下代码即可:


//取消网站标题转换
remove_filter('the_title', 'wptexturize');
//取消博客标题转换
remove_filter('wp_title', 'wptexturize');
//取消网站摘要转换
remove_filter('the_excerpt', 'wptexturize');
//取消正文内容转换
remove_filter('the_content', 'wptexturize');
//取消文章标题转换
remove_filter('single_post_title', 'wptexturize');
//取消评论内容转换
remove_filter('comment_text', 'wptexturize');
//取消评论作者转换
remove_filter('comment_author', 'wptexturize');
//取消分类描述转换
remove_filter('category_description', 'wptexturize');
//取消侧栏标题转换
remove_filter('widget_title', 'wptexturize');
//取消侧栏内容转换
remove_filter('widget_text', 'wptexturize');
//取消友链描述转换
remove_filter('link_description', 'wptexturize');

三、安装Quotmarks Replacer插件

Quotmarks Replacer 是一个通过禁用 wptexturize 函数,解决 WordPress 自动将半角的单引号、双引号和省略号转换为全角符号的问题。使后台输入的标点格式与HTML源代码的标点格式保持一致的插件。

我们将上面的脚本添加到当前主题目录下的functions.php文件中,就可以过滤到标题、内容、评论、摘要等大部分位置源代码半角转换成全角符号的问题。不过,我们并不需要所有的位置都禁止转换,可以根据有需要的转换复制相应代码即可。

本文共 461 个字数,平均阅读时长 ≈ 2分钟
广告
0

打赏

海报

正在生成.....

评论 (0)

取消