iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 29
1
自我挑戰組

WordPress 客製化從 0 開始系列 第 29

Day 29 WordPress 的起始佈景主題 (starter theme)

  • 分享至 

  • xImage
  •  

大家好,我是 Eric。

前面 4 週,我們從 HTML 到 PHP,介紹了有關 WordPress 客製化所需要的基本知識。今天,我們就來進入最後的實作:起始佈景主題 (starter theme)。

為什麼使用起始佈景主題

起始佈景主題,不同於一般佈景主題,除了基本的版面配置以及基本的佈景主題功能外,沒有任何的樣式設定。這樣的特性賦予開發者相當大的彈性,如果是習慣從線框稿、設計稿、切版等開發流程的開發者,很適合透過起始佈景主題作為出發。

我從第三個網站專案開始使用起始佈景主題,在這之前我曾試過子佈景主題與 Oxygen 來開發,但為了要符合同事繪製的設計稿,同時又不希望網站因為頁面編輯器過於臃腫,因此決定透過起始佈景主題,來實現彈性更大的客製化。

另外,_s 這款佈景主題已有許多前人留下的註解,因此很適合拿來作為佈景主題開發的基礎教科書。

佈景主題介紹 _s

_s(發音: Underscore S) 是一款由 Automattic (也就是創造 WordPress 的公司) 釋出的起始佈景主題,至今仍持續有更新。除了可以在前面的網頁中下載已編譯完過的檔案外,也可以從 GitHub 上下載原始專案,並手動將專案中的「_s」取代為你的佈景主題名稱。

這款佈景主題可以直接編輯原始檔,不需要像另一款起始佈景主題 Sage 一樣,需要安裝其他相依性套件來將佈景主題編譯成可使用的樣子。

以 _s 開發佈景主題

首先,先前往 _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 的編碼規範;而作為這次系列文的結尾,也會在最後稍微分享我目前如何建置自己的開發環境,如果對開發環境有更好建議的話,也不吝跟我分享。


上一篇
Day 28 幫 WordPress 佈景主題與外掛加上多國語系支援
下一篇
Day 30 WordPress 的 PHP 程式碼撰寫標準與本地開發環境建置
系列文
WordPress 客製化從 0 開始30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言