大家好,我是 Eric。
前面 4 週,我們從 HTML 到 PHP,介紹了有關 WordPress 客製化所需要的基本知識。今天,我們就來進入最後的實作:起始佈景主題 (starter theme)。
起始佈景主題,不同於一般佈景主題,除了基本的版面配置以及基本的佈景主題功能外,沒有任何的樣式設定。這樣的特性賦予開發者相當大的彈性,如果是習慣從線框稿、設計稿、切版等開發流程的開發者,很適合透過起始佈景主題作為出發。
我從第三個網站專案開始使用起始佈景主題,在這之前我曾試過子佈景主題與 Oxygen 來開發,但為了要符合同事繪製的設計稿,同時又不希望網站因為頁面編輯器過於臃腫,因此決定透過起始佈景主題,來實現彈性更大的客製化。
另外,_s 這款佈景主題已有許多前人留下的註解,因此很適合拿來作為佈景主題開發的基礎教科書。
_s(發音: Underscore S) 是一款由 Automattic (也就是創造 WordPress 的公司) 釋出的起始佈景主題,至今仍持續有更新。除了可以在前面的網頁中下載已編譯完過的檔案外,也可以從 GitHub 上下載原始專案,並手動將專案中的「_s」取代為你的佈景主題名稱。
這款佈景主題可以直接編輯原始檔,不需要像另一款起始佈景主題 Sage 一樣,需要安裝其他相依性套件來將佈景主題編譯成可使用的樣子。
首先,先前往 _s 的網站下載最新版的 _s 佈景主題。你可以直接透過頁面上的表單填入部分佈景主題標頭,如佈景主題名稱、代稱、作者、作者網站等。如果想要使用 SCSS 來輔助開發,可以勾選 _sassify! 的選項,這樣佈景主題就會包含 sass 資料夾。
接著,便可以將解壓縮後的佈景主題,放入 wp-content/themes
中,啟用佈景主題後,你就會看到起始佈景主題「空白」的樣子。
再來,打開 functions.php
,在 {主題名稱}_setup
函式中,修改、增減佈景主題支援的功能。把基本的佈景主題支援設定完畢後,就能開始編輯 sass 資料夾中的 scss 檔案了。
在 functions.php
中,我們可以透過 {主題名稱}_setup
中的 register_nav_menus
註冊多個不同的選單,並透過 wp_nav_menu
的方式,將選單嵌入在頁面的範本檔案中。
在 inc/template-tags.php
中,可以定義用在頁面範本中的標籤,例如 {主題名稱}_posted_by()
便是定義文章作者在頁面上顯示所使用的標籤、{主題名稱}_post_thumbnail()
則定義精選圖片的標記方式。
如同佈景主題開發時的起始佈景主題,開發外掛也有基礎範本,可以參考 WordPress 的開發人員手冊。如果對於開發外掛有興趣的人,可以從上述連結的 4 種外掛範本開始學習。
其實在 WordPress 中,佈景主題與外掛能做的事幾乎一樣,市面上的頁面編輯器便是透過外掛來達到類似佈景主題的效果。在開發的過程中,可以將佈景主題的 functions.php
以及 inc
路徑中的檔案當成小外掛。
今天介紹了起始佈景主題,我們等於把 WordPress 客製化 (主要是佈景主題) 的基礎畫上句點,也提供了我自己在開發佈景主題時使用的流程。明天,作為 PHP 篇章的結尾,不免俗的要再提一下 WordPress 對 PHP 的編碼規範;而作為這次系列文的結尾,也會在最後稍微分享我目前如何建置自己的開發環境,如果對開發環境有更好建議的話,也不吝跟我分享。