Home » WooCommerce: Rename “Completed” Order Status

WooCommerce: Rename “Completed” Order Status

by Tutor Aspire

What does “completed” really mean in regard to WooCommerce orders? No one knows. Admins and customers included.

For physical products, usually that’s when the order is shipped (unless you add a custom order status in between “processing” and “completed“). For digital stores, that’s when the downloads are delivered.

Now, wouldn’t it be cool if we could rename this “completed” order status label to something else? This would make everyone’s life easier. Well, thankfully with a few lines of code this is definitely possible… enjoy!

With the snippet below, I was able to rename the “completed” order status label, as well as the “Completed (XYZ)” counter in the navigation links. This should also change the frontend, and specifically the order status in the Orders tab of the WooCommerce My Account page

PHP Snippet: Rename “Completed” Order Status to “Shipped” @ WooCommerce Admin / My Account Page

Of course, together with the code below, also make sure to change the “Completed Order” email subject / content to make sure the label change is also matched.

/**
 * @snippet       Rename "completed" Order Status to "shipped"
 * @how-to        Get tutoraspire.com FREE
 * @author        Tutor Aspire
 * @compatible    WooCommerce 6
 * @donate $9     https://tutoraspire.com
 */

add_filter( 'wc_order_statuses', 'tutoraspire_rename_completed_order_status' );

function tutoraspire_rename_completed_order_status( $statuses ) {
$statuses['wc-completed'] = 'Shipped';
return $statuses;
}

add_filter( 'woocommerce_register_shop_order_post_statuses', 'tutoraspire_rename_completed_order_status_counter' );
 
function tutoraspire_rename_completed_order_status_counter( $statuses ) {
$statuses['wc-completed']['label_count'] = _n_noop( 'Shipped (%s)', 'Shipped (%s)', 'woocommerce' );
return $statuses;
}

You may also like