在本机上调试了一个星期后,终于把WP升级到了2.3。因为native tag support的原因,不得不放弃了UTW这个超级好用的插件,我拿UTW做得一些SEO工作也得全部作废了。反正我就是不喜欢Wordpress的越来越华而不实,从2.1开始就没干过正经事儿了,反而让我越发不满意wordpress的运行效率。抱怨归抱怨,以下是调试WP2.3中碰到的一些问题,主要是和模板相关的。
糟糕的Tag体验
WP提供了原生的tag支持,不过这个the_tags()
函数实在是有够弱的,一是它必须是strictly in the loop,而我的模板single page里的metadata都是显示在sidebar中的,the_category()
,the_time()
都能工作的很好,就the_tags()
显示为空。我又不想把tag放到日志的loop里,最后只能在sidebar里做个rewind操作了,代码如下:
<?php if(is_single()) { ?> <?php rewind_posts(); ?> <?php while(have_posts()): the_post(); ?> <h2 id="metadata">Metadata</h2> <dl> <dt>Metadata</dt> <dd class="date" title="postdate"><?php the_time('Y.n.j') ?> / <?php the_time('ga') ?></dd> <dd class="category" title="category"><?php the_category(', ') ?></dd> <dd class="tag" title="tag"><?php the_tags('',', ','') ?></dd> <?php endwhile; ?> <?php } ?>
原本在UTW下,对于没有tag的日志可以指定相应的tag替代文字,例如”No Tag”,但是在WP里,the_tags()
弱到没有tag也输出个null值来。我自然是希望在没有赋予日志tag的情况下,tag栏里显示”No Tag”信息啦。看了下wordpress wp-includes目录下的category-template.php文件里get_the_tags()
函数,其中有这么一段:
if ( empty( $tags ) )
return false;
return $tags;
get_the_tags()
函数在没有找到tag的情况下会返回为false值。我把the_tags()
的调用改成了以下这句,这样就能在没有tag的情况下显示”No Tag”了:
<?php if(!(get_the_tags())) echo 'No Tag'; else the_tags('',', ',''); ?>
删除UTW
用WP2.3导入了UTW的tag之后,就可以把UTW彻底移出了,UTW在数据库里添加了wp_post2tag, wp_tag_synonyms, wp_tags 这三个表,在mysql里用以下命令直接删除吧(建议先备份数据库):
mysql> DROP TABLE wp_post2tag,wp_tag_synonyms,wp_tags;
插件相关
不喜欢WP-PageNavi新版自作多情添加CSS样式文件,我的CSS文件都是用gzip压缩过的了,再说我更愿意自己定义WP-PageNavi的样式。编辑pagenavi.php文件,注释掉以下这段就是了:
### Function: Page Navigation CSS #add_action('wp_head', 'pagenavi_css'); #function pagenavi_css() { # echo "\n".'<!-- Start Of Script Generated By WP-PageNavi 2.20 -->'."\n"; # echo '<link rel="stylesheet" href="'.get_option('siteurl').'/wp-content/plugi ns/pagenavi/pagenavi-css.css" type="text/css" media="screen" />'."\n"; # echo '<!-- End Of Script Generated By WP-PageNavi 2.20 -->'."\n"; #}
Tiger Style Administration是个很漂亮的WP后台主题,不过在2.3下显示似乎有点问题,最明显的就是footer位置偏了。我稍微修改了下它的css文件,喜欢这个插件的又想在2.3下正常使用的直接下载我修改过的CSS文件吧。
er,你upgrade得我看着都有问题了,再好好调吧
yi,发了个comment之后正常了。。