這事件一開始是在一台 Oracle 的 Arm 主機上發生。網站莫名的會 502,沒有在 php_error.log 裡留下任何記錄,再來也只有「單一站」會這樣!該主機上的其他網站都沒事,實在詭異。 原本以為是 Oracle 的網路問題,但隨著這陣子開始升級不少主機的 PHP 版本到 8.0 後,這 …
分類彙整: 技術相關
[WooCommerce] 建立客製化結帳欄位、儲存欄位與顯示欄位資訊的開發流程整理
WooCommerce 這個「結帳欄位客製化」一直都是個不敗的議題。因為真的是每個電商網站中算最核心有變化的地方。 先不論金流、物流會利用這欄位來記錄資訊,有的店家想要知道結帳客人的生日又或是想問問一些關於產品的問題回饋等。這些操作都會在結帳頁面的欄位上做更動。 這篇筆記不是要把細節展開(過往筆記都 …
[Ubuntu] 編譯 Atop 與安裝的方法
也不知道為啥稍早 Ubuntu 22.04 Server 的機器無法直接使用 apt install atop 來安裝 atop 這個查詢硬碟使用狀況的指令。(如果可以的人應該就不會繼續看這篇了) 我就直接找原始碼來編譯與安裝了! 首先去下載頁面 抓當下最新版(Version 2.9.0) wget …
[WooCommerce] 後台使用貨號(SKU)搜尋訂單的方法
預設使用 WP_List_Table 建立的列表清單,搜尋功能並不是最完整。 WooCommerce 這邊還有提供一個事件過濾器的 Hook 來強化搜尋的結果: woocommerce_shop_order_search_results 使用這個 Hook 來加入貨號(SKU)條件的方法如下: fu …
[WooCommerce] 後台整理術:客製化使用者(顧客)資料顯示欄位與強化搜尋功能的方法
寫這篇就不得不說 WordPress 在「使用者」這塊後台工具其實還.. 很原始,預設沒有太多可以調整的地方。尤其直覺上應該是顯示「姓名」的那個「顯示名稱」欄位,其實固定是用兩個欄位「姓氏」與「名字」去組合出來的,中文使用者明顯會看到姓名中間有一個空格。 如果對 WooCommerce 使用者權限的 …
[WooCommerce] 取得訂單當下使用的 Coupon 優惠券折扣碼資訊
WooCommerce 後台可以新增建立很多組優惠折扣碼。而建立的標題就等於該折扣碼。但訂單記錄的時候只有把折扣碼(也就是標題)給寫進訂單裡。 如果要開放顧客也查看這個折扣碼的描述等資訊,就要把折扣碼資訊也在建立訂單當下寫進去訂單裡。避免如果日後同一折扣碼,但有不同操作,又或是刪除了折扣碼查詢不到當 …
[WooCommerce] 結帳時取得顧客於購物車與結帳頁面當下狀態資訊的方法
這需求真的幾乎可以說是每次進行客製化過程一定會遇到的開發技巧!! 比方說最基本的從顧客下單填寫的郵遞區號來判斷是台灣離島還是本島,用來計算運費。 又或是有條件的(比方說客戶消費等級)來開放某些金物流選項等。 過去有寫過不少這樣案例的筆記: [WooCommerce] 程式化處理購物車運費折扣 – 滿 …
[WooCommerce] 下單數位虛擬商品後訂單自動轉完成狀態的方法
預設內建針對數位虛擬商品下單流程還是有一個確認是否收到款項的過程。 結帳後建立訂單到客戶刷卡完,通常金流這塊,WooCommerce 網站只會讓該筆訂單到「處理中」的狀態。 雖然這也沒有什麼問題,就是通常有兩個以下情況: 完成訂單後才會開通某個商品更進階權限的需求 已經刷卡了,除非認定是盜刷,主動向 …
[WooCommerce] 管理客戶我的帳號頁面顯示全部或部分狀態訂單的方法
這個需求一開始是「只想開放顯示部分狀態的訂單」,所以前端同事一開始處理這個需求的時候是寫一個判斷去限制顯示。 但碰到算出來的每頁數量不同。所以請我這邊去追一下源頭。 這個控制可以使用 woocommerce_my_account_my_orders_query 這個事件過濾器下手! 開放全部的範例如 …
[WordPress] 改寫(Overwrite)內建 REST API 資料的方法
過去筆記過給 REST API 新增欄位的這篇 [WordPress] 客製化內容類型(Post Type) REST API 的方法,只是把 API 中沒有的欄位新建立上去。 如果要控制 REST API 輸出的資料,那方向又不同了。 這需求來自使用 Frontity 開發的專案,前端使用 Ver …