自從升級至Wordpress 2.9版本之後,一直都沒什麼特別問題,唯獨只有Simple Tags這個外掛小小的犯沖,無法正常使用,而且有出現提醒字樣『Simple Tags can’t work with this WordPress version !』,照理說,這次的版本變動應該不會影響到標籤相關的外掛才是,後來去打開了源碼看了一下,原來是在判斷式上少了WP2.9版本,只要簡單的再加上2.9的判斷式就可以囉。
Simple Tags是許多人都有使用的標籤外掛,這次升級wordpress 2.9後就成了許多人的災難,但其實並沒有那麼嚴重,在一開始升級之後丫湯就有立即先修改,本想說作者應該會即時更新這個小小的問題,結果一等再等,還是寫一篇吧。
我們先將Simple Tags裡的simple-tags.php下載回來打開看看源碼,找到第34行開始,這一段就是判斷Wordpress的版本是哪一種,而每一種版本要去執行的檔案都不同,由於原先作者在開發時所支援的範圍為2.2~2.8,因此版號跳到2.9時當然就沒有相對應的檔案。
global $wp_version;
if ( strpos($wp_version, ‘2.7’) !== false || strpos($wp_version, ‘2.8’) !== false) {
require(dirname(__FILE__).’/2.7/simple-tags.client.php’);
} elseif ( strpos($wp_version, ‘2.5’) !== false || strpos($wp_version, ‘2.6’) !== false ) {
require(dirname(__FILE__).’/2.5/simple-tags.client.php’);
} elseif ( strpos($wp_version, ‘2.3’) !== false ) {
require(dirname(__FILE__).’/2.3/simple-tags.client.php’);
} elseif ( strpos($wp_version, ‘2.2’) !== false || strpos($wp_version, ‘2.1’) !== false || strpos($wp_version, ‘2.0’) !== false ) {
add_action(‘admin_notices’, ‘simple_tagging_warning’);
} else {
add_action(‘admin_notices’, ‘simple_tags_warning’);
}
後來丫湯測試了一下,2.9版本原則上使用的檔案和2.7及2.8是相符的,沒有不相容的問題,因此我們只需要在2.7及2.8的判斷式上再加上2.9的就可以了,將第35行的
if ( strpos($wp_version, ‘2.7’) !== false || strpos($wp_version, ‘2.8’) !== false) {
替換為
if ( strpos($wp_version, ‘2.7’) !== false || strpos($wp_version, ‘2.8’) !== false || strpos($wp_version, ‘2.9’) !== false ) {
替換完後再上傳覆蓋就可以了,再去後台試試,應該是沒有問題囉。
當然如果你是比較懶的話,你也可以下載阿湯修改好的版本直接覆蓋原本的外掛就可以囉。
Simple Tags外掛修改版下載:請點我
我在我的simple tags中的simple-tags.php中找不到所謂的判斷CODE耶!
咦?我用chrome看你的文章,怎麼發現會破版啊?文章每行最後面的字,都會被邊欄遮住一些看不到說!><
原來是這樣喔!
根本是相容的…