在做我的音樂博客 NoSay.in時我曾經考慮了很多日后進行更新時會遇到的問題,例如:以后我想在首頁增加一個快速聽歌的功能,因此我在每篇日志里都預先寫上了custom field;還有某些對用戶體驗產生很大影響的插件,以后在更換插件的時候,我如何才能使對用戶和我自己的影響降到最低?因此我當時選擇了一些使用簡便的插件。但昨天我看了wordpress.la的《精通 WordPress簡碼》后,一個更好的想法誕生了。
什么是Short Code?
WordPress Short Code也叫做短代碼或者短碼,早在WP2.5里已經加入了這個功能。WP短碼在功能上和做主題和插件時經常做的自定義function功能幾乎一樣,也支持自定義參數。最大的區別是WP短碼可以在文章里通過自定義的標記進行調用,具有極高的靈活性。請看摘自wordpress.la的一個例子。
定制Google AdSense位置 問題:許多博主都在使用Google AdSense,在主題文件如sidebar.php 添加AdSense編碼非常容易,但有經驗的網絡營銷師都明白訪客點擊最多的還是嵌入在文章內部的廣告。 解決方案:若在日志或頁面中嵌入AdSense廣告,需創建以下簡碼: 1. 打開functions.php文件并復制以下代碼。記得把JavaScript代碼換成自己的AdSense代碼。 ‘; 注意AdSense代碼被adsense div元素包裝,這樣我們就可以在style.css文件中設計其樣式。 代碼注釋:以上代碼用來顯示AdSense廣告。當把簡碼插入日志中時,它就會返回AdSense廣告。這一切都非常簡單,同時也節省了大量時間。 |
從這個例子可以看到,通過WP短碼,我們可以在文章里的任意一個地方快速地插入一段已經定制好的代碼。這將大大地提升你的工作效率。
如何預留改進的空間?
首先說說我的看法。我預留改進的空間的原因是我要避免被“插件劫持”。插件劫持是我自己命名的一種情況,意思是你正在使用一個前臺插件,例如Hightslide,要正常使用Highslide的功能的話,我就必須在文章里使用符合Hightslide的規則的代碼。麻煩就從這里開始。到了后來的某一天,我覺得Magic Toolbox更好,于是乎我轉用Magic Toolbox,可是Magic Toolbox和Hightslide的調用代碼不兼容,于是我又要重新修改以前寫的文章,使舊文章也支持Magic Toolbox。考慮到舊文章的兼容問題,于是我可能嫌麻煩,而被迫繼續使用Hightslide。這就是所謂的插件劫持。而WP短碼正好可以解決這個問題。以下是我想到的解決插件劫持問題的方法。
在使用Hightslide的時候,我先在主題的function.php里定義一個短碼。
這樣我就能通過在文章里插入[img href=http://blog.imbolo.com/”big.jpg”]small.jpg[/img]這樣的代碼來插入帶有Hightslide效果的圖片。當我轉用Magic Toolbox后,我只需要把短碼修改一下,變成:
通過修改一次代碼,我所有采用WP短碼插入的Highslide效果都將轉變成Magic Toolbox的效果。同樣的,如果想在Magic Toolbox的基礎上再進行改變,我也是只需要修改我定義的WP短碼就可以了。
后記
對很多剛開始用WordPress的人來說,大多數人是不會注重以后的升級的(包括我),這也造成很多人在文章多了以后遇到了插件劫持。我希望看過這篇文章的朋友都能重視這個問題,并在以后的日子里盡量避開它。雖然在開始的時候會麻煩點,但能對以后的更新帶來很大的方便。
另外提醒一下,用WP短碼來進行不同插件的過渡的方法只使用于完全由瀏覽器實現效果的插件,對需要在后臺進行二次處理的插件是無效的,如WP-Syntax。
本文所用的例子不能代表Hightslide和Magic Toolbox在實際使用上的優劣,請大家根據自己的情況自行選用插件。