WP 2.1 和 ELA 的兼容性问题

看来 Wordpress 2.1 真是个 trouble maker,和 Extended Live Archive 又发现兼容性问题,鉴于用 ELA 的人还挺多的,我拿来说说。估计他们官方又会跑出来说“是你们插件作者的错,不是我们的错”了,嘿嘿。

症状:如果你注意到的话,在 WP 2.1 中,ELA 会把新建立的页面当成文章显示出来。

那么为什么会出现这种情况呢?因为 WP 2.1 把数据库结构作了调整,以前区分文章和页面是用 post_status 这个 field 的值。如果是 post_status = ‘publish’ 那就是文章,如果 post_status = ’static’ 那说明这是页面。而到了 WP 2.1 上,页面的 post_status 也变成 ‘publish’ 了,区分文章还是页面用 post_type 判断,post_type = ‘post’ 为文章,post_type = ‘page’ 为页面。可 ELA 不知道这点啊,它还是按老方法来判断,当然会造成误判了。

修补

  1. /plugins/af-extended-live-archive/af-extended-live-archive-include.php
  2. 寻找 post_status = ‘publish’
  3. 替换为 post_type = ‘post’ AND post_status = ‘publish’

注意找到 p.post_status = ‘publish’ 这种,替换后应为 p.post_type = ‘post’ AND p.post_status = ‘publish’,而不是 p.post_type = ‘post’ AND post_status = ‘publish’。

除了上面说的问题,我以前也曾指出过如果想把任意页面设置成首页,你需要关闭 ELA,否则无效

升级 WP 2.1 后会遇到总总问题,如果不是特别需要新的功能,不妨先缓缓,等各种问题都解决了后再升级不迟。

更新:附上我改好的 af-extended-live-archive-include.php 文件,需要的朋友可以下载,把扩展名改成 .php 后直接覆盖原文件。点此下载 (适用版本:R18)

4 Comment(s)

  1. vincent
    January 30th, 2007 at 5:31 pm

    原来觉得Extended Live Archive很好用,现在已经停掉了,为了速度,我想用搜索和tag差不多可以定位到文章了。如果速度快点真是个很好的插件。 :smile:

  2. kevin
    January 31st, 2007 at 8:38 am

    谢谢
    你真会发现

  3. 土鸡蛋
    October 25th, 2007 at 3:09 am

    知识就是财富,谢谢,收藏了。

  4. 红叶石楠
    October 25th, 2007 at 3:10 am

    现在技术太难拉,学习累呀

9 Pingback/Trackback(s)

  1. 升级到WordPress 2.1 at 肚破惊天 我承认,肚破惊天是一种境界

    January 30th, 2007 at 4:07 pm

    1

    [...] 升级到WordPress 2.1,用的仍是yskin的2.07中文包,并无大碍。 k2主题升级到0.95RC1。插入连接的按钮怎么跑右边了。晕。 UTW升级到3.1415926。之前非常担心会在2.1下失效的Page Post 2,也照常运行。另外,傻逼妹在2.1中运行正常。我使用的其他插件暂时没有因升级而失效的。 暂时没有发现什么问题,浏览过程中如果大家有见到麻烦通个信。也没有发现什么好玩儿的。 此专辑中有我此次升级的一些截图。 坦白说很讨厌这种频繁地升级。想想DZ升级的频繁,我很欣慰。 update:刚注意到,友情连接的排序给搞乱了。巧克力工厂提到了UTW和ELA在2.1中的问题,我暂时还没有发现。随后的更新中应该会有,我没有那么幸运。 [...]

  2. 蓝色潜水艇 » Blog Archive » WP的一些小问题

    February 5th, 2007 at 3:45 pm

    2

    [...] 自从Wordpress升级到2.1之后,出现了许多问题,其中最多的还是插件问题。我这里碰到的有这么些: 1、UTW失效了,tag点进去显示404页。做了很多努力,未果,无奈使用了tidy tags最高死刑。还好文章不多,才百来篇,每篇重新添加了tag~ 然后又发现新问题。由于我使用了WP-PageNavi分页插件,所以把默认的前后翻页删除了。可能Pagenavi不兼容UTW?用tag搜索后,出来的搜索结果页面没分页了。没办法,只好才用了折衷的办法,保留默认的翻页功能,加上pagenavi的下拉筐分页码功能。 2、Useronline插件安装不上,一激活就提示数据库无法创建表格什么的。未解决 3、Code编辑模式撰写新文章的时候Lightbox2和SingleMP3这两个插件的快捷按钮不显示,但是当修改文章的时候,这两个插件的快捷按钮又出来了~未解决 4、中文Wordpress工具箱的最新文章功能会把新建的页面也算进去。这个问题在Extended Live Archives中也存在。不过后者已经有人解决了 。具体可以看这里。 [...]

  3. CODE|源码

    February 8th, 2007 at 7:04 am

    3

    WP 2.1 和 ELA 的兼容性问题…

    症状:在 WP 2.1 中,ELA 会把新建立的页面当成文章显示出来。
    那么为什么会出现这种情况呢?因为 WP 2.1 把数据库结构作了调整,以前区分文章和页面是用 post_status 这个 field 的值。如果是 pos…

  4. 中文工具箱在WP 2.1 ELLA下的小bug - Life is Dox

    February 10th, 2007 at 6:18 am

    4

    [...] 继续这个小bug:我在wp 2.1中调用该函数时, 期望显示最新文章,而实际却把最新的page页也当作最新文章加入了列表。这样就不好玩儿了,google了一下,看到巧克力工厂的一篇文章:发布一下改进过的中文工具箱,也提到了这个问题,还提出了解决方案,于是赶快拿来一试,bug解决了。:) 具体的原因,巧克力工厂在另一篇文章中解答过了:WP 2.1 和 ELA 的兼容性问题 [...]

  5. kill preview与wordpress2.1不兼容 at y0ungs的blog

    February 26th, 2007 at 12:54 pm

    5

    [...] 3.与ELA兼容性问题,同样可下载修改文件。 [...]

  6. 我正在使用的WP插件 - Nicky's blog

    June 4th, 2007 at 2:27 pm

    6

    [...] Clean Archives在WP 2.1中也会把Page当成文章处理,和Michael修改ELA的方法一样,打开cdc_clean_archives.php,查找: post_status=’publish’ [...]

  7. 我使用的Wordpress插件 at 许许如生

    July 30th, 2007 at 11:45 am

    7

    [...] Extended Live Archives。作用:使用ajax技术实现动态存档页。效果:见我的存档页。注:现在使用的是巧克力工厂修改后的版本。 [...]

  8. 我喜欢的几个WordPress插件 - 许许如生

    September 16th, 2007 at 8:30 am

    8

    [...] tag 来查找文章,很方便。我使用的是巧克力工厂改进后的版本,解决了 ELA [...]

  9. WP的一些小问题 - 蓝色潜水艇

    December 9th, 2007 at 3:06 pm

    9

    [...] 自从Wordpress升级到2.1之后,出现了许多问题,其中最多的还是插件问题。我这里碰到的有这么些: 1、UTW失效了,tag点进去显示404页。做了很多努力,未果,无奈使用了tidy tags最高死刑。还好文章不多,才百来篇,每篇重新添加了tag~ 然后又发现新问题。由于我使用了WP-PageNavi分页插件,所以把默认的前后翻页删除了。可能Pagenavi不兼容UTW?用tag搜索后,出来的搜索结果页面没分页了。没办法,只好才用了折衷的办法,保留默认的翻页功能,加上pagenavi的下拉筐分页码功能。 2、Useronline插件安装不上,一激活就提示数据库无法创建表格什么的。未解决 3、Code编辑模式撰写新文章的时候Lightbox2和SingleMP3这两个插件的快捷按钮不显示,但是当修改文章的时候,这两个插件的快捷按钮又出来了~未解决 update:20070207,今天看到海豚的这篇文章,试着去修改了lightbox和smp3两个插件,居然也成功了。做法就是:将lightbox的line 35 if (strpos($_SERVER[’REQUEST_URI’], ‘post.php’) || strpos($_SERVER[’REQUEST_URI’], ‘page-new.php’)) {加上一段代码,变成为: if (strpos($_SERVER[’REQUEST_URI’], ‘post-new.php’) || strpos($_SERVER[’REQUEST_URI’], ‘post.php’) || strpos($_SERVER[’REQUEST_URI’], ‘page-new.php’)) {同理,smp3也是一样的。哈哈! 4、中文Wordpress工具箱的最新文章功能会把新建的页面也算进去。这个问题在Extended Live Archives中也存在。不过后者已经有人解决了 。具体可以看这里。 [...]


RSS feed for comments on this post · TrackBack URI

Leave a reply