4 01
wordpress升级到2.5以后,最大的问题就是本站的WAP首页无法显示文章列表了,一直是认为数据库结构改变造成WP-T-WAP 插件不能正常工作。于是留言给作者TangGaoWei,同样有多人也提到了这个问题,不过作者的回复是他测试了wp 2.5版本没问题。没法,只好加了点调试代码追踪了下,最终发现是Index.php的41行语句 <?php if (have_posts()) : ?>函数始终返回false,导致取内容失败。很奇怪的是,在同一个文件的106行相同语句是正常的。
接着去wordpress.org找了下,发现有人发现have_posts函数的问题,已经开了ticket(问题记录)了,可以去看看Ticket #6484 ,跟踪下解决方案。
目前验证或者绕开这个问题的方法是修改永久链接格式为默认设置,更改后WP-T-WAP插件工作正常,期待Wordpress开发人员进一步的消息。
PS:几分钟前的更新
04/01/08 14:43:58 changed by lloydbudd ¶
- milestone set to 2.6.
该不是要等到2.6才改吧?
4月2日更新:WP-T-WAP 插件 升级到1.6,问题解决
保留所有权利
4月 5th, 2008 at 8:35 下午
不知道为什么这篇文章没有trackback回来,看看吧
WP-T-WAP 1.6 已解决无法显示文章列表的问题
WP-T-WAP 插件一直以来都有部分用户反映“首页的文章列表无法显示”。由于没有找到重现问题的方法,所以也没有真正得到解决。今天终于找到了重现方法,并得以解决。问题单如下:
1.问题描述
当用户通过 http://www.***.com/wap 的方法访问 WP-T-WAP 实现的WAP网站时,首页的文章列表区显示空白,文章列表没有正确显示;但是,菜单链接等其它内容能显示正常。
2.再现方法
今天早上,看到dzxr的文章,阐述 have_posts() 方法总是返回 false 的问题。其中提到了再现问题的方法:
将 WordPress 的固定链接设置为非默认值时(即启用rewrite),WP-T-WAP 中的 have_posts() 总是返回 false。WP2.3.* 英文版也存在同样问题。
3.问题原因
经过查错,发现出错的原因是系统函数自动将query数组的 “pagename” 变量的值设置成了相当页面的相对地址。这样就导致系统将相当页面当作是 “page” 类型(post_type)页面处理。而实现上,当前页面应该是 “post” 类型。
4.解决方案
经过测试,wp-blog-header.php 中的“wp();”行改为“wp(’pagename=’);”可解决问题。但是不可能修改系统代码。所以,可以重新创建一个自己的 wp-blog-header.php 文件,或在自己页面构造类似代码。
[Reply]