第一次開發 WordPress 就上手

目錄

今天想跟大家分享我是如何學習 WordPress 開發的,先跟大家自我介紹一下我的背景,我不是念資訊相關科系的本科生,我大學是主修應用外文系的商用英文,基本上跟軟體開發扯不上半點邊,只是因為剛好大三的電腦課學了 Dreamweaver 一款用來做網頁的軟體,從此迷上設計這個領域。

我大概到了大四才知道自己想從事平面設計這個產業,對,不是網頁設計而是平面設計,因為看了很多設計大師的作品,覺得做設計超酷超帥又超自由(?),所以當我退伍後都是找設計助理相關的工作,因為沒有經歷也沒有學歷,工作真是有夠難找,最後去了一間高級日式餐廳旗下的設計公司做設計助理,然後做了兩個禮拜後就被資遣,當時覺得社會大學實在有夠難混。

於是就開始了全職接案與全職工作的人生循環,接案接不下去跑去上班,上班覺得太無聊又跑回去接案,直到認識了 WordPress 之後才開始有所改變,也逐漸從以設計為職志轉變為程式開發,我學習 WordPress 經歷過以下幾個階段:

探索期

跟大家剛開始接觸 WordPress 一樣,當第一次把 WordPress 安裝完成後,迎面而來的就是有永遠挑不完的佈景主題跟什麼功能都有的花花世界,我曾經做過 Visual Composer 的聯盟行銷,同時也賣中文化的語系檔,那時候就很想把這些工具分享給在接案的朋友,因為實在是太好用了,隨便選幾個版套型花十分鐘改一下內容,就能拿去給客戶提案甚至是當成初稿交差,接案用 WordPress 實在太方便。

幾個案子實戰下來,大概就能知道 WordPress 適用於哪些案件以及它的侷限,比較棘手的是找不到合適的外掛可以做,或是有類似的外掛但功能無法百分之百的滿足客戶需求,縱使還是可以靠著業務技巧來矇混過關,但總是會有遇到無法解決的問題,於是開始試著去修改一些程式碼。

複製貼上期

WordPress 除了有龐大的外掛可以使用外,最關鍵的是在 Stackoverflow 上面有無數的大大貢獻的免費程式碼可以拿來複製貼上,更不用說還有許多工程師會分享他們的技術教學,只要英文關鍵字打得對,都可以找到現成的程式碼複製貼上即可使用,然後再修修改改組成自己要的功能,就能解決大部分的客戶需求。

在這時期最棘手的部分就是完全不明白貼過來的程式碼在做什麼事情,萬一出了問題也改不動,只能放棄這段程式碼去尋找其他的解答,有時候尋找的過程所花費的時間,搞不好比認真搞懂程式的寫法還要來得久,當這種狀況常出現時,就勢必要跟程式碼正面對決了。

回歸基本期

我會開始把貼回來的程式碼一行一行拆解看它到底在幹嘛,然後有沒看過的寫法就丟進 Google 查,雖然會花比較多時間在研究這些現成的解決方案,但這些時間本來就是應該要投資的,只是因為 WordPress 太方便了所以讓我都省略了這些基本功。

同時也開始閱讀 WordPress 官方提供的開發文件,雖然無法立刻記得裡面的所有內容,但可以增加開發相關的詞彙讓之後找解答時有更多的關鍵字可以使用,也能對於開發 WordPress 的流程有一個清楚的方法與架構。

我的學習歷程比較像是從結果開始回推,因為要實現某個特定的功能,所以必須要去找相對應的解決方案,這樣的好處是可以快速取得成果,但弱勢的地方在於基礎薄弱無法舉一反三,也很容易寫出不安全的程式碼,因此如果你今天要想要開始學習 WordPress 開發,我會建議以下幾個原則:

  1. 設定開發目標:首先要設定好終點,不管是要完成一個客戶的案子,或是要開發自己的 Side Project,沒有這個目標就沒有學習的動力,而接案會是一個很強的動力來源,無論是為了賺錢還是做不出來就會被吉,先找到一個目標絕對是學習的首要之務。
  2. 跟程式交朋友:很多時候為了結案,一找到解決方案就複製貼上交差是我的壞習慣,因為我不想看程式,覺得自己看不懂,久而久之就更不想看。當有這樣的心情時先靜下心來,把通訊軟體全部關掉,專注面對眼前的程式碼,看不懂的就查,當全部都理解之後的爽快感會讓人上癮,從此就再也不會害怕了。
  3. 限縮資訊來源:現今的資訊量不是怕你沒東西讀,而是爆炸多到會讓人焦慮以及產生一種自己好像什麼都不知道的匱乏感,因此我還是喜歡看實體書或電子書,作者會有脈絡的把所有知識做整理,看完後會比較踏實,雖然網路資訊更新即時,但一堆跳出的連結總是會偏離原本的學習主題,剛開始學習不需要這麼多的資訊量,先把最關鍵最基礎的知識建立起來,等到有餘裕時再去追求新知,也才能看得懂別人在討論什麼。
  4. 整理教學文:所謂的教學文並非只是單純紀錄官方文件寫的內容,而是用自己的話、結合自己設計的案例來介紹這門技術該如何使用,當能用自己的話解釋出來時才代表是真正的理解,而為了要寫出這樣的教學文,在寫的當下會需要釐清自己還不懂的部分,因此教學文看起來像是分享,但背後的最大目的是督促自己學習。

以上幾個學習原則分享給大家參考,如果有更好的學習方式或是你想知道有哪些具體的 WordPress 學習資源也歡迎留言交流~

文章標籤Stackoverflow

目錄

賴俊吾 / Oberon Lai
賴俊吾 / Oberon Lai

現為全職 WordPress 工程師,網站開發經歷 11 年,專攻前端工程與 WordPress 佈景主題、外掛客製化開發

訂閱電子報

Hi,我是 Oberon,我會固定在每週五早上發送接案心得以及與 WordPress 相關的電子報,同時也會分享一些實用的開發知識,讓你在 WordPress 的接案路上不孤單!

覺得文章寫得好再幫我鼓個掌吧!

相關文章

如何提升 WordPress REST API 的請求速度

使用勾點 option_active_plugin 來程式化設定需要載入的外掛,藉此在某些特定情境下減少外掛的使用以提升頁面讀取速...

為什麼你不該用 WordPress 的 Meta Query 來做查詢

透過自訂資料表的方式來儲存自訂欄位,對於減輕資料庫的負擔有非常大的幫助,如果是使用 ACF 建立欄位的話市面上也有幾款外掛可以做到...

發佈留言

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

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

專注於分享 WordPress 開發、接案技巧、專案管理等自由工作者必備知識與心得

© 2022 想點創意科技有限公司

Designed by Hend Design | 隱私權政策

訂閱電子報

Hi,我是 Oberon,我會固定在每週五早上發送接案心得以及與 WordPress 相關的電子報,同時也會分享一些實用的開發知識,讓你在 WordPress 的接案路上不孤單!