各位大大安安!
今天這份電子報本來應該是鐵人賽的最後一篇文章,但因為文章寫到頭暈眼花,一整個算錯了剩餘篇數,於是就多出一篇來,剛好拿來當第一份電子報的發刊XD
正文開始前先跟訂閱 WordPress 開發週報的朋友說聲抱歉,我以為當有人訂閱時會收到 Email 通知,一直沒有收到通知我還以為沒有半個人訂閱,再加上這陣子都在忙鐵人賽的文章,因此到了今天才發出第一份電子報,還請各位見諒,接下來我會固定在每週五寄出,希望電子報的內容可以幫助到大家。
今天想跟大家分享我是如何學習 WordPress 開發的,先跟大家自我介紹一下我的背景,我不是念資訊相關科系的本科生,我大學是主修應用外文系的商用英文,基本上跟軟體開發扯不上半點邊,只是因為剛好大三的電腦課學了 Dreamweaver 一款用來做網頁的軟體,從此迷上設計這個領域。
我大概到了大四才知道自己想從事平面設計這個產業,對,不是網頁設計而是平面設計,因為看了很多設計大師的作品,覺得做設計超酷超帥又超自由,所以當我退伍後都是找設計助理相關的工作,因為沒有經歷也沒有學歷,工作真是他媽的難找,最後去了一間高級日式餐廳旗下的設計公司做設計助理,然後做了兩個禮拜後就被資遣,當時覺得社會大學實在有夠難混。
於是就開始了全職接案與全職工作的人生循環,接案接不下去跑去上班,上班覺得太無聊又跑回去接案,直到認識了 WordPress 之後才開始有所改變,也逐漸從以設計為職志轉變為程式開發,我學習 WordPress 經歷過以下幾個階段:
跟大家剛開始接觸 WordPress 一樣,當第一次把 WordPress 安裝完成後,迎面而來的就是有永遠挑不完的佈景主題跟什麼功能都有的花花世界,我曾經做過 Visual Composer 的聯盟行銷,同時也賣中文化的語系檔,那時候就很想把這些工具分享給在接案的朋友,因為實在是太好用了,隨便選幾個版套型花十分鐘改一下內容,就能拿去給客戶提案甚至是當成初稿交差,接案用 WordPress 實在太方便。
幾個案子實戰下來,大概就能知道 WordPress 適用於哪些案件以及它的侷限,比較棘手的是找不到合適的外掛可以做,或是有類似的外掛但功能無法百分之百的滿足客戶需求,縱使還是可以靠著業務技巧來矇混過關,但總是會有遇到無法解決的問題,於是開始試著去修改一些程式碼。
WordPress 除了有龐大的外掛可以使用外,最關鍵的是在 Stackoverflow 上面有無數的大大貢獻的免費程式碼可以拿來複製貼上,更不用說還有許多工程師會分享他們的技術教學,只要英文關鍵字打得對,都可以找到現成的程式碼複製貼上即可使用,然後再修修改改組成自己要的功能,就能解決大部分的客戶需求。
在這時期最棘手的部分就是完全不明白貼過來的程式碼在做什麼事情,萬一出了問題也改不動,只能放棄這段程式碼去尋找其他的解答,有時候尋找的過程所花費的時間,搞不好比認真搞懂程式的寫法還要來得久,當這種狀況常出現時,就勢必要跟程式碼正面對決了。
我會開始把貼回來的程式碼一行一行拆解看它到底在幹嘛,然後有沒看過的寫法就丟進 Google 查,雖然會花比較多時間在研究這些現成的解決方案,但這些時間本來就是應該要投資的,只是因為 WordPress 太方便了所以讓我都省略了這些基本功。
同時也開始閱讀 WordPress 官方提供的開發文件,雖然無法立刻記得裡面的所有內容,但可以增加開發相關的詞彙讓之後找解答時有更多的關鍵字可以使用,也能對於開發 WordPress 的流程有一個清楚的方法與架構。
我的學習歷程比較像是從結果開始回推,因為要實現某個特定的功能,所以必須要去找相對應的解決方案,這樣的好處是可以快速取得成果,但弱勢的地方在於基礎薄弱無法舉一反三,也很容易寫出不安全的程式碼,因此如果你今天要想要開始學習 WordPress 開發,我會建議以下幾個原則:
設定開發目標:首先要設定好終點,不管是要完成一個客戶的案子,或是要開發自己的 Side Project,沒有這個目標就沒有學習的動力,而接案會是一個很強的動力來源,無論是為了賺錢還是做不出來就會被吉,先找到一個目標絕對是學習的首要之務。
跟程式交朋友:很多時候為了結案,一找到解決方案就複製貼上交差是我的壞習慣,因為我不想看程式,覺得自己看不懂,久而久之就更不想看。當有這樣的心情時先靜下心來,把通訊軟體全部關掉,專注面對眼前的程式碼,看不懂的就查,當全部都理解之後的爽快感會讓人上癮,從此就再也不會害怕了。
限縮資訊來源:現今的資訊量不是怕你沒東西讀,而是爆炸多到會讓人焦慮以及產生一種自己好像什麼都不知道的匱乏感,因此我還是喜歡看實體書或電子書,作者會有脈絡的把所有知識做整理,看完後會比較踏實,雖然網路資訊更新即時,但一堆跳出的連結總是會偏離原本的學習主題,剛開始學習不需要這麼多的資訊量,先把最關鍵最基礎的知識建立起來,等到有餘裕時再去追求新知,也才能看得懂別人在討論什麼。
整理教學文:所謂的教學文並非只是單純紀錄官方文件寫的內容,而是用自己的話、結合自己設計的案例來介紹這門技術該如何使用,當能用自己的話解釋出來時才代表是真正的理解,而為了要寫出這樣的教學文,在寫的當下會需要釐清自己還不懂的部分,因此教學文看起來像是分享,但背後的最大目的是督促自己學習。
以上幾個學習原則分享給大家參考,如果有更好的學習方式或是想知道有哪些具體的WordPress 學習資源也歡迎回信交流,我們下週五見!
過去我一直覺得,接收管理員通知用 Email 就夠了。如果訂單量不大,靠主機或第三方發信服務,其實也能運作得很順利。但後來與客戶訪談時發現,很多老闆根本不會用 Email,就算有,也常被廣告信和雜訊淹沒。 我自己試過很多收信軟體,試圖藉由工具來過濾重要訊息,但過不了多久,「重要信件」又變得滿天飛。雖然我會每天安排時間檢查,但有些緊急事件,例如新訂單通知,我希望能即時知道。 手機上的 App 通常只能根據「有新郵件」來推播,還找不到能針對「特定寄件者」推播的服務。因此我預設會把 App 的通知功能關掉,避免不緊急的訊息干擾我。 用 LINE 收通知也一樣,目前沒辦法只針對特定對象推播,只能全開或全關。這讓我想過是不是該換個沒那麼常用的通訊軟體來接收通知,但又懶得裝新 App,只好……自己開發一個外掛來解決了(?) 實機展示 要能在手機上接收到訂單通知,有三個關鍵技術:Web Push、Service Worker,以及 Progressive Web App,這邊先跳過他們,如果你也想在手機上收到訂單通知可以參考以下步驟: 1. 下載 DWP 網站助理...
創業的時光真是飛快得不可思議。明明才剛寫完第一個月的回顧,怎麼一下子又到了第二個月。這個月我全力投入開發新產品,原以為靠 AI 協助,兩週內就能搞定,沒想到一弄就是一整個月,還卡關連連,導致原本預定的行銷工作停滯不前。但我真的很喜歡開發產品的過程,彷彿在解謎闖關,每解開一個難題就多學一點新知,形成一種自我成長的良性循環。 工作佔比 四月份總工作時數為 65.64 小時,比三月增加了 24 小時。各類工作佔比如下: 行銷:30% 產品更新:7% 產品研發:63% 其中一個週末我整整兩天都在工作,有幾天甚至加班到晚上七點多。比較難統計的是晚上洗完澡到就寢前,還是會用平板跟 AI 討論白天卡住的問題,甚至請它幫我先寫好隔天要用的功能。若將這些時數也納入,總工時應該超過 70 小時。 我覺得比較理想的工作狀態是一個月大約 50 小時。像加班的那個週末,一直卡關讓我很煩躁,為了突破瓶頸逼自己解完才能休息,結果越急越解不開。後來乾脆休息一天,結果回來上工十分鐘就解決了。 所以還是得適時讓自己充電,給大腦一點空白,真正需要動腦時才有空間處理複雜問題。 行銷 內容行銷...
最近剛完成第一個完全由 AI 協助我開發的 WordPress 外掛,想說應該可以來整理一下這次開發的工作流程以及用到的工具,整體的心得是有 AI 實在是快超多,開發的速度跟飛的一樣,尤其是邊做邊想到新功能時,問一下複製貼上就能搞定,就像在裝外掛。 但不變的是 AI 跟我一樣會卡關,雖然每次它的解釋都好像解決了,但實際上測試就是無法,一直回饋給它後丟出新的解法,結果還是不行,這時候就要停下來自己看程式碼,然後思考是哪一行可能會出問題。 發現有可能造成問題的地方,再拿回去問 AI,這時候它就會說:「沒錯,你發現到問題的關鍵了!」我心裡想的是這應該是你要告訴我的啊 🤣,但整體而言這樣的開發節奏讓我可以很快的進入心流,不用擔心程式碼細節而是產品的方向,真的是回不去沒有 AI 協助的日子了~ 以下我從企劃、開發以及除錯階段,來說明我是如何用 AI 來設計這支外掛的。 企劃階段 這支外掛的主要功能是延續我上一個產品的概念,契機是因為 LINE Notify...