Physical Address

304 North Cardinal St.
Dorchester Center, MA 02124

[WordPress 筆記] Day 3 Code Snippets

為什麼要懂 Code Snippets?

我們在網站上時常會看到許多有關 WordPress 的小功能,是我們不需要、也不希望額外安裝外掛取得的,譬如:移除版本資訊、在文章有關鍵字時嵌入特定警語等。

多數的文章會告訴你,可以透過編輯佈景主題的 functions.php 檔案,啟用特定功能。但在前一篇文章中我們提及了「為何不要直接修改當前佈景主題的 functions.php」,並提供了子佈景主題作為解決方案。

但是對於接案者、團隊,或是需要管理大量網站的人來說,如果要為每個網站個別製作子佈景主題,並不是一個有效率的方式。相較之下,自行開發外掛是一個不錯的選擇,而在多數的情況下,透過 Code Snippets 管理代碼,一樣可以達到近似的效果。

什麼是 Code Snippets

Code Snippets 會將你的代碼儲存於資料庫中,並且在需要的時候執行。事實上,如果你的佈景主題具備 [自訂 CSS] 的功能,這也是一種將語法儲存於資料庫中,在特定條件中再執行的做法。

根據開發者的說法,這種集中管理代碼的方式比起在個別頁面執行 PHP 程式要來得好。也就是說,如果你基於某種原因,希望在頁面或文章中執行 PHP 程式,使用 Code Snippets 還是會比尋找「執行 PHP」(execute PHP) 類型的外掛還要務實。

如何使用 Code Snippets

在安裝並啟用 Code Snippets 後,你的控制台會出現「程式碼片段 (Code Snippets)」這個文章類型 (post type)。點選 [全部程式碼片段] 後,會出現以下畫面(由於本網站是建構於多站網路下,因此會出現 [已於多站網路中共用],一般網站並不會出現):

安裝完外掛後,會預設提供 4 種範例作為參考,我們以〈JavaScript 程式碼片段〉為例:

從這個範例中,我們可以看到在介紹勾點時曾經提到過的 add_action。是的,Code Snippets 最主要的功能,就是可以管理各種勾點。

使用 Code Snippets 的注意事項

我自己在使用 Code Snippets 的過程中,曾經踩過幾次雷,在這裡先一併整理一下:

  • Code Snippets 不能拿來新增文章類型 (register post types),會產生錯誤

小結

我自己在學習使用 Code Snippets 上,並沒有太大的障礙,最主要是因為這種「將代碼集中管理」的概念,其實與 Google Tag Manager 以及其他代碼管理工具的設計思維很像。只要掌握勾點(相當於 GTM 中的「觸發條件」)的概念,便可以實現許多客製化的小功能。

除了實現小功能之外,我們會建立子佈景主題或新的佈景主題,還有另外一個原因:想要針對自己網站的特定內容(例如食譜、影評等),賦予專屬的版面格局。

要完成這件事,我們必須先瞭解,WordPress 作為「內容管理系統」,其最重要的「內容類型 (post type)*」,如何幫助我們完成架構設計上的準備。明天我們繼續討論:內容類型,以外掛 Custom Post Type UI 為示範說明。

*Post type 目前的通譯名稱為「文章類型」,但是 post 應為「內容儲存」的單位,因此這個網站將以「內容類型」稱之。

預設圖片
Eric Chuang

正職是廣告行銷人員,因為 Google Tag Manager 的關係開始踏入網站製作的領域,進一步把 WordPress 當成 PHP + HTML + CSS + JavaScript 的學習教材。此外,因為工作的關係,曾經用 Automattic 的 Underscores (_s) 替客戶與公司官網進行全客製化佈景主題開發。

2 則留言

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料