如何在 WooCommerce 中添加自定義訂單狀態

已發表: 2020-09-22

添加自定義訂單狀態 您是否正在尋找在 WooCommerce 中添加訂單狀態消息的方法? 本文將為您提供解決方案。 由於各種原因,您可能希望包含幾個不同的訂單狀態。 但是,WooCommerce 的默認版本允許您將具有以下狀態之一的訂單標記為已完成、處理中、待付款、暫停、退款、取消或失敗。

您可能希望添加適合您的在線商店流程的訂單狀態名稱,例如“等待發貨”、“正在建設”或其他以滿足他們的履行需求。 然而,WooCommerce 有一個解決這個問題的解決方案,它有一個名為“WooCommerce 訂單狀態管理器”的擴展程序,價格為 49 美元。

WooCommerce 訂單狀態管理器

對於您的商店來說,這可能是一個昂貴的解決方案,但有一種簡單的方法可以做到這一點。 在當前版本的 WooCommerce 中,訂單狀態保存為自定義帖子狀態,就像草稿、計劃或發布的帖子一樣。

本文的主要目的是展示如何修改訂單數據、向訂單添加信息、從外部導出訂單數據或運行任何需要訂單詳細信息的常規操作。 同樣重要的是要注意這些狀態會觸發進一步的操作,因此您需要為這些操作提供 WooCommerce 代碼。

綜上所述,讓我們深入探討如何在 WooCommerce 中添加訂單狀態消息。 要檢查默認訂單狀態消息,只需登錄您的 WordPress 站點並以管理員用戶身份訪問儀表板。 然後,點擊WooCommerce > 訂單。 你會看到這個:

狀態後端

此外,當客戶嘗試下訂單時,這些消息會顯示在前端。 這可以通過單擊我的帳戶 > 訂單來訪問,如下所示: 狀態前端

a) 使用代碼在 WooCommerce 中添加訂單狀態的步驟

以下是您需要遵循的步驟:

  1. 登錄您的 WordPress 站點並以管理員用戶身份訪問儀表板
  2. 從儀表板菜單中,單擊外觀菜單 > 主題編輯器菜單。 打開主題編輯器頁面後,查找主題函數文件,我們將在其中添加將在 WooCommerce 中添加訂單狀態的函數。
  3. 將以下代碼添加php文件中:
 /**

             添加自定義狀態

*/




功能 register_shipment_arrival_order_status() {

    register_post_status('wc-arrival-shipment', array(

        '標籤' => '貨物到達',

        '公共' => 真的,

        'show_in_admin_status_list' => 真,

        'show_in_admin_all_list' => 真,

        'exclude_from_search' => 假,

        'label_count' => _n_noop( '貨物到達<span class="count">(%s)</span>', '貨物到達<span class="count">(%s)</span>' )

    ));

}

add_action('init', 'register_shipment_arrival_order_status');

功能 add_awaiting_shipment_to_order_statuses( $order_statuses ) {

    $new_order_statuses = 數組();

    foreach ( $order_statuses as $key => $status ) {

        $new_order_statuses[ $key ] = $status;

        if ('wc-processing' === $key) {

            $new_order_statuses['wc-arrival-shipment'] = '貨物到達';

        }

    }

    返回 $new_order_statuses;

}

add_filter('wc_order_statuses', 'add_awaiting_shipment_to_order_statuses');
  1. 要查看結果,請單擊 WooCommerce > 訂單,然後您將選擇任何訂單並嘗試更改訂單狀態。 您會注意到已添加了一個名為 Shipment Arrival 的新狀態,如下所示: 貨物到達
  2. 如果您更改訂單狀態並更新它,那麼這將是結果: 貨物到達結果

代碼如何運作

在上面的代碼中,我使用register_post_status() functio添加了發布狀態。 如果您仔細查看該功能,會發現訂單狀態有一個 slug,前綴為“ wc- ”,表示 WooCommerce。 之後,我創建了一個數組,其中包含定義自定義帖子狀態的數據。 這意味著標籤是要顯示的內容,因此我可以將其更改為訂單狀態的確切名稱。

此外, add_awaiting_shipment_to_order_statuses() function會將這個新的自定義帖子狀態添加到 WooCommerce 訂單和編輯訂單頁面中的可用訂單狀態列表中。 因此,這些狀態在這些頁面上可用。

此外,我還包括了foreach循環,它遍歷當前訂單狀態列表,直到找到我想要的。 在上面的代碼中,Shipment Arrival 將被插入到 Processing order 狀態之後。

b) 使用插件在 WooCommerce 中添加自定義訂單狀態消息的步驟

如果你不是那麼技術,你可以通過使用插件來做到這一點。 它適用於那些不熟悉使用代碼自定義網站的人,或者他們可能不想弄亂網站的編碼結構。

我們要使用的插件是WooCommerce 的自定義訂單狀態。 WooCommerce 的自定義訂單狀態

以下是您需要遵循的步驟:

  1. 登錄您的 WordPress 站點並以管理員用戶身份訪問儀表板。
  2. 直接在管理面板中下載它,只需導航到 Plugins > Add New 。 之後,您需要對插件“ WooCommerce 的自定義訂單狀態”進行關鍵字搜索。 您需要安裝並激活它,如下所示: 下載插件
  3. 要進行所需的更改,只需單擊WooCommerce > 設置 > 自定義訂單狀態,如下所示: 自定義訂單狀態設置
  4. 請記住保存您所做的更改。

結論

在本教程中,我分享了兩個可用於在 WooCommerce 中添加訂單狀態的解決方案。 第一種方法涉及使用我創建的自定義 PHP 代碼來添加訂單狀態。 默認情況下,WooCommerce 沒有添加此選項的選項,此解決方案將為此提供快速修復,因為 WooCommerce 可以擴展。

第二種解決方案可供 WordPress 初學者或不熟悉代碼的不太精通技術的個人使用。 這是一個非常容易實施的解決方案,因為您只需下載名為Custom Order Status for WooCommerce 的插件。

類似文章