2015-04-22 43 views
8

Tôi đã thêm trạng thái đơn hàng tùy chỉnh mới vào woocommerce bằng cách sử dụng chức năng sau.Cách thêm trạng thái đơn hàng tùy chỉnh woocommerce?

// Register New Order Statuses 
 
function wpex_wc_register_post_statuses() { 
 
\t register_post_status('wc-custom-order-status', array(
 
\t \t 'label' \t \t \t \t \t \t => _x('Shipping In Progress', 'WooCommerce Order status', 'text_domain'), 
 
\t \t 'public' \t \t \t \t \t => true, 
 
\t \t 'exclude_from_search' \t \t => false, 
 
\t \t 'show_in_admin_all_list' \t => true, 
 
\t \t 'show_in_admin_status_list' \t => true, 
 
\t \t 'label_count' \t \t \t \t => _n_noop('Approved (%s)', 'Approved (%s)', 'text_domain') 
 
\t)); 
 
} 
 
add_filter('init', 'wpex_wc_register_post_statuses'); 
 

 
// Add New Order Statuses to WooCommerce 
 
function wpex_wc_add_order_statuses($order_statuses) { 
 
\t $order_statuses['wc-custom-order-status'] = _x('Shipping In Progress', 'WooCommerce Order status', 'text_domain'); 
 
\t return $order_statuses; 
 
} 
 
add_filter('wc_order_statuses', 'wpex_wc_add_order_statuses');

bất cứ khi nào tôi đi đến sửa trật tự và thay đổi trạng thái đơn hàng để tình trạng đặt hàng tùy chỉnh mới được thêm vào và click vào nút Save Order. Sau khi tải trạng thái đơn hàng tự động thay đổi để chờ theo thứ tự không đứng theo thứ tự tùy chỉnh mới được bổ sung ...

enter image description here

enter image description here

Làm thế nào để khắc phục vấn đề này ...?

Trả lời

10

Trạng thái đơn đặt hàng mà bạn đang đăng ký wc-custom-order-status quá dài - 22 ký tự. Điều này dẫn đến việc chỉ tiết kiệm 20 ký tự đầu tiên của trạng thái bài đăng, điều này làm cho nó không hợp lệ và gây ra sự cố của bạn.

Trạng thái đơn hàng được đăng ký dưới dạng trạng thái bài đăng và trạng thái bài đăng có giới hạn là 20 ký tự.

Tôi khuyên bạn nên cập nhật tên trạng thái wc-custom-order-status thành wc-shipping-progress, dài chính xác là 20 ký tự.

Tôi cũng đăng phiên bản cập nhật của mã của bạn, chỉ để tham khảo (tôi đã chỉ thay đổi tên trạng thái):

// Register New Order Statuses 
function wpex_wc_register_post_statuses() { 
    register_post_status('wc-shipping-progress', array(
     'label'      => _x('Shipping In Progress', 'WooCommerce Order status', 'text_domain'), 
     'public'     => true, 
     'exclude_from_search'  => false, 
     'show_in_admin_all_list' => true, 
     'show_in_admin_status_list' => true, 
     'label_count'    => _n_noop('Approved (%s)', 'Approved (%s)', 'text_domain') 
    )); 
} 
add_filter('init', 'wpex_wc_register_post_statuses'); 

// Add New Order Statuses to WooCommerce 
function wpex_wc_add_order_statuses($order_statuses) { 
    $order_statuses['wc-shipping-progress'] = _x('Shipping In Progress', 'WooCommerce Order status', 'text_domain'); 
    return $order_statuses; 
} 
add_filter('wc_order_statuses', 'wpex_wc_add_order_statuses'); 
+1

Cảm ơn! Nếu tôi có thể tôi sẽ tăng gấp đôi như câu trả lời của bạn. – AlenBer

+1

hoạt động tốt, cảm ơn! –

+1

'Kết quả này chỉ tiết kiệm được 20 ký tự đầu tiên của trạng thái bài đăng' Cảm ơn! Ngày của cuộc đấu tranh với vấn đề này! – vinigarcia87

Các vấn đề liên quan