Categories
Wordpress

让我们可爱的 Simple-Tags 支持中文 (wp 3.2.1可用,2.0-beta9)

Simple-Tags (官网链接) 真是个牛货,提供了多个 WP 插件所提供的功能,代码简练。并且提供了很多站长所期望的内链功能。唯一的遗憾由于开发者都是老外,没有考虑到使用扩展字符集的文字,中文就是这样的语言。所以很多站长发现他不能支持中文,蛋疼啊。

多次尝试下,如下的方法可以让 Simple-Tags 支持中文,其实也就是在匹配表达式上动手脚,去掉老外严谨的匹配条件。

进入 wp-content/plugins/simple-tags/inc(Simple-Tags 2.0-beta9是这个路径),打开 class.client.autoterms.php 文件,第 94 行(或者左右)。有如下代码,

if ( preg_match("/\b".$term."\b/i", $content) )

我们要动到的就是这句话。注意其中 \b 这个字符在正则表达式中匹配英文是时常使用到。\b 就是用在你匹配整个单词的时候,如果不是整个单词就不匹配。我的修改如下,

if ( preg_match("/".$term."/i", $content) )

这样就能让 Simple-Tags 匹配扩展字符集的中文字符了。当然这样的修改会对 php 服务器稍微加大点负担,也会偶尔匹配到英文单词的中间字符。不过英文不多的情况下,还是不错的。

Categories
Wordpress

WordPress 表情符号 测试

edwin-wang.com

难道 WordPress 表情符号一定要安装插件吗???哈哈非也 😀 我们来看看2.8的 /wp-includes/functions.php 中的定义:

if ( !isset( $wpsmiliestrans ) ) {
  $wpsmiliestrans = array(
  ':mrgreen:' => 'icon_mrgreen.gif',
  ':neutral:' => 'icon_neutral.gif',
  ':twisted:' => 'icon_twisted.gif',
    ':arrow:' => 'icon_arrow.gif',
    ':shock:' => 'icon_eek.gif',
    ':smile:' => 'icon_smile.gif',
      ':???:' => 'icon_confused.gif',
     ':cool:' => 'icon_cool.gif',
     ':evil:' => 'icon_evil.gif',
     ':grin:' => 'icon_biggrin.gif',
     ':idea:' => 'icon_idea.gif',
     ':oops:' => 'icon_redface.gif',
     ':razz:' => 'icon_razz.gif',
     ':roll:' => 'icon_rolleyes.gif',
     ':wink:' => 'icon_wink.gif',
      ':cry:' => 'icon_cry.gif',
      ':eek:' => 'icon_surprised.gif',
      ':lol:' => 'icon_lol.gif',
      ':mad:' => 'icon_mad.gif',
      ':sad:' => 'icon_sad.gif',
        '8-)' => 'icon_cool.gif',
        '8-O' => 'icon_eek.gif',
        ':-(' => 'icon_sad.gif',
        ':-)' => 'icon_smile.gif',
        ':-?' => 'icon_confused.gif',
        ':-D' => 'icon_biggrin.gif',
        ':-P' => 'icon_razz.gif',
        ':-o' => 'icon_surprised.gif',
        ':-x' => 'icon_mad.gif',
        ':-|' => 'icon_neutral.gif',
        ';-)' => 'icon_wink.gif',
         '8)' => 'icon_cool.gif',
         '8O' => 'icon_eek.gif',
         ':(' => 'icon_sad.gif',
         ':)' => 'icon_smile.gif',
         ':?' => 'icon_confused.gif',
         ':D' => 'icon_biggrin.gif',
         ':P' => 'icon_razz.gif',
         ':o' => 'icon_surprised.gif',
         ':x' => 'icon_mad.gif',
         ':|' => 'icon_neutral.gif',
         ';)' => 'icon_wink.gif',
        ':!:' => 'icon_exclaim.gif',
        ':?:' => 'icon_question.gif',
  );
}

图片全在/wp-includes/images/smiles 下边,大家也可以尝试着修改成自己喜欢的笑脸。 全局的噢,okay,这样子,大家可以在正文和回复中照常使用啦,注意噢,回复也可以的啦~ 😮 注意噢,在文本和表情间加个空格噢~

:-) Smile 笑脸 Shortcut: ‘:smile:’ , ‘:-)’ , ‘:)’
:-D Biggrin 咧嘴笑 Shortcut: ‘:grin:’ , ‘:-D’ , ‘:D’
:-( Sad 忧伤 Shortcut: ‘:sad:’ , ‘:-(’ , ‘:(’
:-o Surprised 吃惊 Shortcut: ‘:eek:’ , ‘:-o’ , ‘:o’
8-O eek 惊讶 Shortcut: ‘:shock:’ , ‘8-O’ , ‘8O’
:-? Confused 困惑 Shortcut: ‘:???:’ , ‘:-?’ , ‘:?’
8-) Cool 耍酷 Shortcut: ‘:cool:’ , ‘8-)’ , ‘8)’
:lol: LOL 大笑 Shortcut: ‘:lol:’
:-x Mad 抓狂 Shortcut: ‘:mad:’ , ‘:-x’ , ‘:x’
:-P Razz 冷笑 Shortcut: ‘:razz:’ , ‘:-P’ , ‘:P’
:oops: Red Face 红脸 Shortcut: ‘:oops:’
:cry: Cry 哭泣 Shortcut: ‘:cry:’
:evil: Evil 恶魔 Shortcut: ‘:evil:’
:twisted: Twisted 痛苦 Shortcut: ‘:twisted:’
:roll: Roll Eyes 转眼珠 Shortcut: ‘:roll:’
;-) Wink 眨眼 Shortcut: ‘:wink:’ , ‘;-)’ , ‘;)’
:!: Exclaim 感叹 Shortcut: ‘:!:’
:?: Question 疑问 Shortcut: ‘:?:’
:idea: Idea 好主意 Shortcut: ‘:idea:’
:arrow: Arrow 右箭头 Shortcut: ‘:arrow:’
:-| Neutral 自然的表情 Shortcut: ‘:neutral:’ , ‘:-|’ , ‘:|’
:mrgreen: Mr Green 绿脸先生 Shortcut: ‘:mrgreen:’

Categories
Wordpress

升级WordPress 2.8 zh-cn版后台一直提示新版本升级的解决方法

由于本地化的关系,可能是wordpress的一个bug,在中文版本2.71升级2.8后一直提示有新版本,但是确实已经是最新的2.8版本了。 解决方法: 在wp-includes\version.php文件,在文件中添加以下行就可以了。

$wp_local_package = 'zh_CN';
Categories
Wordpress

WordPress 中文标签 Tag 解决方法一则(2.71)

WordPress中文的问题真的很多,固定链接是一个。移植时候又碰到了个标签Tag的问题,英文Tag一切正常,中文就显示NOT FOUND。发现问题主要为IIS对URL截取的时候取得的是GBK的编码,但是我们的主题只要有中文都用的UTF-8的编码,所以我们要对编码进行处理后在交给数据库进行查询。 解决方法:使用PHP内置函数 mb_convert_encoding()进行UTF-8到GBK转换。 1、打开wp-includes\classes.php文件; 2、查找将

$pathinfo = $_SERVER['PATH_INFO'];
$req_uri = $_SERVER['REQUEST_URI'];

分别修改成:

$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], "UTF-8", "GBK");
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], "UTF-8", "GBK");

我的2.71的classes.php文件分别修改了行153和行158处。

if ( isset($_SERVER['PATH_INFO']) )
  $pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], "UTF-8", "GBK");
else
  $pathinfo = '';
  $pathinfo_array = explode('?', $pathinfo);
  $pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
  $req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], "UTF-8", "GBK");