開發一個 WordPress 網站時常會碰到針對一些使用者角色去控制管理的情境。尤其是 WooCommerce 電商! 我想要多一個角色可以幫我管理 OOO 內容。我想要多一個角色可以幫我管理訂單。我想要多一個角色可以幫我管理使用者… 一般來說,動態調整這些角色與權限的部分我是使用 User R …
標籤彙整: WooCommerce
[WooCommerce] 取得商品關聯訂單的方法
WooCommerce 內建從訂單去找到商品、查詢顧客最新一筆訂單 wc_get_customer_last_order 又或是查詢顧客是否有買過某一款商品 wc_customer_bought_product 都算常用的關聯查詢資料的方法。 但就在前天,突然想到:「那從商品去找有消費過的訂單?」 …
[WooCommerce] 手動新增物流 Shipping Line item 項目在訂單的方法
最近在客製化一個客戶 WooCoomerce 網站的結帳欄位時,發現如果沒有需要使用到「運送」區塊的結帳表單,又或是把運送的結帳表單精簡到只有客製化欄位的這種情境。那訂單裡就不會出現「物流」運送相關資訊。 滿符合邏輯的沒錯,但如果只是希望節省填表單的繁瑣而使用了設定裡的「強制運送至客戶帳單地址」功能 …
[WooCommerce] 擴充 Shortcode 短碼參數的兩種方法
WordPress 有一個很強的功能模組就是「Shortcode API」,知名 Page Builder 頁面編輯器 WPBakery 也是以此打出名號。 不過有時候有些 Shortcode 短碼就差一點點滿足目標需求時怎辦? 我通常會有兩個解法: 找找看有沒有 Hook 勾點來強化 繼承那個短碼 …
[WooCommerce] Action Scheduler 排程模組功能使用與最佳化筆記
先前有筆記過 [WordPress] 詳解定時定期運作的服務: WP-Cron,而 Action Scheduler 其實就是一種進階版的 WP Cron 排程服務。 畢竟 WordPress 內建的功能實在有點太單薄,而 WooCommerce 這樣的電商服務又有大量排程的需求。各種需要排程檢查像 …
[WooCommerce] 根據選取的金流付款方式觸發其他事件操作的方法
這需求其實原本是業主希望把「金流收取費用的成本」轉嫁給消費者的需求。所以如果選到信用卡付款,就照比例加收 x%,如果是超商付款就加收 x 元…等等 但先說,這其實會違反第三方金流的規範。藍新的金流服務平台服務條款 第二章 會員規範 之 第六條 平台產品使用規範 之 十九、 會員不得將本公司與會員 …
[WooCommerce] 取出訂單商品項目全部的客製化中繼資料 Meta 方法
使用 WooCommerce 當作 WordPress 延伸的強大電商外掛有一個很方便的地方就是:除了商品本身有變化類型,對商品加入購物車的當下也還可以使用 Meta 中繼資料來強化商品的屬性。 延伸閱讀 [WooCommerce] 增加購物車商品項目中繼資料 Meta 的方法 這篇提到的是「寫入中 …
[WooCommerce] 客製化已出貨訂單狀態顧客通知信的方法
剛好最近處理幾個 WooCommerce 網站,發現其實「已出貨」的這個訂單狀態需求還算滿常見的! 上網找沒看到一個滿意的寫法,自己順過一次正確註冊通知信的方法後來筆記一下~ 本篇分以下幾個流程: 註冊訂單狀態 後台功能加入新訂單狀態選項 註冊訂單狀態發信的類別 註冊發信的事件(時機) 設計發信的範 …
[WooCommerce] 增加購物車商品項目中繼資料 Meta 的方法
這功能有一個知名的外掛做得很成功:Product Addons & Fields for WooCommerce 早期簡稱「PPOM」。 其實就是如他外掛名稱一樣,附加商品的其他欄位(價值)。 WooCommerce 預設建立的商品除了簡單商品直覺的使用外,進階就是帶有簡單變化的可變商品這兩 …
[WooCommerce] PHP 程式建立訂單與加入收費項目 Line item 的方法
當預設的下單流程不能滿足某些使用情境的時候,使用客製化的程式來建立訂單算還滿直覺的做法。 過去有筆記過前段「程式建立訂單」的文 [WooCommerce] 客製化訂單與結帳流程的作法。我這邊也就不重複多貼一次,但要特別提那篇的重點還有建立完訂單後,還可以觸發去結帳的金流行為。 do_action(& …