[WooCommerce] 程式客製化結帳欄位紀錄方法(Session)

有用過綠界物流的人肯定有發現一件事,先前填好結帳欄位的資料因為頁面被刷新後而消失。不過自己手殘或是其他因素導致畫面刷新也是有可能發生這件事。 資料消失要重新填入的體驗真的很不好,所以就需要想辦法存起來啦! 這邊之前有筆記過( [WooCommerce] 片段(fragments)互動程式設計要點 ) …

[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) { //沒登入就呼 …

[WooCommerce] 開放編輯訂單項目功能

在 WooCommerce 訂單中「等待付款中」與「保留」和「取消」的這幾個狀態還可以修改訂單項目,而其他狀態就會鎖住訂單編輯功能。 一般來說成交後的單不要亂動的大原則是沒問題,但凡事總有意外,像是純粹用備註來紀錄退款或是其他加購等說明並不會反應回訂單的總報價上。如此要計算精準的收益報表就會有困難, …

[WooCommerce] 程式開發時判斷建立訂單的時機

預設 WooCommerce 建立訂單的時候大部分金流(Payment Gateway)都會把訂單狀態設定成「等待付款中」,這個時候 WooCommerce 系統還不會觸發「新訂單」通知,會等待金流操作完成後改變狀態為「保留」或是「處理中」才會通知。 問題來了,如果我就是要在訂單一被建立的時候發新訂 …

[WooCommerce] 程式化取得商品短描述與完整介紹的方法

這個問題是同事因為需要重新設計商品頁所提問的,原以為就是單純的把資料取出,不過找到的資料居然會有過濾行為,我就在想是不是有特殊的取法。 如圖圈選的兩個地方內容,希望特別抽取出來組合頁面。方法如下: //在 WooCommerce template 下發現的官方解 $short_description …

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

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

[WooCommerce] 修改特價標籤顯示折扣百分比

亂逛看到的功能,頗簡單又實用! 於(子)主題裡的 functions.php 檔案中加入下方程式碼片段(或可以使用 Code Snippets 這隻外掛來處理。): function mxp_custom_sale_flash($text, $post, $product) { global $pr …

[WooCommerce] 運送方法項目的排序控制(依照運費、指定順序)

WooCommerce 預設的運送方式順序可以從 WooCommerce->設定->運送方式 中的各個區域下 運送方式 裡的實際指定運送方式去調整順序。如下圖: 透過拖曳項目可以完成上下排序,這個排序可能會影響邏輯判斷的先後。對應前端的地方如下圖: 然後,總是會有神奇的時候需要去程式化改 …

文章
Filter
Mastodon