WordPress的留言模板代码输出未闭合的Bug

WordPress里默认的模板样式存在未闭合的<li>错误,这导致你的网页在W3c验证时会不通过。在验证本博几个页面时,发现有评论页的页面就产生一堆未闭合的错误,而没有评论页的页面就不会产生错误,成功passed。

由于我在后台编辑文章时,还有一个添加新标签,不会提示我要插入的标签,只显示“-1”,我怀疑是不是我下载的文件有问题,因为不是从官方下载的,于是到官方网站从新下载了一次,把网站目录里的一些有关内容删除,保留google、yahoo、baidu等的验证文件和WordPress的配置文件,从新把WordPress安装了一次,但还是出现上述问题。那问题只能从模板,wordpress系统代码两个方面查找了。

首先从模板找起:

模板关于评论的输出时,是这样的:

原模板默认用系统评论输出

原模板默认用系统评论输出

输出的时候会判断是否2.7版本,如果是用wp_list_comments()函数输出内容,如是是2.6.3版本及以下版本,那就用模板自带的函数custom_comments输出。问题会不会出现在这里?在把判断语句删除之后:

去掉wordpress系统评论输出后

去掉wordpress系统评论输出后

这样就恢复了正常,又可以通过W3C验证了。看来问题就出在wp_list_comments()函数上。从输出的html代码看来,大概是<li>的标签用</div> 来闭合了,参考了wp_list_comments()函数的源码,发现输出有两种格式,一种是<li>的一种是<div>的,可能是判断的时候出错了吧。通过对我所用的iNove模板的官方博客反映了这一问题,得到了mg12的确认:

iNove官方博客mg12的回复

iNove官方博客mg12的回复

奇怪的是在网上搜索,却没有找到这个问题或这个问题的解决办法。另外像我的后台里标签提示不正常的现象不知道其它的WordPress后台是不是这样?还是只是我这个有问题呢?

WordPress的留言模板代码输出未闭合的Bug》上有6条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注