2009年3月23日星期一

完成第一個WordPress Plugin : SlideZoom

用了差不多有一星期時間,研究一下寫WordPress的Plugin,畢竟PHP是我Secondary Language,要我在非工作情況下寫PHP,一開始我是拒絕的。
但是呢,由於有太多參考,而且WordPress的Document做得不錯,加上Aptana是個出色的PHP IDE,所以很快便完成了。
這個Plugin隨意起了個名字叫SlideZoom。先說說為什麼會出現寫這個Plugin的念頭。
我用了WP差不多兩年,都試用過很多Gallery,例如WP-Gallery , NextGen etc,但他們都有幾個我不太喜歡的地方。
  1. 如果只想把十多張圖片放上Posts,要新建相簿->Import圖片->加一個Pages->插入相簿....不方便而且久而久之會有大量零零碎碎的相簿出現。
  2. 它們部份都有自己的Trigger,或者有自己的File Location,如果你有一天不用那個Plugin,所有之前的圖片便不再顯示或者因Image Path關係被Isolate。
  3. 不夠輕量,如果就純粹想快速插入大量圖片而言,很多Plugin都要Create自己的Table儲存Meta data,又要設置很多東西等等。
其實即使WordPress本身的Add Media功能都不太好,Media功能只是"Upload一張,加一張",不是針對大量圖片的功能。但無奈地,一直都找不到有人寫我想要的Plugin,唯有自己DIY。

SlideZoom其實流程很簡單,就是: 上傳圖片=>建立HighSlide JS兼容的HTML Code
所以,我編寫SlideZoom時考慮到上述問題,而有以下特色:

1. 共用WordPress本身的上傳資料夾。
2. 圖片HTML格式採用 <a href="圖片" target="_blank"><img src="圖片" height="預設細圖高度" width="預設細圖寬度" /></a>,換句話說,即使有一天不用SlideZoom,圖片依然會正常地顯示出來。
3. 設定方面只是在WP自身的Options table插入一行紀錄。
4. Resize方面用回PHP自帶的GD Extension

暫時還有很多文字上的版權宣言(對HighSlide JS和WP的GPL) 還未搞好,不能上傳至WP的Extent頁。
所以暫時只好在這裡建立一個新頁供下載和ScreenShot,大家可以看看:
SlideZoom's Download / Demo / ScreenShot :
http://tatmingstudio.blogspot.com/2009/03/slidezoom.html
(為什麼WordPress 2.71沒有了Slug功能?我本想建立一頁叫http://blog.miawork.com/SlideZoom/)

Demonstration :





1 則留言:

  1. 太棒了!!!!!! 支持支持!!! :o
    Nextgen gallery根本是討厭死!!!! :fire:

    P.S. 2.7 有 slug功能
    不過我看你沒有轉permalink的setting。
    要轉左先用到!!! :D 去setting page轉吧 ;)

    回覆刪除