WordPress 註冊 Email 驗證外掛


記得小時候生病三天就可以生龍活虎,超過 40 歲後一感冒沒有七天以上好不了。上週感冒躺平了整整一個禮拜,症狀緩解後又出現之前得新冠肺炎的腦霧症狀,除了工作無法集中精神外,走路還會頭暈,生病拖累了原本預定的工作進度,還好吃了中藥有慢慢改善,也因此電子報的發刊期間不太固定,還請見諒,只要有體力我一定會努力出刊~

距離 WordCamp Taiwan 剩下不到一個月的時間,我正在如火如荼的製作簡報中,聽到一些朋友說怕會聽不懂所以不敢報名,我就跟他說去 WordCamp 聽演講是其次,重點是在休息時間可以跟同樣在使用 WordPress 但卻是不同產業的朋友交流,聊得來還可以促成日後的合作機會,我的貴人就是這樣跟他在 WordCamp 相認的。

因此,如果 10/14 當天你沒事的話,可以趕快到這邊去搶最後幾張的票,今年報名的速度飛快,一轉眼就快賣光了,證明 WordPress 在台灣的市場一年比一年成長,我有以 WP 開發日常的名義贊助擺攤,如果你當天會出現的話記得來找我,讓我可以當面謝謝你的支持訂閱電子報!

這週開發了兩支新外掛,介紹如下:

WordPress 註冊 Email 驗證外掛

前陣子朋友的網站一直深受假帳號註冊的困擾,雖然沒有造成實質上的損失,但卻增加了管理成本,特別是在活動期間這些假帳號開始洗抽獎資格,進而影響到真實會員的權益。雖然後來裝上了機器人驗證與 Email 信件驗證來排除該問題,但對於使用上多少還是有些不便利。

對註冊的會員來說需要通過 reCAPTCHA 的考題,然後還要再開啟信箱點選驗證信才能開通帳號,對管理員來說設定 reCAPTCHA 也有一定的申請步驟跟流程,於是我就在思考有沒有更快速又便利的解決方案。

何謂有效的 Email?我將它定義為可以收得到信的電子郵件,至於該如何確定這個信箱可以收信,很簡單,實際發信過去看看,如果對方信箱回應的狀態碼是正確的,那麼這個 Email 就是有效,抱持著這個思路,我跟夥伴開發了 WP Mail Checker 外掛,運作畫面如下:

只要啟用外掛後,所有電子郵件欄位就會在使用者輸入時同步進行檢查,檢查的方式是透過 API 進行呼叫,流程是先進行 DNS 檢查信箱網址,通過的話再使用程式實際發信測試,如果測試回垂結果告知不能收信,就會返回如上圖的錯誤訊息,要求使用者更換一個信箱。

除此之外,WooCommerce 的結帳欄位、登入註冊表單中的電子郵件也會做這個檢查,準確的說是只要有需要輸入電子郵件的地方,在外掛啟用後都會自動加入發信測試判斷,身為管理者你的設定成本是零,而會員也不用再實際去收件後點擊驗證連結,藉此降低註冊的阻力:

後來發現這樣的做法雖然可以避免輸入收不到信的信箱,但現在有許多一次性的臨時信箱可以使用,我們的解決辦法是在後台提供設定項來設定能夠註冊的信箱網址,像是限定 gmail 或是 hotmail,如果站長不介意註冊者使用臨時信箱註冊,留空不設定即可:

我們希望把驗證電子郵件這件事做到最單純,不管是對註冊者還是管理者都一樣,能夠用最少的步驟完成驗證信箱是我們設計這支外掛的目標。該外掛目前還在進行更多的測試,如果你有這樣的需求可以來信跟我說,我會在正式釋出後的第一時間通知你!

WordPress Meta Pixel 設定外掛

有在處理廣告投放需求的朋友應該聽過 Meta 像素的設定,前陣子幫忙客戶設定後才知道原來現在除了透過瀏覽器端的追蹤,還可以從伺服器這邊來傳送相關的事件,避免因為瀏覽器本身的限制而讓追蹤失敗。

透過伺服器傳送的方式叫做轉換 API,他有一系列的事件可以設定,像是購物網站加入購物車、購買等事件,或是也可以自訂客製化的事件,然後每個事件可以加入相對應的參數,就能在企業管理平台看到對應的數據。

目前該功能最多人使用的應該是 PixelYourSite 這支外掛,安裝數有超過 40 萬,而 Meta 本身也有提供 facebook-for-woocommerce 的外掛,這兩支外掛可以設定的功能很多,尤其是前者,提供除了 Meta 以外的追蹤設定,像是 Google Analytics、Google Ads,甚至還有 Pinterest 與 TikTok。

但也因為可以支援的管道很多,每個管道的設定環境有有點不太一樣,因此在設定事件時會看到所有管道的設定選項,如果單純只是想用 Meta 像素的話這個設定介面比較不直覺,容易被太多的選項干擾。

抱持著這樣的出發點,我們開發了一款全新的外掛名為 WP Meta Pixel,顧名思義就是只專注在 Meta 像素的設定上,希望讓站長可以以非常簡潔的方式來完成設定,並且不用寫任何一行程式碼就能完成事件追蹤,操作介面如下:

1. 新增像素

從左側 Meta Pixel 選單點選新增,在文章標題的地方輸入像素 ID,並將狀態設定為啟用,這樣就完成像素基底程式碼的安裝,在網站上的所有頁面都會置入該像素程式碼:

2. 設定標準事件與觸發頁面

接下來點選啟用事件,選擇事件的類型以及會觸發該事件的所在頁面,事件數量沒有上限,同一個事件也能在多個頁面進行觸發:

3.設定轉換 API

為了可以更精準的取得事件觸發的成效,該外掛也整合了轉換 API 的設定,只要點選啟用後,把事件管理後台中的 Token 貼入即可:

4.設定自訂事件與觸發頁面

除了 Meta 的標準事件外,還可以依照需求加入自訂事件,這樣在事件管理後台中就能方便辨識:

WP Meta Pixel 會自動去帶入使用者的電子郵件、造訪 IP 位置,一些比較特殊的事件像是加入願望清單、訂閱等也會支援 WooCommerce 常見的相關外掛,讓事件追蹤可以更完整的支援 WordPress 生態系。

如果你最近剛好有設定 Meta Pixel 的需求並且覺得現有的解決方案都不好用,歡迎來信跟我說,我會在該外掛正式釋出後通知你!

-

最近朋友凹我幫他宣傳一下徵才訊息:https://www.linkedin.com/jobs/view/3712795506/

他們主要在做 AI 相關的產品,需要一堆我看不懂的技術,像是 LangChain、LLM、LLaMA-2 等一堆 L 的知識,產品本身主要是協助電商平台的銷售,如果你略懂機器學習、對新創公司擁有無限的憧憬,趕緊去跳坑吧!我們下期見!

WordPress 開發日常

Read more from WordPress 開發日常

在先前的文章中提到我有用一套 AI 機器人服務 Chatbase,這陣子終於把它整合到 LINE 官方帳號裡面,用起來感覺還不錯,我還額外開發了一支 WordPress 外掛來整合 Chatbase API,並且設計了一些機制來符合自己的業務邏輯,文末附上外掛下載連結與使用說明。 網頁好讀版:https://oberonlai.blog/wordpress-line-ai-bot/ Chatbase 簡介 Chatbase 是一套整合 OpenAI API 的客服機器人,能夠在自己的網頁上提供對話視窗,讓潛在客戶直接透過該視窗進行詢問,對網站經營者來說可以解決他們自行開發對話介面以及 API 串接的成本,能直將使用機器人客服在第一時間解決客戶的問題。 雖然身為開發者有能力自行開發,但讓我最頭痛的是訓練的部分很麻煩,要先整理訓練資料並轉成 JSON 格式,然後還需要上傳跟測試微調後的模型,再加上訓練的時間也需要計費,目前我的網站上雖然只有兩百篇文章,但光是想到要整理就覺得累人。 因此評估下來我決定還是讓 Chatbase...

從接案到賣產品的轉變之路 我不是去賣水果XD,上圖是答應自己成交第一筆單之後獲得的獎勵:麝香葡萄 自從接案之路比較穩定之後,我開始嘗試把之前做過的功能整理出來,變成商業外掛販售給更多客戶。原本以為這樣的作法跟服務固定客戶沒什麼差別,除了客戶數量變多一些,又能突破收入天花板,但實際賣了兩年多之後,只能說現實很骨感XD 我販售的外掛主要是做 WooCommerce 的訂單通知,讓顧客在下單之後可以在 LINE 裡面收到訂單資訊,也可以用手機簡訊來通知,然後通知的內文可以帶入訂單的參數,讓傳出去的訊息是客製化的內容。 由於 LINE 在台灣的市占率高達 97%,基本上有在做電商的都會開 LINE 官方帳號,因此訂單通知的需求理論上應該不會少,為了測試市場規模,我先寫了ㄧ篇文章看看有沒有人要,結果還真的收到不少來信詢問,於是便開始著手進行開發。 然後開發到一半的時候發生檔案誤刪的悲劇,為了爭一口氣咬著牙全部重寫,花費了幾個月的時間終於完成了第一版,完成後開始發信給之前有來詢問的人,算一算如果來問的全都買單,該年應該就可以提早退休了XD 最後第一批寄送名單成交率大概不到...

好久不見,最近過得好嗎? 你可能有發現到 WordPress 開發日常許久未更新了,大概是從去年十月開始停更,會停更的主要原因滿多的,像是 ChatGPT 的崛起、工作的安排、職涯發展的規劃等等,但總歸一句就是懶了XD 之前因為每週五都一定要產出文章來,礙於截稿時間讓我覺得自己寫的東西為了要快速產出因此過於淺薄,而現在這些淺薄的知識全部都能透過 AI 得到,於是開始懷疑自我寫作的價值,在停更期間我也慢慢把電子報拋諸腦後,雖然工作還是會做筆記,但就沒動力整理出來。 直到上半年在回顧工作時,發現到累積了不少東西,再加上前陣子感冒,新冠的腦霧後遺症又再次發作,為了活化自己的大腦,決定還是開始寫些東西來刺激大腦,透過寫作來自省與紀錄。 因此未來的寫作方向會跟以往不太一樣,我會針對專案的經驗以及學習到的東西來分享,並且盡可能的詳述開發過程與思考方向,希望可以寫出 ChatGPT 比較不容易問到的東西,雖然可能過不久當它爬到本文後就被收編了XD...