自從升級至Wordpress 2.9版本之後,一直都沒什麼特別問題,唯獨只有Simple Tags這個外掛小小的犯沖,無法正常使用,而且有出現提醒字樣『Simple Tags can’t work with this WordPress version !』,照理說,這次的版本變動應該不會影響到標籤相關的外掛才是,後來去打開了源碼看了一下,原來是在判斷式上少了WP2.9版本,只要簡單的再加上2.9的判斷式就可以囉。

00

Simple Tags是許多人都有使用的標籤外掛,這次升級wordpress 2.9後就成了許多人的災難,但其實並沒有那麼嚴重,在一開始升級之後丫湯就有立即先修改,本想說作者應該會即時更新這個小小的問題,結果一等再等,還是寫一篇吧。

01

我們先將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外掛修改版下載:請點我

Categorized in:

WordPress,

Last Update: 2012 年 08 月 02 日