Archive for the ‘Wordpress’ Category

两个Wordpress插件的小问题

Saturday, April 1st, 2006


新用了两个Wordpress插件--AdSense Deluxe1Coolweather2,都很棒!不过在试用时遇到了一些小问题,如果不能解决,就无法正常使用,这里写出来,希望给遇到了同样问题的朋友们做参考:

  • AdSense Deluxe:安装时一定要注意不要将这个插件的整个目录复制到WP的Plugins中,这样的话虽然可以正常激活,但当你在Option中保存配置时会出现“Cannot load adsense-deluxe.php”错误,其实只须将adsense-deluxe.php这一个文件复制到Plugins目录就可以了(如果你使用Richeditor,需要添加Adsense Deluxe的按钮,请阅读该插件Readme.txt中的相关说明)
  • Coolweather:这个插件的问题并不是每个人都会遇到,如果你的Blog系统直接装在了你的域名下,那么一切正常,如果你是装在了子目录中(比如我装在了http://www.championeer.com/blog),就会发现该插件不能显示天气状况图片,这是由于图片的链接错误造成的(它忽略了子目录)。这个问题解决起来要麻烦一些,必须手动修改插件中的coolweather.js文件,将其中图片的相对路径改为绝对路径就可以了(注意共有3处需要修改!),即:
    229行、264行、306行中<img src=”/wp-content/plugins/coolweather/icons/…….改为<img src=”http://www.你的域名.com/wordpress所在的子目录/wp-content/plugins/coolweather/icons/

注:Coolweather的问题已经被作者及时修正!请下载该插件最新版本

  1. 可以灵活的在你的网站插入Google Adsense代码 [back]
  2. 使用了AJAX技术的天气情况显示插件,国人作品,这个作者的其它几个插件也很不错,比如coolplayer和coolcode [back]

站点转移到Dreamhost后的字符编码问题

Monday, March 27th, 2006

由于Dreamhost默认的数据库字符编码为Latin1而不是utf8,这样当你撰写中文文章时,尽管PHP的解析没问题,站点上可以看到正常显示中文,但如果你进入PHPMyAdmin,就会发现那些中文都变成了乱码,这样会导致数据库备份无法显示中文,也就失去了意义(当你导入以前站点备份的数据(通常编码为Utf8)时,也会出现同样的问题),解决办法可以参考这篇文章:WordPress数据库恢复编码转换[解决乱码问题]。里面已经说得很详细了,对于像我这样刚刚使用Dreamhost服务的人来说很有用,这里我认为有两步最为关键:

  • 创建一个新的数据库,用phpmyadmin进入界面后,点击左边你的数据库名后,右上方会有“Operations/操作”按钮,进入后最下面有“Collation:/整理: ”选项,选择 相应的utf8后按“go/执行”确认【这个步骤是把数据库默认编码设置成utf8】
    ——注意,当你第一次使用Dreamhost的PHPMyAdmin时,它会自动将界面语言、MySQL字符集、MySQL连接校对都变成utf8编码格式,但其默认的数据库编码却仍然是Latin1,所以千万不要被骗了,一定要按照这步所指示的将Collation变为utf8才可以。
  • 更改WordPress程序中wp-includes/wp-db.php的文件:选择在56行处添加
    $this->query(”SET NAMES ‘utf8′ “);
    复制语句时小心字体哦,我复制的代码加入后报错,原来那些>”‘什么的都不正确。
    更改后的情况是:
    }
    $this->query(”SET NAMES ‘utf8′ “);
    $this->select($dbname);
    }
    ———注意,原文中这段代码中的引号有问题,所以最好不要复制/粘贴,还是自己手输吧,单引号和双引号都要用英文半角输入,否则会抱错。

Binary Blue theme v102的调整

Friday, March 24th, 2006

因为一直在使用Carsten的这个主题,所以当最新的v1.02版发布时我也马上下载升级,不过这次的版本在很多地方都作了调整,让我有些发晕,比如前几版中当你需要为自己定义的sidebar元素增加显示/隐藏效果时,只需要在bbfunctions.js文件中添加相应的函数段即可,如


function ToggleRandomPosts()
{
toggleBox(’rampostslist’);
}

这里面“rampostslist”就是你自己定义的sidebar元素的id名称。

但在v1.02版中,Carsten改变了原有的方式,不需要在bbfunctions.js中增加任何文字,我找了半天才发现这个“秘密”,原来他新加了一个脚本文件themeBahaviours.js,在这里面有一条规则

var myrules = {
‘div.rubrik h1′ : function(element){
addEvent(element,’click’,function(){
toggleBox(this.parentNode.id + “List”);
});
if (sweetTitles)
sweetTitles.setTip(element);
},

从中可以看出,你只要将sidebar元素的id写为“****List”的形式,就能实现该效果,但要注意List之前的字母要和该元素所在div的id一致,如

“>

PS:真的建议Carsten为他这个主题写一个使用/定制手册。