无插件WordPress禁止英文半角符号自动转换成全角符号

我们是否会遇到这样的问题?看着蛮完整的技术文章,其中一些解决问题的脚本,但是我们在加入到自己的实际使用用会出现各种错误,其实这些脚本本身是没有多少问题的。主要是个别的符号自动转换成全角导致的,比如逗号、分号等,这样在运行的时候会出现错误。

比如我们在使用WordPress程序的时候,默认自动将标题、内容自动转换成全角符号,我们需要限制这些自动转换,一般我们可以采用Quotmarks Replacer插件可以实现,但是本着尽量的少用插件的目的,我们可以用无插件实现。

第一、过滤大部分需要转换的位置

    $qmr_work_tags = array(
\’the_title\’,             // 标题
\’the_content\’,           // 内容
\’the_excerpt\’,           // 摘要
\’single_post_title\’,     // 单篇文章标题
\’comment_author\’,        // 评论作者
\’comment_text\’,          // 评论内容
\’link_description\’,      // 友链描述(已弃用,但还很常用)
\’bloginfo\’,              // 博客信息
\’wp_title\’,              // 网站标题
\’term_description\’,      // 项目描述
\’category_description\’,  // 分类描述
\’widget_title\’,          // 小工具标题
\’widget_text\’            // 小工具文本
);
foreach ( $qmr_work_tags as $qmr_work_tag ) {
remove_filter ($qmr_work_tag, \’wptexturize\’);
}

我们将上面的脚本添加到当前主题的Functions.php文件中,就可以过滤到标题、内容、评论、摘要等大部分位置的半角转换成全角的内容部分。

第二、有选择的过滤转换全角

我们并不需要所有的位置都禁止转换,可以根据有需要的转换禁止。

    //取消内容转换
remove_filter(\’the_content\’, \’wptexturize\’);

//取消摘要转换
remove_filter(\’the_excerpt\’, \’wptexturize\’);

//取消评论转换
remove_filter(\’comment_text\’, \’wptexturize\’);

//取消标题转换
remove_filter(\’the_title\’, \’wptexturize\’);

我们有选择性的取消转换,比如我设置的标题、内容、摘要和评论部分禁止半角转换全角字符。