Thêm trạng thái đơn hàng mới trong WooCommerce

Trong WooCommerce, mặc định chỉ có một số trạng thái đơn hàng như: Chờ xử lý (Pending), Đang xử lý (Processing), Hoàn thành (Completed), Hủy (Cancelled)… Tuy nhiên, trong thực tế, bạn có thể muốn thêm một trạng thái đơn hàng tùy chỉnh, chẳng hạn như “Đang giao hàng”, để phù hợp hơn với quy trình vận hành của cửa hàng.

Thêm trạng thái đơn hàng mới trong WooCommerce

Bài viết này sẽ hướng dẫn bạn cách thêm trạng thái đơn hàng tùy chỉnh trong WooCommerce một cách dễ dàng bằng cách chèn mã vào functions.php.

Đăng ký trạng thái đơn hàng mới và hiển thị trạng thái mới trong danh sách đơn hàng

Mình ví dụ thêm trạng thái Đang giao hàng, tại functions.php.

/**
 * Đăng ký trạng thái đơn hàng "Đang giao hàng"
 */
add_action( 'init', function() {
    register_post_status( 'wc-on-delivery', array(
        'label'                     => 'Đang giao hàng',
        'public'                    => true,
        'exclude_from_search'       => false,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        'label_count'               => _n_noop(
            'Đang giao hàng <span class="count">(%s)</span>',
            'Đang giao hàng <span class="count">(%s)</span>'
        ),
    ));
});

/**
 * Thêm trạng thái vào danh sách trạng thái đơn hàng của WooCommerce
 */
add_filter( 'wc_order_statuses', function( $order_statuses ) {
    $insert_after = 'wc-processing';
    $new_statuses = array();

    foreach ( $order_statuses as $key => $label ) {
        $new_statuses[ $key ] = $label;
        if ( $key === $insert_after ) {
            $new_statuses['wc-on-delivery'] = 'Đang giao hàng';
        }
    }

    return $new_statuses;
});

Tùy chỉnh màu sắc trạng thái đơn hàng trong Admin

Để trạng thái Đang giao hàng có màu sắc riêng biệt, các bạn thêm đoạn mã sau.

add_action( 'admin_head', function() {
    echo '<style>
        .order-status.status-on-delivery {
            background-color: #d8eafc !important;
            color: #1e87f0 !important;
        }
    </style>';
});

Bạn có thể thay đổi màu nền và màu chữ theo thương hiệu của mình.

Cách sử dụng trạng thái mới

Sau khi thêm mã trên, bạn sẽ thấy trạng thái “Đang giao hàng” trong menu thay đổi trạng thái đơn hàng. Bạn có thể chọn thủ công hoặc tự động cập nhật bằng code hoặc webhook tùy theo nhu cầu.

Lưu ý

  • Tên slug trạng thái mới phải bắt đầu bằng wc-, ví dụ: wc-on-delivery.
  • Trạng thái tùy chỉnh sẽ không được kích hoạt các hành động email mặc định, trừ khi bạn thêm code riêng để xử lý.
  • Nếu cần thêm email khi chuyển sang trạng thái mới, bạn có thể mở rộng WC_Email trong plugin riêng.

Kết luận

Việc thêm trạng thái đơn hàng tùy chỉnh giúp bạn cá nhân hóa quy trình bán hàng, đồng thời giúp nhân viên và khách hàng dễ dàng theo dõi tiến độ đơn hàng.

Chúc bạn cấu hình WooCommerce thành công!

Bình Luận


  • Không có bình luận.