將自訂的訂單狀態設定為已付款狀態

在 WooCommerce 的使用中,自定義新的訂單狀態似乎蠻多人可能使用到。

在 WooCommerce 的訂單功能中,有提供一個函式 is_paid() 讓開發者可以知道目前訂單的付款狀態而做出相對應的動作或是調整畫面上顯示的內容。

這時候,如果你新增的訂單狀態沒有做對應的處理,就可能明明使用者已經付款完成了,但畫面上還是顯示出未付款的提示訊息。

不過別擔心,WooCommerce 的開發團隊是有想到這點的,既然可以讓你新增訂單狀態,當然就可以將你新增的訂單狀態設定為已付款的狀態。而設定的方式,不是在新增訂單狀態的時候用參數去調整,而是去調整已付款的訂單狀態列表,可以套過以下簡單幾行程式碼來達成將新增的訂單狀態設定為已付款的狀態。

add_filter('woocommerce_order_is_paid_statuses', function($statuses) {
   $statuses[] = 'status name';
   return $statuses;
});

要注意,記得將上面的 status name 改成你新增的訂單狀態名稱。


如果你不知道如何加入程式碼到你的網站,或是需要一個輕鬆簡單的方法加入程式碼,推薦使用 Code Snippets
他是一款讓你在後台就可以輕鬆加入程式碼到網站中的外掛。並且加入的程式碼還可以個別的設定啟用或停用,讓你輕鬆的管理這些額外加入的程式碼片段。
如果對於該外掛使用上有疑問,請至外掛頁面觀看說明或是與官方團隊聯繫。


發表留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料