2007年1月28日

学着自己修改了一下WordPress

几天换服务器的时候顺手把blog后台程序WordPress升级到了最新版2.1。升级前就听网友说2.1是一次主要升级,改动不小,升级之后果然发现了一堆问题。最郁闷的就是侧边栏里的友情链接坏掉了。

以前为了让每一个分类单独用一个div块,没有像默认模版那样简单地写一句wp_list_bookmarks(),而是采用WordPress官网的写法,把链接的category和name分别读取显示。

get_results("SELECT cat_id, cat_name FROM $wpdb->linkcategories");
foreach ($link_cats as $link_cat)
{ ?>

cat_id; ?>">
cat_name; ?>


    cat_id); ?>




}?>

WordPress升级到2.1之后这一块就坏掉了,提示说数据库错误。没办法,不知道该问谁,只好学着自己读一下WP。反正早晚得学。升级前的数据库幸好保留了一份,对照着看了一下,发现数据库有两点改动。

一是cat_id改成了cat_ID。盘古是对大小写敏感的虚拟主机,这会导致找不到get_results函数cat_id项。解决办法是把代码中cat_id统统改成cat_ID。

二是数据库的linkcategories(链接分类)表合并进了categories(文章分类)表,链接分类放在了文章分类之后。这导致get_results("SELECT cat_id, cat_name FROM $wpdb->linkcategories")这一句失效,因为不存在linkcategories表。我首先试着把调用get_results函数时的linkcategories改成categories,但是这样不但输出了链接分类,同时还输出了文章分类,这显然不是我想要的。再观察发现categories表中增加了一项link_count,应该是WordPress 2.1新增加的,用于记录该分类下有多少个链接。因此我在每一个foreach的循环中根据link_count是否为零来判断是否为链接分类,从而正确地输出。
修改后的代码为

get_results("SELECT cat_ID, cat_name, link_count FROM $wpdb->categories");
foreach ($link_cats as $link_cat)
{
 if ( $link_cat->link_count )
{ ?>

cat_ID; ?>">
cat_name; ?>


    cat_ID); ?>




}
}
?>

这是我第一次自己动手阅读并修改WordPress代码。虽然为了这么点小事前后折腾了一个多小时,还是觉得很高兴的。毕竟一个对php语法和WordPress函数数据结构一无所知的菜鸟,现在知道了得配对但是不必在同一个花括号{}里面,知道了简单的php判断语句,连蒙带猜地知道了wp_get_links和wpdb->get_results两个函数的用法,并且最终凭借这些东拼西凑的三脚猫功夫发现并解决了实际问题。

,

2007年1月2日

新年快乐

蜗牛祝各位朋友心想事成万事如意.推研的朋友可着劲地玩,考研的朋友过关斩将无往不利,出国的朋友拿到一堆牛offer,工作的朋友龙马精神一帆风顺,单身的朋友找到称心如意的另一半,coupled的朋友和和美美甜甜蜜蜜,小朋友噌噌地长高,大朋友事事顺心,老朋友身康体健,欠蜗牛bg的朋友彩票中奖,蜗牛欠bg的朋友宰相肚里能撑船.

2006年12月24日

民风彪悍

今天党支部去保定白洋淀实践,路上闲聊的时候听azzuro说起他高中的事情,说有个师弟在学校门口(或是医院门口?)被几个流氓捅了刀子,路过的革命群众一呼而起纷纷拿起板砖击打歹徒,瞬间将歹徒制服。乖乖哩个东,冀北平原真是民风彪悍,要是我家那边的闹市区遇上当街砍人,革命群众避之犹恐不及,哪里会有人跳出来拼板砖。

然后的一系列事情更加深了这一印象。

在去火车站的出租车上,司机师傅一路狂飙,左冲右突,鸣笛抢灯,好几次还差点剐到路边骑车的学生。一路上他不停地跟我推荐当地一种名小吃"驴肉火烧"价钱便宜量又足。见我好像没啥精神(一宿没睡好,烤鸭当前也没精神),急了,两手比划了一个圈说,"喏,就是这么大,看见了吧!"。列位看官请注意,是两手比划的,方向盘直接给扔一边了。

走在大街上,看见一条街好多家军用品专卖店。我问azzuro有很多人需要买军用品吗?azzuro说是啊,他的高中同学经常拿着把仿M-5酷酷地在学校里晃来晃去。还有个警校的同学,和他的警察老爸吵架之后拿烟灰缸互相拍,先后送进医院,最后老爸不幸地挂了。

于是保定在我心中留下了不可磨灭的印象:七八十岁的老爷子一边散步一边玩花式铁球,十多岁的少年每天拎着或真或假的冲锋枪去上学,满街都是拿板砖拍人的革命群众和用意念开车的司机同志,还有病床边上零散的烟灰缸残片。啧啧,果然民风彪悍。

2006年12月21日

做好小事

刚参加了毕业生党员大会,校党委陈希书记的讲话,谈了全社会对清华学生尤其是党员学生的期望。在郁闷了三年之后突然被提醒起自己还是个清华学生,仿佛回到了刚进校的时候,被杨振斌一席话说得信心爆棚热血澎湃,自信能挺起民族的脊梁。

陈希有一个观点有意思,要有自信,走自己的路,不盲从。全国高校一窝蜂的扩招的时候,清华的招生比例从1/60降到了1/600。别人忙着修建高楼大厦,建一百万的电梯和三百万的校门,清华却要少盖楼多种树,多建文化设施。

说到种树,上次某某来我们学校,夸奖学校里树很多,我还没怎么注意。今天陈书记说,01年的时候校园里有170多种树,到现在有400多种,将来要做到在北京单位中仅次于植物园。zeze,真够多的。除了常见的北方树种,还引进了很多南方树种,比如棕榈、香椿、红豆杉。棕榈树据说全北京只有清华有。香椿怕冷,移植很麻烦,北京植物园70年代曾经试着移植但是失败了。清华把香椿养在苗圃里,每年冬天给它烧煤供暖。第一年保持-1℃的环境,第二年-3℃,每年减少煤的用量,让它慢慢适应北方的严寒。到了第五年就可以放心移出苗圃。养活一棵树,对于大学建设来说是一件很小的事,但所谓卓越,正是在每一件小事上都用心做好。

就写这么多吧,晚上还有个禅宗的讲座,作业再多也要挤时间去听。

,

2006年12月20日

Weianr说

昨天送Weianr去机场的路上,Weianr跟我说了很多关于lovers之间如何相处的话题,我觉得说得很有道理。印象最深的有这么三点,写在这里备忘:

如果一个人事情忙应酬多,常常很晚才回去,另一个人担心是很正常的。

永远不要要求对方以你爱她的方式来爱你。没有两个人是完全相同的。不按照你的方式并不代表不在乎你。

有话就说。不要因为担心言语太直接而憋在心里。事实证明憋在心里的话会一天天积累,并最终以另一种方式全部发泄出来。

,