解决多版本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.根据需要选择哪些部分需要处理!