自從 SO Personal 主題上線之後,我就開始了一連串的主題製作學習筆記系列文章,直到本篇,已經是第十篇了,我想,也該做個完結,尤其在 WordPress 3.0 新版本即將上線之前。

本篇文章主要介紹 SO Personal 主題的其他功能,雖然都是很小的一些技巧,但是記錄於此,除了給自己做個筆記之外,也希望能分享給所有對於 WordPress 主題製作有興趣的朋友們;順便跟大家說聲: SO Personal 主題即將正式公開發佈,屆時大家便可自由下載使用!

 

一、讓你的主題支援模組(Widget)

目前幾乎所有的主題都已經支援後台模組增減的功能,我們當然也要為自己辛苦製作的主題加上模組功能囉,請你跟我這樣做,打開主題函式庫檔案(functions.php),在檔案裏加上以下代碼:

這裡要跟大家解釋一下,你可以在register_sidebar();括弧裏填上你想顯示的側邊欄模組數量,譬如 2 。

不過呢,SO Personal 主題的側邊欄模組使用了多區域的模組,那麼我又是怎麼寫的呢?請你繼續看下去。

 

大家應該有發現,SO Personal 主題的首頁和標籤頁及文章彙整頁面(分類和分月……等),還有其他分頁的側邊欄模組,都與單篇文章頁面的模組,顯示的內容都不一樣,而且我還在所有頁面(包括單篇文章頁面)的底部加上了模組。那麼我又是怎麼寫這樣的函數呢?以下代碼是我的模組函數:

還記得我們前面有提到一般模組的代碼寫法嗎?是的,就是那個很關鍵的register_sidebar();,你可以在括弧當中加上許多功能函式,array代表的是「數組」、「陣列」的意思,你可以在這當中添加模組的數量以及排列方式、樣式,name是你給這個模組的命名,這樣我們才能在index.phpsingle.phpfooter.php檔案裏呼叫模組使用,這裡之所以提到footer.php檔案,是因為我將出現在頁底的小工具模組放在這個檔案裏調用。

這段函式裏,最重要的就是register_sidebar括弧裏出現的第一和第二的nameid,因為這跟我們在以上三個檔案裏需要呼叫調用的代碼有關,也跟 CSS 樣式表有關。

這裡特別說明的是,name是在後台的主題模組頁面顯示的模組名稱,id是我給這個模組的編號,如果我要從前台調用,就會使用id來調用。

 

那麼,我們該如何調用模組函數呢?請你打開 index.php 檔案,將

改成

為什麼要這樣改呢?因為我在functions.php函數庫裏添加的第二段模組函數,記得嗎,我將那段函數的id命名為sidebar了,因為這個模組的函數只會出現在一般側邊欄裏,它跟單篇文章(single.php)的模組內容是不一樣的。

接下來,再麻煩各位開啟 sidebar.php 側邊欄檔案,我們要在此檔案裏調用一般側邊欄模組函數,請你添加以下代碼:

在我們剛啟用一個新主題的時候,側邊欄通常不會有任何內容,我們必須添加一些預設的內容,才不會將邊欄模組隱藏起來造成了側欄空白的奇怪樣式,所以我為這個邊欄模組加入了預設顯示的內容,這些模組內容在你自後台模組添加 Widget 之後就會消失,不必擔心。

現在,大家可以幫自己的主題添加模組功能囉,手作試驗一下,這樣你才會更清楚模組的運用。

現在請大家翻頁繼續閱讀,RSS訂閱的朋友們,請連至本文繼續收看。