YS FluentCart Order Statuses

FluentCart × 自訂訂單流程:下生產、排定出貨等自訂狀態,付款後不被覆寫,狀態變更自動寄信,每張訂單都能在訂單頁一鍵推進,附流程報表。

v0.5.0 Fluent Cart fluentcart 免費下載

FluentCart 內建的訂單狀態只有處理中、完成、取消這幾種,但代購、客製生產、預購型的店家需要的是「已付款 → 下生產 → 排定出貨 → 已出貨」這種自己的流程。這支外掛讓你在後台新增自訂的訂單狀態與出貨狀態——名稱、顏色、說明、付款條件都可設定——FluentCart 自己的下拉選單、訂單列表、進階篩選與顧客的訂單頁都會直接吃到。完全不動 FluentCart 核心,全部透過公開的 filter 與 REST 完成。

付款後不會被 FluentCart 覆寫

FluentCart 在收到款項時會把訂單狀態改寫成「處理中」,這段是核心寫死的、沒有 filter。外掛會在付款的同一個流程裡把你的自訂狀態寫回去,並在訂單的活動紀錄留下一行說明;每個狀態都可以選擇「保留」或「交給 FluentCart 決定」,也有一個總開關。營收報表看的是付款狀態,所以自訂訂單狀態完全不影響營收數字。

狀態變更自動寄信給顧客

每一個自訂狀態都可以開啟電子郵件通知——顧客一封、管理員副本一封,各自獨立開關。通知直接註冊進 FluentCart 自己的「電子郵件通知」設定頁:用 FluentCart 的開關、主旨欄、預覽功能與寄件者設定,郵件外框、頁首頁尾也和 FluentCart 內建信件一致;標題與內文段落可以直接在同一個編輯頁填寫,支援 {{order.invoice_no}}、{{order.customer.full_name}} 等 FluentCart 短代碼。全部預設關閉,開了才會寄。

每張訂單都能在訂單頁推進流程

FluentCart 的後台本身沒有可以自由選擇訂單狀態的控制項——不論訂單是否付款,都只有「標記為完成」、「退回處理中」、「取消訂單」這類固定按鈕(1.6.0 與 1.6.3 實測)。外掛在訂單頁加上「訂單流程」面板:顯示目前在第幾步、列出這筆訂單可以移動到的狀態、還有一個「下一步」按鈕一鍵推進。每個自訂狀態預設適用所有訂單,已付款與未付款看到的是同一份清單;真的需要時,才在狀態的「進階」裡限定付款條件。寫入走 FluentCart 自己的訂單 API,所以活動紀錄、狀態變更事件、品項履行的行為,都和手動改狀態完全一樣;不允許的變更會直接在面板旁用白話說明原因。

兩種流程樣板,一鍵建立

「工具」分頁可以一鍵建立標準流程:下生產 → 排定出貨 → 已出貨。你可以把它放在訂單狀態,也可以放在出貨狀態——後者是我們推薦的做法,因為 FluentCart 永遠不會自動改寫出貨狀態,而且自訂的出貨狀態會直接出現在 FluentCart 自己的「變更出貨狀態」對話框。樣板不會改動 FluentCart 內建狀態的名稱,也不會覆寫你已經設定好的內容,套用兩次也不會重複。需要的話可以開啟嚴格模式,要求訂單一次只能走一步。

流程報表與卡單清單

「訂單狀態報表」分頁把整條流程攤開來看:各狀態的訂單數與金額(分已付款/未付款)、流程漏斗、每個步驟的平均與最長停留時間、以及在同一步卡超過 N 天的訂單清單,每張表都能下載 CSV(Excel 直接開中文不亂碼)。可選每日摘要 email。訂單列表多了每個自訂狀態的已存檢視,訂單頁也有兩軸合併的狀態歷史時間軸。

相容性與更新

FluentCart 1.6.0 起可用(1.6.0 與 1.6.3 都實測通過)。設定可整份匯出/匯入 JSON;要移除某個狀態前,可以先用「搬移訂單」把訂單批次移到別的狀態。停用外掛不會改動任何訂單資料。已內建 YS Plugin Hub 更新機制,安裝後可在 WordPress 外掛頁直接收到新版通知並一鍵更新。介面提供英文與繁體中文。

功能特色

自訂訂單與出貨狀態

名稱、顏色、說明、付款條件、排序;FluentCart 的下拉選單與列表直接吃到。

付款後保留自訂狀態

FluentCart 收款時會改寫成「處理中」,外掛自動寫回並在活動紀錄留下說明。

狀態變更 email 通知

每個狀態可開啟顧客通知與管理員副本,直接用 FluentCart 的電子郵件通知設定頁編輯主旨、標題與內文。

訂單頁流程控制

每張訂單都能直接改狀態:已付款與未付款同一份清單,一鍵推進,走 FluentCart 自己的 API。

一鍵流程樣板

下生產 → 排定出貨 → 已出貨,可放訂單狀態或出貨狀態;不改內建狀態名稱;可開嚴格模式。

流程報表與卡單清單

各狀態訂單數與金額、漏斗、停留時間、卡住的訂單,每張表可下載 CSV,可選每日摘要 email。

螢幕截圖

更新日誌(最新版)

A status is now one list, on every order.

What changed in 0.5.0

  • The templates no longer restrict their steps by payment. *In production*, *Shipment scheduled* and *Shipped* used to be *paid orders only*, so an unpaid order was offered a different list from a paid one. They are now *any order*, the same default a status added by hand has always had. The "keep this status after payment" guard is unchanged: it is protection against FluentCart overwriting the status with *Processing*, not a restriction.
  • The templates no longer rename FluentCart's built-in statuses. No more "Paid", "Awaiting payment" or "Awaiting production" relabelling; FluentCart's own names are left as they are. The *Built-in labels* tab still renames them if a shop wants to.
  • The two payment settings moved under *Advanced*. *Available on* and *After payment* are no longer columns of the order-status table. They sit behind a collapsed *Advanced* line under each status, whose summary always shows their values and turns amber when either differs from the default.
  • Corrected documentation of FluentCart's native controls. Measured on 1.6.0 and 1.6.3: FluentCart's admin has no control for choosing an order status on *any* order — only *Mark As Complete*, *Back to processing* and *Cancel Order* — and the Orders list's bulk actions only delete. Earlier docs said the gap was specific to paid orders and that the Orders list had a bulk status action; both were wrong.

An existing configuration is not changed by the upgrade.

Tested on FluentCart 1.6.0 and 1.6.3: 293 unit assertions and 375 REST-driven scenario assertions on each version. Requires WordPress 6.0+, PHP 7.4+, FluentCart 1.6.0+. English and Traditional Chinese (zh_TW). See `CHANGELOG.md`.

常見問題

會改到 FluentCart 核心嗎?

不會。全部透過 FluentCart 公開的 filter(order_statuses、editable_order_statuses、shipping_statuses、email_notifications 等)與 REST 完成,更新 FluentCart 不會蓋掉任何東西。

為什麼付款後訂單狀態會變成「處理中」?

這是 FluentCart 核心的行為(寫死、沒有 filter)。外掛會在同一個流程裡把自訂狀態寫回去;每個狀態可設定「保留」或「交給 FluentCart 決定」。

通知信在哪裡設定?免費版 FluentCart 能改內文嗎?

在 FluentCart → 設定 → 電子郵件通知,會多一組「Custom Order Statuses」。開關、主旨、預覽都是 FluentCart 自己的;標題與內文段落是外掛加在同一個編輯頁的欄位,免費版也能填。完整的區塊編輯器仍需 FluentCart Pro。

為什麼 FluentCart 原生後台不能直接選我的自訂訂單狀態?

FluentCart 的後台本來就沒有「自由選擇訂單狀態」的下拉選單(1.6.0 與 1.6.3 實測),不論訂單是否付款,只有完成、退回處理中、取消這幾個固定按鈕,所以外掛在訂單頁補上控制項,所有自訂狀態都列在同一份清單裡。出貨狀態則不同:自訂的出貨狀態會直接出現在 FluentCart 自己的「變更出貨狀態」對話框。

流程該放在訂單狀態還是出貨狀態?

如果流程是從顧客付款之後才開始(生產、包裝、排單、出貨),建議放出貨狀態:FluentCart 永遠不會自動改寫它,而且內建的「變更出貨狀態」對話框在已付款訂單上就能用。狀態確實屬於訂單本身、或希望顧客在訂單狀態上看到時,再放訂單狀態。

停用或移除外掛會影響訂單嗎?

停用不會改動任何訂單資料,重新啟用後設定與歷史都還在。移除預設也保留設定與歷史表,除非在 wp-config.php 定義 YS_FCT_STATUS_REMOVE_DATA。

0