[WooCommerce] 我的帳號(My Account)頁面程式化新增分頁(tab)控制項

以前實作過,以為有寫過筆記,但其實沒有XD 這客製化功能主要用在把 WooCommerce 的後台延伸當作其他功能後台使用時比較常發生。 舉例: 商品型錄網站,需加入會員,然後於會員後台提交專屬計算商品價格與下單功能。 教學網站,使用 WooCommerce 當作教學商品付款媒介,並套用後台功能提供 …

[WooCommerce] 程式取得當下消費者選擇運送方法的應用

今天處理案件時意外看到的,是 WooCommerce 中內建的方法。 wc_get_chosen_shipping_method_ids() 原始碼如下: function wc_get_chosen_shipping_method_ids() { $method_ids = array(); $c …

[WooCommerce] 結帳頁面先選擇運送方式的做法

其實這需求也不是第一次碰到人問,就是有人會想要把「購物車(Cart)」頁面給拔除,整合到結帳頁面來縮短結帳流程。 示意圖如下,就是先選擇運送方式後,再來輸入對應需要的欄位。一個頁面搞定購買商品預覽和結帳。 WooCommerce 的做法就是把功能搬過來結帳頁面用,程式碼片段如下: function …

[WooCommerce] 顯示訂單資訊的短碼(Shortcode)

WooCommerce 有不少短碼可以將資訊拆成部件使用。 不過顯示訂單這個功能沒看到怎辦?就自己來組一個啦~ function woocommerce_orders() { $user_id = get_current_user_id(); if ($user_id == 0) { //沒登入就呼 …

[WordPress] 子主題子頁面樣板檔案(Child Page Template)繼承的方法

其實這篇也算誤打誤撞,原本想要用樣板結構的變數做法來取代 WooCommerce My Account 我的帳號頁面的訂單頁功能。(結果不能這樣)無奈機制不同, 在半路先被「我的帳號」給攔截走。 不過如果是其他頁面還是可以用 page-{$id}.php 或 page-{$slug}.php 去覆蓋 …

[WooCommerce] 付款方法項目的排序控制(訂單滿額、變更順序)

前面有寫一篇是針對運送方法 [WooCommerce] 運送方法項目的排序控制(依照運費、指定順序),這篇來寫針對付款方法(Payment methods)來做邏輯判斷處理。 情境舉例:訂單需滿額才可以使用某一個付款方法。 //較晚觸發、可以用來改變付款方式順序 function mxp_wooco …

[WooCommerce] 程式化處理購物車運費折扣 – 滿額免運為例

「全館購物滿額 XXX 元免運費」這樣的行銷手法不少見,處理的方法也有外掛的。 不過外掛非萬能,總還是有碰到意外的點。下方筆記使用程式化的做法。方法主要參考之前一篇 [WordPress] WooCommerce 客製化運費規則的方法。 function mxp_shipping_fee_disco …

[WordPress] 程式化處理排程任務的做法

排程任務就是定時去執行處理的工作,像是每天清除垃圾訊息、每小時回報執行狀態…等等。 PHP 程式的做法是先確定是否需要執行這個排程,需要就加入事件 wp 去執行 auto_do_something,不需要就去判斷下一次需要執行的方法名稱,把它取消。 if ($flag == "yes& …

[WooCommerce] PHP 動態建立或更新商品的方法

這個方法其實也滿多人討論的,主要是看用在哪,主要有兩派。一個是透過 REST API 的呼叫來建立,另一個是直接針對資料庫操作。 標題說的「建立或更新」是比較通泛的寫,但我的需求是「建立不然就是更新」商品。這時候 REST API 的方法就不適用了! // 商品資料結構 $product_data …

文章
Filter
Apply Filters
Mastodon