WooCommerce: Create a Custom Order Status

All WooCommerce orders go to either “processing”, “completed”, “on-hold” and other default order statuses based on the payment method and product type.

Sometimes these statuses are not enough. For example, you might need to mark certain orders in a different way for tracking, filtering, exporting purposes. Or you might want to disable default emails by bypassing the default order status changes.

Either way, creating a custom order status is quite easy. And today we’ll see which PHP snippet you need in order to make this work!

WooCommerce: create a custom order status

PHP Snippet: Create a Custom WooCommerce Order Status

/**
 * @snippet       Custom WooCommerce Order Status
 * @how-to        Get CustomizeWoo.com FREE
 * @author        Rodolfo Melogli
 * @compatible    WooCommerce 6
 * @community     https://businessbloomer.com/club/
 */

add_filter( 'woocommerce_register_shop_order_post_statuses', 'bbloomer_register_custom_order_status' );

function bbloomer_register_custom_order_status( $order_statuses ) {
   // Status must start with "wc-"!
   $order_statuses['wc-custom-status'] = array(
      'label' => 'Custom Status',
      'public' => false,
      'exclude_from_search' => false,
      'show_in_admin_all_list' => true,
      'show_in_admin_status_list' => true,
      'label_count' => _n_noop( 'Custom Status <span class="count">(%s)</span>', 'Custom Status <span class="count">(%s)</span>', 'woocommerce' ),
);
   return $order_statuses;
}

add_filter( 'wc_order_statuses', 'bbloomer_show_custom_order_status_single_order_dropdown' );

function bbloomer_show_custom_order_status_single_order_dropdown( $order_statuses ) {
   $order_statuses['wc-custom-status'] = 'Custom Status';
   return $order_statuses;
}

Where to add custom code?

You should place custom PHP in functions.php and custom CSS in style.css of your child theme: where to place WooCommerce customization?

This code still works, unless you report otherwise. To exclude conflicts, temporarily switch to the Storefront theme, disable all plugins except WooCommerce, and test the snippet again: WooCommerce troubleshooting 101

Related content

  • WooCommerce: How to Add a Custom Checkout Field
    Let’s imagine you want to add a custom checkout field (and not an additional billing or shipping field) on the WooCommerce Checkout page. For example, it might be a customer licence number – this has got nothing to do with billing and nothing to do with shipping. Ideally, this custom field could show above the […]
  • WooCommerce: Get Order Info (total, items, etc) From $order Object
    As a WooCommerce development freelancer, every day I repeat many coding operations that make me waste time. One of them is: “How to get ____ if I have the $order variable/object?“. For example, “How can I get the order total“? Or “How can I get the order items“? Or maybe the order dates, customer ID, […]
  • WooCommerce: Allow Users to Edit Processing Orders
    How can WooCommerce customers edit an order they just placed and paid for? I swear I looked on search engine results and other places before coming to the conclusion I needed to code this myself. For example, a user might want to change the delivery date (if you provide this on the checkout page). Or […]
  • WooCommerce: Add Column to Orders Table @ WP Dashboard
    The WooCommerce Orders Table, which can be found under WP Dashboard > WooCommerce > Orders, provides us with 7 default columns: Order – Date – Status – Billing – Ship to – Total – Actions. This is used by shop managers to have an overview of all orders, before eventually clicking on a specific one. […]
  • WooCommerce: Don’t Send Emails for Free Orders
    There are times when you sell free products to give customers access to a membership, an online course, or for other reasons. In these cases, you might not want to send the “Order Completed” email or get the “New Order” transactional notification, so that you can avoid sending and receiving hundreds of emails. Of course, […]

Rodolfo Melogli

Business Bloomer Founder

Author, WooCommerce expert and WordCamp speaker, Rodolfo has worked as an independent WooCommerce freelancer since 2011. His goal is to help entrepreneurs and developers overcome their WooCommerce nightmares. Rodolfo loves travelling, chasing tennis & soccer balls and, of course, wood fired oven pizza. Follow @rmelogli

69 thoughts on “WooCommerce: Create a Custom Order Status

  1. Hi, there! Thank you so much for this. I was able to successfully add two custom statuses. How do I get WooCommerce to understand that my custom_order_status with label ‘Etsy Order Open’ is a WooCommerce “processing” order? My label works beautifully but instead of showing me that I have an order open to fulfill it is treating it as “completed.” What am I missing?

     add_filter( 'woocommerce_register_shop_order_post_statuses', 'bbloomer_register_custom_order_status' );
     
    function bbloomer_register_custom_order_status( $order_statuses ) {
       // Status must start with "wc-"!
       $order_statuses['wc-custom-status'] = array(
          'label' => 'Etsy Order Open',
          'public' => false,
          'exclude_from_search' => false,
          'show_in_admin_all_list' => true,
          'show_in_admin_status_list' => true,
          'label_count' => _n_noop( 'Etsy Order Open<span class="count">(%s)</span>', 'Etsy Order Open <span class="count">(%s)</span>', 'woocommerce' ),
    );
    	return $order_statuses;
    }
     
    add_filter( 'wc_order_statuses', 'bbloomer_show_custom_order_status_single_order_dropdown' );
     
    function bbloomer_show_custom_order_status_single_order_dropdown( $order_statuses ) {
       $order_statuses['wc-custom-status'] = 'Etsy Order Open';
    	   return $order_statuses;
    } 
    
    add_filter( 'woocommerce_register_shop_order_post_statuses', 'bbloomer_register_custom_order_status_2' );
     
    function bbloomer_register_custom_order_status_2( $order_statuses ) {
       // Status must start with "wc-"!
       $order_statuses['wc-custom-status_2'] = array(
          'label' => 'Etsy Order Completed',
          'public' => false,
          'exclude_from_search' => false,
          'show_in_admin_all_list' => true,
          'show_in_admin_status_list' => true,
          'label_count' => _n_noop( 'Etsy Order Completed<span class="count">(%s)</span>', 'Etsy Order Completed <span class="count">(%s)</span>', 'woocommerce' ),
    );
    	return $order_statuses;
    }
     
    add_filter( 'wc_order_statuses', 'bbloomer_show_custom_order_status_single_order_dropdown_2' );
     
    function bbloomer_show_custom_order_status_single_order_dropdown_2( $order_statuses ) {
       $order_statuses['wc-custom-status_2'] = 'Etsy Order Completed';
    	   return $order_statuses;
    } 
    1. Awesome! What do you mean here exactly:

      How do I get WooCommerce to understand that my custom_order_status with label ‘Etsy Order Open’ is a WooCommerce “processing” order?

  2. Hey Rodolfo,
    It is not on WP version 6.3.1. Can you help please?

    1. Hey Ali, thanks so much for your comment! I just retested this on the latest version of WooCommerce and it still works. Unfortunately this looks like custom troubleshooting work and I cannot help here via the blog comments. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding! ~R

  3. Thank you it works but I can’t make a second order status! It doesn’t seem to take!

    add_filter( 'woocommerce_register_shop_order_post_statuses', 'bbloomer_register_custom_order_status' );
    
    function bbloomer_register_custom_order_status( $order_statuses ) {
       $order_statuses['wc-custom-status'] = array(
          'label' => 'Fraude',
          'public' => false,
          'exclude_from_search' => false,
          'show_in_admin_all_list' => true,
          'show_in_admin_status_list' => true,
          'label_count' => _n_noop( 'Fraude <span class="count">(%s)</span>', 'Fraude <span class="count">(%s)</span>', 'woocommerce' ),
       );
       
       $order_statuses['wc-custom-status-delivery'] = array(
          'label' => 'En cours de livraison',
          'public' => false,
          'exclude_from_search' => false,
          'show_in_admin_all_list' => true,
          'show_in_admin_status_list' => true,
          'label_count' => _n_noop( 'En cours de livraison <span class="count">(%s)</span>', 'En cours de livraison <span class="count">(%s)</span>', 'woocommerce' ),
       );
       
       return $order_statuses;
    }
    
    add_filter( 'wc_order_statuses', 'bbloomer_show_custom_order_status_single_order_dropdown' );
    
    function bbloomer_show_custom_order_status_single_order_dropdown( $order_statuses ) {
       $order_statuses['wc-custom-status'] = 'Fraude';
       $order_statuses['wc-custom-status-delivery'] = 'En cours de livraison';
       return $order_statuses;
    }
    

    odd

  4. Hi
    thanks for your code, we try to run this code using php 7.4 and Woocomerece 7.1 but we always got syntax error is their is any changes in code to run correctly
    thanks

    1. Syntax error on which line, please?

      1. Fatal error: Uncaught Error: Argument 1 passed to Automattic\WooCommerce\Blocks\Domain\Services\DraftOrders::register_draft_order_status() must be of the type array, null given

        1. Sorry, I need more context. Please share the whole code you wrote + the page or the moment where you get the Fatal Error, so that I can double check.

          Also, it seems to be a problem with WooCommerce Blocks, so I definitely need more information. Thank you!

  5. Hi, thank you. This works (january 2022).

    What I am looking for is that the customer can place an order and can choose if the order is concept or definitive.

    Idea is that a customer can place an order but has the ability to mark it as ‘concept’ so he can add or change the order later. When he marks it as ‘concept’ the custom order status is given to that order*.
    So later on he can login in his account and change the amount of a certain product, add products etc.. and decide to make the order final.
    * For the shopowner this custom order status means that the order should not be processed yet.

    1. Thanks for your comment Edwin! I also have a tutorial for https://www.businessbloomer.com/woocommerce-edit-orders/, see if that helps a little

      1. Great, I’ll look in to that.
        Thank you

  6. Hi,
    Great code, using it. Works most all of the time, BUT sometimes there is an issue.
    I using it for new orders. When new order comes in, status changes to “custom status”, that’s great, but 1 of 10 or 20 order not changing status, it comes with default status “processing” :/ maybe there is some thoughts, what it could be. There is no conection with this issue and payment manager (credit card, bank transfer etc..), it looks like randomly sometimes not changing staus.

    1. Weird. Is it always you placing new orders? Could it be the cache?

  7. Hi Rudolfo,

    Thank you for your post. It was extremely helpful. The code works perfectly as it is. Then I wanted to change it. I wanted to set “Awaiting Confirmation” as default status. But the issue is when I tried replacing wc-custom-status with wc-awaiting-confirmation. It doesn’t work. Changing to this doesn’t work and status shows as processing. Also, it doesn’t get set as default status either. I later changed wc-awaiting-confirmation with wc-ac and it worked perfectly. Any insights?

    1. No idea, it depends on your order status ID, which is a custom one

  8. Hi,

    Some of my products require a questionnaire to be filled out before shipping.

    Could I analise if the order contains any products have a “Requires Questionare” Tag I will make and give them a specific custom order status if they do?

    1. Hey Ari, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!

  9. Hi, Thanks for the code. I’ve written the same comments over at your Sending Custom Emails for New orders post as well.

    But maybe here is a better place, since Emails are successful, just that the Order Status workings is odd.

    Use Case :
    1) For Preorders (Stock Status) – Auto triggered, to Set Preorder Pending using On-hold Emails (With this On-hold emails should not be sent out at all)
    2) Preorders Paid – Manual Triggered from Order Management.

    It seems that your above code is good for Case 1, with some tweaks.

    But Am trying to achieve the simpler Case 2.

    ** Am I right to say I can just remove your : 3) Assign Status at Checkout process?

    ** Separately I’ll like to use this whole coding for Case 1, but need to tweak as in only for Preorders (Stock Status), and stop Default Onhold emails from sending out. (Confusing for Customers with so many initial Emails out just an order)

    Thanks!

    // 1. Register Order Status
     
    add_filter( 'woocommerce_register_shop_order_post_statuses', 'bbloomer_register_custom_order_status' );
     
    function bbloomer_register_custom_order_status( $order_statuses ){
        
       // Status must start with "wc-"
       $order_statuses['wc-preorder-paid'] = array(                                 
       'label'                     => _x( 'Preorder Paid', 'Order status', 'woocommerce' ),
       'public'                    => true, // previously false                                
       'exclude_from_search'       => false,                                 
       'show_in_admin_all_list'    => true,                                 
       'show_in_admin_status_list' => true,                                 
       'label_count'               => _n_noop( 'Preorder Paid <span class="count">(%s)</span>', 'Preorder Paid <span class="count">(%s)</span>', 'woocommerce' ),                              
       );      
       return $order_statuses;
    }
     
    // ---------------------
    // 2. Show Order Status in the Dropdown @ Single Order and "Bulk Actions" @ Orders
     
    add_filter( 'wc_order_statuses', 'bbloomer_show_custom_order_status' );
     
    function bbloomer_show_custom_order_status( $order_statuses ) {      
       $order_statuses['wc-preorder-paid'] = _x( 'Preorder Paid', 'Order status', 'woocommerce' );       
       return $order_statuses;
    }
     
    add_filter( 'bulk_actions-edit-shop_order', 'bbloomer_get_custom_order_status_bulk' );
     
    function bbloomer_get_custom_order_status_bulk( $bulk_actions ) {
       // Note: "mark_" must be there instead of "wc"
       $bulk_actions['mark_preorder-paid'] = 'Change status to Preorder Paid';
       return $bulk_actions;
    }
     
     
     
    // ---------------------
    // 3. Set Custom Order Status @ WooCommerce Checkout Process
     
    add_action( 'woocommerce_thankyou', 'bbloomer_thankyou_change_order_status' );
     
    function bbloomer_thankyou_change_order_status( $order_id ){
       if( ! $order_id ) return;
       $order = wc_get_order( $order_id );
     
       // Status without the "wc-" prefix
       $order->update_status( 'preorder-paid' );
    }
    
    // Can we have it as Preorder orders only? -- based on Stock Status - Preorder
    
    // ---------------------
    // 4. Sending an email notification when order get 'preorder-paid' status
    	// Targets custom order status "preorder-paid"
    	// Uses 'woocommerce_order_status_' hook
      
    add_action( 'woocommerce_order_status_preorder-paid', 'bbloomer_status_custom_notification', 20, 2 );
      
    function bbloomer_status_custom_notification( $order_id, $order ) {
          
        $heading = 'Preorder is Processing';
        $subject = 'Preorder # {order_number} Paid';
      
        // Get WooCommerce email objects
        $mailer = WC()->mailer()->get_emails();
      
        // Use one of the active emails e.g. "Customer_Processing_Order"
        // Wont work if you choose an object that is not active
        // Assign heading & subject to chosen object
        $mailer['WC_Email_Customer_Processing_Order']->heading = $heading;
        $mailer['WC_Email_Customer_Processing_Order']->settings['heading'] = $heading;
        $mailer['WC_Email_Customer_Processing_Order']->subject = $subject;
        $mailer['WC_Email_Customer_Processing_Order']->settings['subject'] = $subject;
      
        // Send the email with custom heading & subject
        $mailer['WC_Email_Customer_Processing_Order']->trigger( $order_id );
      
        // To add email content use https://businessbloomer.com/woocommerce-add-extra-content-order-email/
        // You have to use the email ID chosen above and also that $order->get_status() == "preorder-paid"
          
    }
    
    
    1. Like to add that I have solved the simpler use case — Preorder Paid.

      I’m still hoping you could help to tweak for Preorder Pending Use Case.

      Thanks!

      1. Hi Faustine, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!

  10. Hello,

    Is there a way to set the color of the status when checking orders? https://prnt.sc/r2i85k

    Would be pretty cool to separate it!

    1. Hey Georgi, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!

  11. Hi,

    I had a question,

    I created a new client state called “budgets” and also a new tab created for “budgets”, it made me crazy to find how to filter orders with budget status.

    I want to show in that new tab only orders with “budget” status. ยฟIs this possible?

    I have personalized my website with many code of your website, I take the opportunity to thank you infinitely

    Thank you
    a greeting

    1. Hi Frank, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!

  12. I notice under woocommerce plugin, there is no ‘delivery” order status and “delivery” email notification. Is this necessary to send done “delivery” email notification to customer and update “delivery” order status after delivery is done?

    1. You would use the “Completed” for that reason. Otherwise you need to define a custom order status and custom email notifications

  13. Hi, your code works perfect but it is not added the order prices in woocommerce homepage summary. Like if order amount is $10 and when order is in process status the summary display $10 but when i change status the wocommerce summary show 0$.

    1. Screenshot?

  14. Thanks you save my life

    1. Cool!

  15. Hello Rodolfo!
    Thank you so much for the great article!

    I would like to ask a question.
    Will it be possible to automatically change the order status by product category?
    For example…
    When category A product A was paid, I would like to put the status as “completed.”
    But when product A of category B was paid, we would like to put as “on-hold” status.

    Or by the other way, “bbloomer_thankyou_change_order_status” can only function in specified category.

    Kind regards.

    1. Hi DT, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!

  16. Hi Rodolfo!

    This looks great, exactly what I was looking for.

    Just a small additional question; is it possible to add a custom order status to order from specific countries? I’m based in the EU, so i need a custom order status for order from U.S. & Canada for the logistic party to pick it up.

    Hopefully, there’s a way… I’ve tried everything. Thank you in advance. ๐Ÿ™‚

    Kind Regards,

    Jeroen Feron

    1. Hello Jeroen, thanks so much for your comment! Yes, this is definitely possible, but I’m afraid it’s custom work. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding!

  17. Hi
    I am new to Woocommerce, but I am familiar with PHP
    I want to set status=on hold on all new orders IF customer wrote an order note.

    so i imagine that the logic should look something like this

    if ($order-&gt;get_customer_note()){
        $order-&gt;update_status( 'pending' ); // is "on hold" = pending???
    }
    

    Thank You ๐Ÿ™‚

    1. would this do the trick???? (youre welcome to copy)

       
      // ---------------------
      // Set Order Status Pending If Customer Wrote A Note @ WooCommerce Checkout Process
       
      add_action( 'woocommerce_thankyou', 'bbloomer_thankyou_change_order_status' );
       
      function bbloomer_thankyou_change_order_status( $order_id ){
          if( ! $order_id ) return;
          $order = wc_get_order( $order_id );
      
          if ($order-&gt;get_customer_note()){
              // Status with or without the "wc-" prefix ??????
              $order-&gt;update_status( 'pending' ); //wc-pending
          }
      }
      
      
      1. Hey Michael, thanks for your comment! Did you test it?

  18. It works great, TYVM for this. Can this code be used to do two or more custom order status’?

    1. Excellent! Yes it can ๐Ÿ™‚

  19. Hi, every thing seems to be working correctly. But I am facing with this strange thing, that if order has this new custom status and I change the status to “Processing” then the email for processing status is not sent. But if the status is “Pending” and you change to “Processing” then everything works correctly. Do you have any ideas about this issue?

    1. Hello Kipras, thanks so much for your comment! Unfortunately this looks like custom troubleshooting work and I cannot help here via the blog comments. Thanks a lot for your understanding! ~

  20. Hi Rodolfo,

    following your code, i had an issue with admin order list page. When i open this page i can’t see previous orders anymore because of the ‘wc_order_statuses’ filter, with your structure.
    I had to set my code like this in order to work:

    function register_new_wc_order_statuses() {
    
        $order_statuses = array(
            'wc-first' =&gt; array(
                'label'                     =&gt; _x( 'Status 1', 'Order status', 'woocommerce' ),
                'public'                    =&gt; true,
                'exclude_from_search'       =&gt; false,
                'show_in_admin_all_list'    =&gt; true,
                'show_in_admin_status_list' =&gt; true,
                /* translators: %s: number of orders */
                'label_count'               =&gt; _n_noop( 'Status 1 (%s)', 'Status 1 (%s)', 'woocommerce' ),
            ),
            'wc-second' =&gt; array(
                'label'                     =&gt; _x( 'Status 2', 'Order status', 'woocommerce' ),
                'public'                    =&gt; true,
                'exclude_from_search'       =&gt; false,
                'show_in_admin_all_list'    =&gt; true,
                'show_in_admin_status_list' =&gt; true,
                /* translators: %s: number of orders */
                'label_count'               =&gt; _n_noop( 'Status 2 (%s)', 'Status 2 (%s)', 'woocommerce' ),
            ),
        );
    
        foreach ( $order_statuses as $order_status =&gt; $values ) :
            register_post_status( $order_status, $values );
        endforeach;
    
    }
    add_action( 'init', 'register_new_wc_order_statuses' );
    
    function show_new_wc_order_statuses( $order_statuses ) {
    
        $order_statuses['wc-first']  = _x( 'Status 1', 'WooCommerce Order status', 'woocommerce' );
        $order_statuses['wc-second'] = _x( 'Status 2', 'WooCommerce Order status', 'woocommerce' );
    
        return $order_statuses;
    }
    add_filter( 'wc_order_statuses', 'show_new_wc_order_statuses' );
    

    Thanks!

    1. Thanks ๐Ÿ™‚

  21. Good day,
    Pls how can i set custom order status for a particular payment gateway, example i want all orders made using a particular payment gateway to be in waiting payment status or pending quote status uisng the yith woocommerce request quote plugin..
    Please how can i do this?

    1. Hey Chris, thanks so much for your comment! Yes, this is possible – unfortunately this is custom work and I cannot provide a complementary solution here via the blog comments. Thanks a lot for your understanding! ~R

  22. Is it possible to use a snippet:

    When shipping an order:
    If
    order has balance outstanding ($ owing)
    then
    update status to custom status: account receivable
    send different email than status completed email. eg ac-rec invoice

    — Moving from Drupal.. so its a bit of a learning curve.
    Cheers for the tips!

    1. Hey Crab, thanks so much for your comment! Yes, this is possible – unfortunately this is custom work and I cannot provide a complementary solution here via the blog comments. If you’d like to get a quote, feel free to contact me here. Thanks a lot for your understanding! ~R

  23. Hi

    Great tip, thanks very much. One question, is it possible to have two custom statuses, by doing a modification of your code?

    Reason for asking; we want to use the commerce engine primarily for quotes. by having two statuses we would have one for “quote in progress” and quote sent. Both without sending any mails (which is great).

    Thanks!

    1. Hey Knut, thanks so much for your comment! Yes, this is possible – just add another $order_statuses[‘another-status’] array to the same function ๐Ÿ™‚

  24. Hi!

    Great guide and contribution!

    How can i add so that it only changes to this order-status for product with a specific custom field?

    For example:
    Custom field name is “Paymentdetails” and value is “teacher”

    Best regards
    Adam

    1. Hey Adam, thanks for your comment! I suggest you take a look at “conditional logic”: https://businessbloomer.com/conditional-logic-woocommerce-tutorial/ and https://businessbloomer.com/woocommerce-conditional-logic-ultimate-php-guide/. Let me know ๐Ÿ™‚

  25. Hi Rodolfo

    cam across your excellent mod here this morning. Have but one question.

    is it possible to add another custom status with no mail sending?

    Reason for asking, we’ll use woocommerce primarily for quotes, with the quote plugin. Thus it would be practical to have two custom statuses, one for quote in progress, and another for quote completed.

    Thanks!

    1. Hey Knut, thanks for your comment! Yes, of course, you can ๐Ÿ™‚

  26. The code removes “Processing” and “Complete” from the quick-view when clicking the “eye”. Any fix for that?

    1. Hey Bjornen, thanks for your comment. Screenshot please?

  27. Hi,
    Can we have more than one custom status from same function ? pl advice.

    Thanks

    1. Hey Kumar – yes you can ๐Ÿ™‚ But I can’t share this here – thanks for the understanding.

  28. This article was super helpful! We use woocommerce for our sales and checkouts for out website. With so many backend details it’s hard to know what changes what, unless your an expert!

    1. Cool ๐Ÿ™‚

  29. It worked on single order page drop down. Thanks.

    Is there is way it also can work on order page (dropdown Bulk Actions)

    1. Hey Mark – thanks so much for your comment! Part #2 does that already ๐Ÿ™‚

    2. Hi ,
      It’s visible only inside single order page. It doesn’t display (drop down) on order page .
      Pl check and advice.

      1. Fixed ๐Ÿ™‚

  30. It Worked . But all new orders are getting custom status . How do we keep it on manual basis? I want to keep as processing Status for all new orders.

    Also – Moment I removed Snippet from function file . All orders with custom status disappeared from order management page .
    Pl check

    1. Hey Kumar ๐Ÿ™‚

      1) Just delete snippet part #3
      2) Reactivate the snippet – change the order status to e.g. Processing – disable the snippet

      Hope this helps ๐Ÿ™‚

  31. Was Waiting for This .. Can i change keyword from custom to SHIPPED ?
    Pl advice. Thanks.

    1. Of course Kumar! Just change all “custom status” occurrences to “shipped” ๐Ÿ™‚

Questions? Feedback? Customization? Leave your comment now!
_____

If you are writing code, please wrap it like so: [php]code_here[/php]. Failure to complying with this, as well as going off topic or not using the English language will result in comment disapproval. You should expect a reply in about 2 weeks - this is a popular blog but I need to get paid work done first. Please consider joining the Business Bloomer Club to get quick WooCommerce support. Thank you!

Your email address will not be published. Required fields are marked *