今天上午,我干了一件及其有成就感而又极其 SB 地事情。相当之郁闷。
首先,是前两天发现使用 Windows Live Writer 撰写新文章时,如果给文章添加了一个数据库里没有的新 Tag ,那么在页面侧栏的 Tag 云里面显示不出来。刚开始以为是数据库没写进去。可是到数据库里面发现记录就在那里摆着,这就迷糊了。难道显示到前台的东西还和数据库不同步不成?或者前台显示的东西记录在另外一个表里面啦?
今天上午决定解决这个问题,看看到底哪里出错了。记得之前在 WLW 里面有一次编辑一个文章,填写 Tag 的时候,正常应该是以下的格式:
Tag1,Tag2,Tag3
可能是当时手抽筋,给写成了:
Tag1,Tag2,Tag3,
只是多了一个逗号。可 WordPress 在数据库里面给建立了一个没有名字也没有 Slug 的标签项。开始没在意,后来在数据库里面我给这条记录直接删除掉了。
当时出现问题的时候,第一个怀疑对象就是这个。以为自己删除的时候出问题了。可是后来发现不是,有好些个标签都显示不出来。
后来又开始测试是否是 WLW 引起的问题。先在后台又后台程序直接添加标签,也是一个毛病,基本排除 WLW 的问题。更换程序版本(2.3 升级到2.3.1 RC1),也是一样。但是发现如果把标签删除掉,然后重新添加,这个时候却能正常添加上。
偶然地机会,我数了一下页面上的 Tag 云显示的标签个数,45个。而且文章最少的标签是只有一篇文章的。我在其中一个没显示出来的标签里添加了一篇文章,让它包含两篇文章。居然在首页显示出来了,而其中一个只有一篇文章的标签却消失了。
恍然大悟(操了,才恍然啊?才大悟啊?真他妈笨……),应该是程序自带的标签云限制了前台显示标签的个数。而且如果新建立的标签包含的文章数少于或等于已显示标签包含文章最少的那个标签。新建的将不显示。一旦某个标签大于已显示标签所包含文章数最少的那个标签。将显示出来,同时隐藏其中一个包含文章数少的标签。(看明白这段话没?谁帮我组织一下,反正我自己看是看迷糊了。)
知道咋回事就好了,剩下的工作就是找个插件,替换掉默认的标签云功能。这一上午,怀疑这个地方,检查那个地方,累死。看来我要狂肯官方说明文档和开发说明了。


2 Comments
貌似,貌似标签云的标签数参数默认值是45,而你可以自己设定其值。
系统自带的那个标签云侧栏单元没有设置的地方啊。好像得改代码吧。现在用 ST 好点了。
One Trackback
[...] 继续补充:问题解决了,原来是标签显示的个数有限制,请瞧这篇文章。 [...]