解决多版本wordpress单双引号问题
WordPress 各版本都有单引号问题:英文半角引号('')和("")自动转换成中文全角单引号(‘’)和(“”),英文下的三个句号(...)自动转换成中文的半个省略号(…)。
这种引号问题看着很不美观,特别是在贴代码的地方,很容易引起错误,相当烦人!
说明:以下几种方法可能在不同版本有不同的效果,可能会失效,多多尝试即可!当然一般不会影响到数据库,但还是提醒各位童鞋多多备份!
1、修改源文件: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);
2、利用插件 Quotmarks Replacer 解决:
Quotmarks Replacer 是一个通过禁用 wptexturize 函数,解决 WordPress 自动将半角的单引号、双引号和省略号转换为全角标点的问题,使后台输入的标点格式与前台读者浏览的标点格式保持一致的插件。
方法1是通过修改源码的方法,当然对版本升级会有影响!后者是通过使用插件的方法,对于大家不太想用插件的童鞋,当然还有以下方法:
3、修改主题文件夹里的functions.php文件,在其中加入以下代码段即可(诺豆网使用了wordpress3.x版本,并使用此法解决)!
//quotmarks-replacer Ver 2.5 $qmr_work_tags = array( 'the_title', 'the_content', 'the_excerpt', // 'list_cats', 'single_post_title', 'comment_author', 'comment_text', // 'link_name', // 'link_notes', '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'); }
如此,只是修改了主题文件,对wordpress的升级也不影响。ps.根据需要选择哪些部分需要处理!