February 2nd, 2007
改變一下判斷一篇 post 是不是 page 的方法…
在我的 blog 中,Archives 是一篇 page 而不是 post (文章才是 post),我在 Archives 裡用了 [tag]Extended Live Archive[/tag] 這個 plugin 來弄出全文列表的效果,但我突然發現它居然把我的 page 也列進去了,查了一些資料才發現原來 [tag]WordPress[/tag] 2.1 在處理 page 的方式有所不同(詳情見此)。
在 WP 2.1 之後 page 也可以有 publish、draft、private 的狀態,在 2.1 以前只有 post 才會有這三種狀態,所以很多 plugin 都是用
post_status = 'publish'
來表示 post,但在 2.1 之後,post_status = 'publish' 也可能是 page ,而資料表中多了一個 posty_type 的 column,WP 2.1 之後就用
post_type = 'page'
來表示 page ,這樣的改變就會讓一些 plugin 在判斷 post/page 時產生 bug。
於是我就動手小改了一下 ELA 的 af-extended-live-archive-incmVFR 及 af-extended-live-archive.php 這兩個檔案,找到這兩個檔案中出現 post_status = 'publish' 的地方,在它的後面(下面?)加上
AND post_type != 'page'
(或是 AND p.post_type != ‘page’ 看原本怎麼寫)
這樣就可以判斷正確了!
歷史上的今天
- Microsoft 提出要買 Yahoo! 的意願 - 2008
文章分類:
標籤: 

2007/02/14 12:47 am
被 Dreamhost 逼上 Wordpress 2.1…
DreamHost 將於 2/19 再次試著把伺服器上的 PHP5 升級到 5.2.2。根據公告的說法,這次的升級會影響到 2.1 版以前的 WordPress:
- Wordpress versions under 2.1
Any version of wordpress under 2.1 will have problems after the…
2007/02/15 9:11 pm
[...] ericsk’s blog » WordPress 2.1+ 的 page 問題:解決 Extended Live Archive 會顯示 page 的問題。 [...]
2007/03/01 7:33 am
[...] ericsk’s blog » WordPress 2.1+ 的 page 問題 SILENCE Blog » Blog 文章彙整 » 升級至 Wordpress 2.1 終極邊疆BLOG » 被 Dreamhost [...]
2007/03/03 2:19 pm
Hi, 我升级到2.1后,每次发表文章后,Extended Live Archive不更新Cache,你遇到同样的情况了吗?怎么解决的?
2007/03/03 2:23 pm
To Zhang:
我沒有遇過耶,會不會是要執行比較久的關係?
還是你有 log 可以看到一些錯誤或警告訊息呢?