Tag Archives: WordPress

WordPress为何具有如此魅力

周末到清华参加了今年的WordCamp China,主要的目的是去仰慕一下年轻的WordPress创始人Matt,从1.5版本开始用WP写博以来,的确是看着它发展成了一个强大的系统,何况WordPress可是詹膑老师眼中比Google和Apple还酷的公司。

在我眼中,WP也是个很特别的产品,它拥有非常好的社区,无论是开发者社区还是粉丝社区。就以WordCamp为例,我相信到场的有不少并非IT从业人员的WP粉丝。作为一个开源产品,营造良好的社区氛围,建立一个生态系统至关重要,而WP是如何做到这一点的?

我在会议的间隙,问了Matt这个问题,不过他的回答非常的“Google”,他觉得关键是产品,只要产品好,其他的就纷至沓来,听起来与Google十大信条的第一条“Focus on the user and all else will follow”说的是一回事。虽然只是简单的一条原则,但要做起来却并不容易,你需要快速且有技巧地对用户的回馈作出反应,需要定期进行版本更新,需要让产品的基础架构能够适应一个广泛的开发者社区的需求,需要让产品对普通用户而言非常的方便易用而且好玩耐玩。

而维持一个开发者社区同样意味着很多的挑战,即使对WP也不例外,例如与Habari创始团队之间的争论,与插件开发人员之间关系的平衡,如何应对热心用户的功能要求等等。下次如果有机会的话,应该与Matt多交流一下的问题(明年?)。

不知道什么时候能够看到国内的一款软件也拥有这样的魅力,吸引到众多的热心开发人员和粉丝用户呢?

闲聊My Donews

前两天看到刘韧在说Donews将提供全内容的基于Wordpress的My donews blog服务,没想到这么快就上线了。所谓的全内容,老白解释说是与现有的要求实名制(我在Donews blog注册占位的时候并没有要求实名,估计老白说的是home.donews而不是blog.donews),内容和频道则倾向于IT的Donews blog不同。

虽然My donews上线第一天就吸引了不少的用户去注册和使用,但我还是要说恐怕这并不是明智的做法。

现在的my donews将目光瞄准了IT圈外的blogger,但Donews是怎么样一个品牌,大家都心里有数,全内容的blog服务是否会有损Donews这样一个品牌?这个问题留给品牌专家们来回答吧。如果手头的资金多了,想提供全内容的blog服务,用mop这个品牌估计也比donews要好,或者干脆用monews?

My Donews是否会影响blog.donews?尽管刘韧已经承诺原有的blog系统仍会继续维护与升级,但既然同样在donews这个品牌下,Wordpress系统又比.text系统强(不过现在的my donews不支持自主的插件以及模板修改,可能还真不比.text系统强,呵呵),自然有不少人会考虑转移到my donews下继续blog。

回头看看我曾经写过的一篇热门文章,里面提到一点“不要过度融资。资金不足当然是个问题,但过度融资可能会让你的目标膨胀,业务多元化,放弃了自己最核心的产品和竞争力”,的确是很有道理的,有钱了之后却不知道做什么好,的确是一件挺尴尬的事而且桶多了,难免贪多嚼不烂。

2005年我最喜欢的5大软件

盘点完5大网络服务,继续盘点2005年我最喜欢的5大软件,继续我的年终回顾与展望专题系列。

1、WordPress: 自从今年4月开始写作这个blog以来,WordPress成为我几乎每天都会使用到的软件,而WordPress也的确在今年取得了迅速的增长,成为继MT之后的另一个最受欢迎的blog系统,它方便易用的特性以及众多的插件系统使得很多人在建立独立的Blog空间时首选的就是WordPress。Alex Huang正在写一系列详细的WordPress使用指南,很不错的新手指南。

2、FireFox:不要笑话我落伍,我是到今年才开始正式转向使用Firefox的,之前用的是Maxthon,因为喜欢Maxthon的一些功能与使用习惯,比如Tab浏览,鼠标拖曳、手势,但使用Firefox之后很快就喜欢上这个软件了,终于全面转向Firefox,而且相比较Maxthon,我更喜欢FF可自由组合的Tab方式以及Adblock等等丰富而实用的插件(有空写篇我最喜欢的Firefox插件,呵呵),而且FF1.5的稳定性也已经很不错了。

3、GreatNews:虽然很多人都喜欢用在线RSS阅读器,但我还是更偏爱客户端工具,以前用的是D版的FeedDemon,直到遇到GreatNews,它优秀的界面表现、速度与操作习惯让我很快就抛弃了FeedDemon。我相信习惯使用客户端阅读器的人都会喜欢上GreatNews的,何况它还可以与Bloglines实现同步

4、GTalk:我使用它只有一个最重要的原因:简洁,但能满足我的基本需要。

5、Picasa2:对于数码时代所带来的照片泛滥,或许Picasa2能够是一个不错的解决方案,反正它帮助我找到了遗失在硬盘里的一些照片,Picasa也让我抛弃了用了很长时间的D版ACDsee。

利用Flock注册WordPress.com

Flock让我期待了好一阵,昨天终于正式推出了。虽然与我之前了解到的信息略有差异,不过它集成del.icio.usFlickr和Blog的方式仍然让不少人觉得好用,WebleonAttaboy都有详细的使用评价,我就不赘述了。

Flock的推出还带来了一个额外的好处,就是不需要有邀请权就可以直接注册WordPress.com。下载安装后,在首页中选择“get yourself a blog”,就可以选择注册WordPrss.com,没有邀请权但又想使用WordPress.com的Blog服务的朋友可以用这个办法去注册了。

发放WordPress.com邀请一个

WordPress昨天似乎发放了一批邀请,我也获得邀请,现有邀请权一个,送给有需要的人士,最好是你已有一定的blog经历,但不想使用原来的服务,在留言中说明原因,我会选择送给其中一个。

有关WordPress.com的使用与简单评测,可以看窝子的这篇Blog

或许WordPress很快就会开始大规模发送邀请或者开放了,至少这次我看到不少中文blogger都收到邀请。

Update:邀请已经送给huangjianjun了,经常看到他在很多人的blog后面长篇大论,却不知为何他在自己的wallop上不怎么写这些内容,希望这个邀请能够为他提供帮助。只好对其余的朋友说声对不起了,如果有新邀请权,一定优先考虑你们,不过你们也可以到WordPress.com上登记一下,可能很快就会得到邀请的。

没有新邀请了,请勿继续留言!

Firefox的怪毛病已解决

前两天还很郁闷为什么新装的Firefox为什么有那么多的小毛病,今天终于找到了问题所在,也证明了不是我的RPWT^_^。不过我也错怪了火狐,原来问题出在我升级后的防火墙的cookie控制上。

说来找到原因的过程也很巧,居然是从我Blog的一个问题上找到答案的。前几天在使用这个WordPress架构的Blog的时候就遇到一些怪现象,不能删除comment,不能激活插件,都是出来一个连接到WordPress Codex的页面让我Enable Sendding Referrers,但因为这几天始终不能进入Codex(大家能进吗?),也就没继续处理它。今天实在下定决心要找到答案,就用代理进入Codex,发现问题可能出在防火墙控制上,果然按照页面上的指示,顺利地解决问题。

联想到上次那些火狐的毛病可能也是防火墙造成的,马上修改设置,果然药到病除。上篇blog的留言中有人也与我同病相怜,del.icio.us的书签每次都要登录,建议也去检查一下防火墙的设置。

WordPress快速留言插件Wordspew Ajax Shoutbox

窝子曾经写过一篇令人印象深刻的文章“互动性的尝试和想法:基于博客的个人门户续篇”,里面提到了多种能够提高blog互动性的小工具,包括投票箱、即时留言板、集成聊天工具等等。不过因为需要用到第三方服务商的服务,我总会有点担心因为服务中断造成blog页面下载困难等问题,所以我虽然觉得这种增加互动性的工具挺有用的,但也一直没有在blog上加上这些服务。

现在WordPress的用户只要通过一个插件就可以简单地实现即时留言板(shoutbox)功能了,而且这个插件使用了Ajax技术,可以实时显示留言内容,你也可以通过控制面板或者是修改CSS文件来自行定义颜色、外框等内容。安装后的效果可以参看我的blog主页的侧边栏(由于怀疑该插件对资源有一定影响,暂时拿下)(就是插件的默认效果,我没有作任何改动)。不过目前这个插件不支持Opera8,其余的浏览器都可以正常使用。

插件的安装也非常简单,将下载包中的install-live.php文件放到blog的根目录下,从浏览器打开这个文件,执行安装过程后,会在你的mysql数据库中添加相应的表,再将wordspew目录上传至WordPress插件目录,在控制界面激活插件,最后在你的WordPress模板相应的地方插入以下的php语句以及调整样式就可以了:< ?php jal_get_shoutbox(); ?>

(via Blogging Pro China)

PS. Blogging Pro China是海豚新建立的一个Blogging Pro的中文站点,主要提供有关WordPress的各类插件与主题信息,WordPress中文用户必读的网站:)。

升级WordPress解决RSS时间码问题

车东最近因为WordPress的RSS Feed的时间问题,好像比较郁闷,不但在5月底更新了这个最初写于4月11日的指出我的Blog因为中文化而出现RSS Feed时间码错误的帖子,而且今天还另外写了一篇文章,将错误的Feed时间比喻成标错生产时间的牛奶。不但如此,车东作为MT的用户,还实在忍不住到WordPress的支持论坛一口气回了五个帖子要求修正这个小bug。

RSS Feed时间码的错误的确是个很明显也很容易解决的小bug,其实在WordPress推出1.5.1版的时候,就已经解决了这个bug了。车东最近指出的几个基于WordPress而在Lilina聚合时出错的Blog恰恰都是使用WordPress1.5而没有升级的Blog。而在WordPress1.5.1中,生成Feed pubDate的代码已经可以从数据库中根据用户的时区设置获取时间了,同样,车东指出的中文本地化后Feed时间码因为翻译成中文而乱掉的bug也修复了。WordPress1.5的Feed时间码错误虽然也不是什么大问题,不过还是会让RSS的读者比较郁闷,就为这一点,你也值得将WordPress升级,何况WordPress的升级还是非常的简单。当然,如果实在不想升级,那么也很简单,参照我的这篇文章或者WordPress的官方修改方法自己改一下代码就可以了。

另外,WordPress从推出1.5.1后,因为bug与安全漏洞发布了两次更新版,现在的最新版本是1.5.1.2了。

WordPress 1.5.1 RSS Feed的一个bug

WordPress1.5.1发布后,不少人升级后都有一些小问题,像部分插件不兼容无法使用设为Private的文章无法正常隐藏等等,不过更大的bug在于升级到1.5.1后,WordPress的RSS Feed会出错(via)。

问题表现为:Feed不会输出本该输出的全部文章,而只会显示你当前新撰写的文章,而过了24小时后,Feed则会变为空白,没有任何的文章输出(ps.好像使用Feedburner烧过的feed没有问题)。子游提到1.5.1升级后又出了新的更新包。不过我今天重新下载升级后,这个bug还没有修复。

解决办法:
将根目录下wp-blog-header.php中的

if ( ($client_last_modified && $client_etag) ?
((strtotime($client_last_modified) >= strtotime($wp_last_modified)) && ($client_etag == $wp_etag)) :
((strtotime($client_last_modified) >= strtotime($wp_last_modified)) || ($client_etag == $wp_etag)) ) {
if ( preg_match(‘/cgi/’,php_sapi_name()) ) {
header(‘Status: 304 Not Modified’);
echo “\r\n\r\n”;

替换为

if ( ($client_last_modified && $client_etag) ?
((strtotime($client_last_modified) >= strtotime($wp_last_modified)) && ($client_etag == $wp_etag)) :
(($client_last_modified && strtotime($client_last_modified) >= strtotime($wp_last_modified)) || ($client_etag == $wp_etag)) ) {
if ( preg_match(‘/cgi/’,php_sapi_name()) ) {
header(‘Status: 304 Not Modified’);
echo “\r\n\r\n”;

重新上传到服务器上就可以了,看来以后还是不要太早尝鲜做小白鼠的好。

Update:发现William更早就提出了这个问题和修改的办法。

WordPress 1.5.1版发布

刚刚从WordPress的blog上看到WordPress1.5.1发布的消息,这个版本主要是补bug(说是补了一个重要的安全性bug),改进了插件的API,而且据说运行的速度更快了。

changelog上看,对这几点比较感兴趣:

  • Extended ping support :加强ping功能,不知道我使用过程中遇到的一些blog无法ping成功的问题是否被补好了
  • Support for a Status: theme header field that allows themes to be marked as private, publish, or draft :从意思上看好像是可以指定theme是private、publish还是draft,可以方便在换新的theme的时候进行模板的调整和调试;
  • Plugins can now have multiple option pages:允许插件有更多的选项选择(升级后没找到在哪里,可能现有的插件还不支持?好像弄明白意思了,原来是以前的option插件只允许一个插件的选项页面,现在可以有多个插件选项页面
  • Active plugin and theme highlighting :目前使用的插件与主题都高亮显示
  • Paging on the Manage->Posts page :在管理页面可以方便地翻到以前的文章
  • 由于WordPress1.5采用了主题(theme)的方式,因此升级过程比较简单,将新版的WP文件替换旧的文件就可以了,我已经升级成功了。当然你最好还是先备份一下文件和数据库,尤其是如果你使用了WordPress自带的默认模板并作了修改的话,一定要先备份。

    WordPress下载页面

    Update:好像我以前提到过的RSS Feed输出里的时间码时区的bug也修复了。