完美解决WordPress代码单双引号自动转化为中文字符 | 长沙SEO
长沙SEO:分享优化思维和经验,提供教程视频下载 网站地图 RSS
于本站产生有效评论,即回访赠送IP;与本站互链,每日回访并评论文章
当前位置: 长沙SEO > 修改模板 > 详细内容

完美解决WordPress代码单双引号自动转化为中文字符


博客中发表了几篇文章建站方便的文章,是为了让自己以后做站过程中需要用到的时候能快速查阅,这篇文章也是一样。建站经验的文章难免会用放入一些修改模板用的代码以便日后使用,问题是这些代码中的单双引号就出了问题。咋一看之下倒是没什么感觉,但是回头用到这些代码的时候直接来到小站复制粘贴放入网站模板文件,结果导致网站一大片模块变得空白。找了很久原因,发现原来是单双引号导致的,可是明明后台编辑文章的时候用的是英文字符,发表出去就自动转化为全角字符了。这个问题怎么解决呢。

首先总结一下,无论在什么语言版本的WordPress中,英文半角的单双引号(””与”)都会显示成中文全角的单双引号(“”与‘’),并且英文的三个句号(…)都会被自动转化成中文状态下的半个省略号(…)
就像前面说的,用WordPress的站长朋友们难免会需要在发表的文章中用到英文状态下的单双引号,三种解决方法奉上:

1、修改function模板函数,最简单的方法:
在主题模板函数function.php代码中添加下面这句代码即可:

remove_filter(‘the_content’, ‘wptexturize’);

这个方法不仅简单、不需要安装下面说的插件,并且在WordPress升级之后也不会受到影响。这句话就是用来禁止wptexturize函数,所以它也有一个缺陷:只能在文章正文中有效,标题、评论、文章摘要等区域是没有效的。

上面的代码可以让文章内容的过滤器失效, 达到显示代码的作用。如果还想要在其他地方显示正常的代码, 例如标题, 摘要, 评论, 文章标题, 博客信息, 描述, 小工具的文本等等, 可以按照自己的要求去除相应的过滤器, 可用下面的代码来达到我们的目的:

$qmr_work_tags = array( ‘the_title’, ‘the_content’, ‘the_excerpt’, ‘comment_text’, ‘list_cats’, ‘single_post_title’, ‘comment_author’, ‘term_name’, ‘link_name’, ‘link_description’, ‘link_notes’, ‘bloginfo’, ‘wp_title’, ‘widget_title’, ‘term_description’, ‘category_description’, ‘widget_text’ ); foreach ( $qmr_work_tags as $qmr_work_tag ) { remove_filter ($qmr_work_tag, ‘wptexturize’); }

需要注意的一点是, 这种实现方式需要在可视化编辑模式下输入文章的代码, 在HTML模式下会导致大部分代码丢失.
2、修改源文件:wp-includes/formatting.php
找到以下代码并注释掉:

// static strings
$curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

即:

// static strings
// $curl = str_replace($static_characters, $static_replacements, $curl);
// regular expressions
// $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);

保存即可。

3、另外,针对 WordPress 单引号问题还有个WordPress插件可以解决:
Quotmarks Replacer ,可以直接在网站后台搜索安装,它的原理也是通过禁用 wptexturize 函数,解决 WordPress 自动将半角的单引号、双引号和省略号转换为全角标点的问题。使后台输入的标点格式与前台读者浏览的标点格式保持一致的插件。上面修改源代码的方式,也是通过禁用 wptexturize 函数的标点替换部分来达到目的,不想修改代码的朋友可以直接使用插件。

尽量少安装插件,建议采用第一二种方法,特别是第一种方法非常简单。但是这个插件比较小,安装也无妨,特别是前两种方法也许会行不通。

请选择你看完该文章的感受:

5不错 8超赞 0无聊 0扯淡 0不解 0路过

1 条评论 to “完美解决WordPress代码单双引号自动转化为中文字符”

  1. 请帮忙看看,怎么优化啊

来了,请说点什么吧



吾爱SEO小站,倾情分享多年搜索引擎优化学习心得,提供各类网站优化及建站教程视频下载,致力打造湖南长沙SEO优化建站技术、长沙本地一流技术博客!!
为企业网站提供免费优化诊断服务、欢迎大家咨询!!长沙网站SEO阿信qq:2713074171

广而告之

近期评论