WordPress

WordPress需要會寫程式嗎?多數功能不用寫程式,少數才要碰程式

很多人一聽說 WordPress 是用 PHP 寫成的,就直接跳到一個結論:想架站,得先把程式學起來,不然碰都不敢碰。這個推論聽起來很合理,其實中間漏了一大截。

打開後台的第一眼,滿滿的選單、外掛列表,甚至系統資訊裡還寫著「PHP 版本 8.3」這種字眼,很容易讓沒寫過程式的人心裡一沉,覺得少了這門技能就不該碰任何按鈕。其實,WordPress需要會寫程式嗎這個問題,答案要分兩層看,系統本身是用什麼語言寫成,跟操作它的人要會什麼,是兩件不同的事,就像會開車不代表要懂引擎怎麼造。連 WordPress.org 自己的學習平台,都把「一般使用者」跟「開發者」拆成不同的學習路徑,讀完這篇會清楚知道,不寫程式能做到哪個範圍,卡在哪個環節才真的需要碰 CSS 或 PHP。

WordPress 能力分層:後台操作、佈景主題與外掛不用寫程式就能完成多數網站,只有超出面板的視覺效果才碰 CSS、現成外掛做不到的功能才碰 PHP
多數網站靠後台、佈景主題與外掛就能完成,只有少數視覺客製才碰 CSS、極少數深度功能才碰 PHP。

WordPress需要會寫程式嗎?先分清系統語言與操作方式

WordPress 核心確實是用 PHP 寫成,搭配 MySQL 或 MariaDB 資料庫儲存文章、頁面、使用者這些內容,伺服器則多半跑在 Apache 或 Nginx 上。依 WordPress.org 公布的需求,運作環境建議 PHP 版本 8.3 以上,最低可以在 7.4 以上運作,資料庫建議搭配 MariaDB 10.11 以上或 MySQL 8.0 以上。這些是系統本身寫成的語言與需要的環境,不是坐在電腦前操作後台的人需要具備的能力,寫出這套系統的工程師團隊,跟登入後台發文、換版面的人,需要的技能本來就不是同一件事。

這個推論漏洞就出在把「系統用什麼語言寫成」直接等同「用這套系統的人要會什麼」。就像一台車的引擎是精密的機械工程結晶,開車的人不需要懂內燃機的運作原理,只要會踩油門、打方向盤;WordPress 也是同樣的邏輯,PHP 跟資料庫是引擎,後台的選單與按鈕才是操作者實際接觸的方向盤跟儀表板。

連 WordPress.org 自己都用這套邏輯在規劃學習資源。它的學習平台 Learn WordPress,明確把學習路徑分成三條:一般使用者走的「Start using WordPress」,平台描述為學會基礎就能建立與管理自己的網站;設計與創意工作者走的「Design with WordPress」,描述為解鎖區塊主題的創意潛力;只有開發者走的「Develop with WordPress」,描述為深入程式碼、學習如何擴充這套軟體,三條路徑裡只有這一條把程式碼寫進描述。三條路徑分別對應不同需求的人,等於 WordPress.org 自己就把「用 WordPress」跟「開發 WordPress」當成兩件事在教。

不寫程式的後台操作能完成的網站範圍

WordPress 把整套系統拆成佈景主題(負責外觀)與外掛(負責功能)兩種可以自由替換的零件,操作者只要在後台安裝、設定,不必碰任何一行程式碼,就能組出一個完整的網站:建立頁面、發表文章、上傳圖片、串接聯絡表單,甚至透過 WooCommerce 這款外掛開一間電商購物車,全部可以在後台點選完成。這條不寫程式的路不是將就出來的次等選項,公司官網、部落格、中小型電商這幾種最常見的網站類型,原本就落在這個範圍裡就能做完,不需要另外加碼學程式語言。

國際主題廠商 Elegant Themes 在自家的技術說明裡,列出一份不寫程式就能完成的具體清單:建立網站與線上商店(搭配免費的 WooCommerce 外掛就能開店)、透過切換佈景主題大幅改變版面與外觀、用外掛加入聯絡表單、SEO、線上銷售這類功能(裝一顆外掛通常花不到一分鐘)、排除常見的網站錯誤(像空白頁面、504 逾時這類狀況,多半不難排除),以及備份與搬家網站(用備份外掛定期備份,必要時能還原或搬到新主機)。國際開發服務商 White Label Coders 也提到,Elementor、Beaver Builder 這類頁面建置外掛,用拖拉的方式就能視覺化組出版面,完全不用寫任何程式碼;WooCommerce 則能處理從商品目錄、購物車到金流串接的完整電商流程,同樣不需要工程師介入。

佈景主題負責外觀,外掛負責功能

能讓不寫程式的人照樣管理網站,背後靠的是這套分工:外觀跟功能分開儲存、分開替換,操作者其實是在挑選現成的零件組裝,不是在造零件。佈景主題決定網站看起來長什麼樣,換一套主題,版面風格會整個翻新,但原本寫好的文章跟頁面內容存在資料庫裡,不會因此消失,只是套用了新的外觀而已。

外掛則是反過來,裝了才有、不裝就沒有,想要聯絡表單,裝一個表單外掛;想要 SEO 檢查,裝一個 SEO 外掛;想開電商,裝 WooCommerce。這種「需要什麼功能就加一顆外掛」的模式,讓操作者不用等工程師開發新功能,也不用學怎麼寫功能,只要找到對的外掛裝上去、設定完成就能用。外觀跟功能各自獨立運作,是整套系統維持這種分工的架構基礎。

區塊編輯器的視覺化調整範圍

多數人日常操作 WordPress,主力工具其實是區塊編輯器(Gutenberg)。如果搭配的佈景主題支援完整站台編輯(FSE),使用者可以直接在編輯器裡視覺化調整頁首、頁尾、文章版型、封存頁版型這些過去只有工程師改得動主題檔案才能碰的區域,而且可以把常用的區塊組合存成樣板,之後重複套用,不必每次從頭排一次。

不過也要誠實講清楚落差在哪裡。國際 WordPress 資源網站 WPBeginner 比較過區塊編輯器跟真正的頁面建置外掛。區塊編輯器仰賴主題本身的樣式,雖然可以替個別區塊加自訂 CSS,但不會覆蓋主題原本的設定;頁面建置外掛則能完全接管頁面樣式、不受主題限制,像 SeedProd 這類外掛,甚至換掉主題後版面照樣長得一樣。WPBeginner 也指出區塊編輯器不是拖拉式設計工具,可以新增區塊、把區塊上下移動,但不能用滑鼠自由調整寬高、把區塊拖到彼此旁邊並排,複雜版面得靠群組與欄位區塊慢慢組;頁面建置外掛則能直接用拖拉的方式擺放區塊。

WordPress 開發者 Brian Coords 則從設計哲學的角度解釋這個落差。區塊編輯器刻意「克制」,功能只慢慢加,不是所有底層設定都會開放在介面上,目標是提供一個有限制但精心設計的視覺化編輯體驗,跟頁面建置外掛把每一種 CSS 設定都做成面板選項是不同的取向,不是誰要取代誰——連 NASA 的 nasa.gov 這類大型機構網站,選用的也是 WordPress 核心的區塊編輯器,而不是 Elementor 這類頁面建置外掛。想要的效果做不出來時,一般人的下一步是去裝一顆頁面建置外掛,而不是轉頭去學寫程式。

超出面板選項的視覺效果,才需要動用 CSS

不寫程式這條路,第一個會鬆動的邊界出現在視覺細節上。換色、換字型、調整間距,這幾件事後台的樣式面板、頁面建置外掛的設定面板都能處理;但一旦想要的效果超出面板選項範圍,例如特定的動畫細節、或是精確到像素的排版微調,面板就解決不了,這時候才輪到 CSS 上場。

碰 CSS 不代表要去改主題檔案。WordPress.org 的說明文件指出,從 WordPress 4.7 版本起,後台的「外觀→自訂」畫面就內建一個「附加的 CSS」欄位,可以直接貼入或輸入 CSS,不需要額外裝外掛,也不需要直接編輯主題檔案;輸入的同時右側預覽窗會即時顯示效果,滿意後按下「發佈」才會真正套用到網站上。這個畫面只在傳統佈景主題出現,改用區塊佈景主題的話,依 WordPress.org 的說明,從 6.2 版起要到網站編輯器的「樣式」介面裡加附加的 CSS。這是碰 CSS 風險最低的入門做法,改壞了也不會影響到主題本身的程式碼。

White Label Coders 也點出為什麼有人最終還是得碰 CSS。現成主題雖然外觀專業,但常常跟其他使用同一套主題的網站長得很像,一旦想做出真正獨特的視覺效果,超出基本換色換字型的客製範圍,就需要 CSS 知識才能達成。不過這不代表每個網站都會走到這一步,連 CSS 都不想碰的人,也可以先靠佈景主題與外掛既有的樣式選項就夠用,CSS 只在真的卡在面板做不到的地方才需要介入。

PHP 與 functions.php 真正派上用場的時機

深度客製這條線,真正跨進程式的臨界點出現在「現成外掛做不到」的功能上。舉例來說,電商網站想在商品頁加一個跳過購物車、直接進結帳頁的按鈕,或是要串接某個特定的第三方系統,CSS 已經解決不了,這種時候才真的需要 PHP。

WordPress 開發者文件(Theme Handbook)把這條界線畫得很清楚,如果要實作的功能不論網站設計怎麼換都該存在,最佳做法是把程式碼寫成外掛,而不是塞進主題的 functions.php,因為 WordPress 只會載入啟用中主題的 functions.php,換掉主題,寫在裡面的功能也跟著失效;主題本身的 functions.php 只該放跟這個主題外觀、設計相關的客製化。國際開發服務商 Anglara 舉了一個具體例子:WooCommerce 電商網站預設的「加入購物車」按鈕,沒有直接跳到結帳頁的選項;若想加一個跳過購物車、直接進結帳的按鈕,與其額外裝一顆可能拖慢網站速度的外掛,不如直接用 PHP 在正確的程式碼插入點寫這段邏輯,效能會更好,使用者的結帳動線也更順。

不過碰 PHP 有一個常見的地雷,就是直接改主題的原始檔案。這麼做的風險是,只要主題一更新,所有改動就會被覆蓋、直接消失,等於白費工夫。正確的操作場所是子佈景主題,而不是父主題本身。

子佈景主題讓客製化不被主題更新覆蓋

子佈景主題是父佈景主題的延伸,讓使用者可以修改既有主題的功能與樣式,而不必直接動到主題的原始程式碼。WordPress 開發者文件(Child Themes)說明,直接編輯父主題檔案,下次主題更新時,所做的修改就會消失;改用子佈景主題,客製化的程式碼就獨立存放,不會被主題更新洗掉。

子主題與父主題的 functions.php 會同時被載入,而且子主題的 functions.php 會先載入。這裡有個容易踩的地雷,就是不能把父主題 functions.php 的內容整個複製進子主題,否則會出現函式重複命名的錯誤,讓網站直接掛掉。除了子佈景主題,另一種常見的做法是用 Code Snippets 這類外掛,把 PHP 程式碼片段存進資料庫,獨立於佈景主題之外運作,這樣不會因為換主題或主題更新而消失,還能個別開關某一段程式碼;真的出狀況時,也能開啟安全模式暫停片段執行,先讓網站恢復運作再排查。

現成工具做不到的客製化,外包通常比自學划算

讀到這裡,真正該決定的其實不是「要不要學 PHP」,而是卡在客製化需求時,自己動手學,還是直接找工程師處理。前面幾節列的功能,多數客製化需求其實不需要從頭學一套程式語言就能解決,可以直接請人代勞。

判斷該不該自學的門檻很單純:這件事會不會長期、重複遇到。如果只是一次性的客製化需求,例如上面提到的結帳頁按鈕,就直接請工程師處理,通常比花時間自學划算;尤其是涉及金流、會員系統這類牽一髮動全身的功能,一旦設定錯了,要花更多時間收拾殘局,風險比省下的學習時間還高。

White Label Coders 從服務提供者的角度給了一個判準。專業開發團隊能把複雜需求轉成客製功能,讓使用者不必自己學程式語言,就能取得程式客製化帶來的好處;它的建議是從實際需求出發,而不是從自以為的限制出發,也要把網站日後成長的長遠需求考慮進去;真正要問的不是需不需要會寫程式,而是在自己現有的能力與資源下,怎樣最能達成網站目標。Anglara 則給了一個經驗法則,大約 80% 的網站不寫程式就能用 WordPress 完成;只有剩下約 20% 需要獨特設計或客製功能的網站,才建議交給工程師。

不寫程式打底,局部功能才靠程式碼補強

把前面幾節拼起來看,會發現多數在跑的 WordPress 網站,不是「純不寫程式」或「全部靠工程師」兩選一,而是以後台操作、佈景主題與外掛打底,遇到某個現成工具做不到的細節,才局部補一段 CSS 或 PHP。

這種疊加式的成長路徑,剛好對應 WordPress 後台、佈景主題、外掛各自獨立運作的架構設計。主題、外掛、後台三者各自獨立運作,這正是子佈景主題與外掛式客製化能夠只補一小塊、不影響其他部分的架構基礎,換掉外掛不會動到主題設定,加一段客製功能也不會影響後台原本的操作邏輯。加一段客製程式碼,跟原本靠後台操作管理的其他部分是並存關係,不是替換關係。

所以不必在「完全不碰程式」跟「先學會寫程式才敢架站」之間選邊站。多數人真正需要的是先用不寫程式的方式把網站架起來,公司官網、部落格、中小型電商這幾種常見類型,光靠後台操作就能做完;真正超出這個範圍的那一小塊,等它出現了再單獨處理,不管是自己補一段 CSS,還是找工程師寫一段 PHP,都不影響前面已經架好的其他部分。程式能力從來不是使用 WordPress 的入場券,只是在少數幾個特定時刻,才會派上用場的工具。

常見問答

本區問答由 AI 依文章內容自動整理,僅供快速參考,正式內容仍以全文為準。

WordPress 需要會寫程式嗎?

系統核心確實是用 PHP 寫成,但操作後台是另一回事;多數人靠佈景主題與外掛,在後台安裝、設定就能組出完整網站,不必碰任何一行程式碼,公司官網、部落格、中小型電商這幾種常見類型都在這個範圍內。

不會寫程式可以用 WordPress 做電商網站嗎?

可以,安裝 WooCommerce 外掛就能處理商品目錄、購物車與金流串接的完整流程,不需要工程師介入;換佈景主題也不會讓已建立的商品或頁面內容消失,多數中小型電商光靠後台操作就能架好。

區塊編輯器可以取代頁面建置外掛嗎?

不完全行,區塊編輯器仰賴主題本身樣式,只能對個別區塊加簡單自訂 CSS;頁面建置外掛才能完全接管頁面樣式、不受主題限制,也能用拖拉方式自由擺放區塊,區塊編輯器則不能用滑鼠自由調整寬高或把區塊拖到彼此旁邊並排。

WordPress 想自訂 CSS 要改主題檔案嗎?

不用,從 WordPress 4.7 版起,使用傳統佈景主題時,後台「外觀→自訂」畫面內建「附加的 CSS」欄位,可以直接貼入或輸入 CSS 並即時預覽效果,不需要另外裝外掛,也不需要直接編輯主題檔案,改壞也不會影響主題本身的程式碼;區塊佈景主題則是到網站編輯器的「樣式」介面加附加的 CSS。

客製化 PHP 為什麼要用子佈景主題?

直接改父主題的原始檔案,只要主題一更新,所有改動就會被覆蓋消失;改用子佈景主題,客製化的程式碼獨立存放,不會被主題更新洗掉,是 WordPress 開發者文件(Theme Handbook)建議的正確做法。

資料來源
  1. Requirements — WordPress.org
  2. Learning Pathways — Learn WordPress
  3. Customizer — WordPress.org
  4. Version 4.7 — WordPress.org
  5. Styles overview — WordPress.org
  6. Custom Functionality (functions.php) – Theme Handbook — WordPress.org
  7. Child Themes – Theme Handbook — WordPress.org
  8. What You Can (And Can't) Do With WordPress Without Knowing How to Code — Elegant Themes
  9. Do you need to know how to code to build a WordPress website? — White Label Coders
  10. WordPress Block Editor vs Page Builders: What's the Difference? — WPBeginner
  11. The block editor is still not a page builder — Brian Coords
  12. Does WordPress Require Coding? The Honest Answer — Anglara