# Add an "Awaiting Shipment" Order Status

> Registers a new order status you can set on orders that are packed and waiting for the carrier, and adds it to the bulk actions menu.

- Type: PHP
- Runs: Run everywhere
- Category: [WooCommerce](https://wpide.com/library/category/woocommerce/)
- Requires: WooCommerce
- Tags: woocommerce, orders, status
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/woo-custom-order-status/

## Code

```php
add_filter( 'woocommerce_register_shop_order_post_statuses', function ( $statuses ) {
    $statuses['wc-awaiting-shipment'] = array(
        'label'                     => 'Awaiting shipment',
        'public'                    => false,
        'exclude_from_search'       => false,
        'show_in_admin_all_list'    => true,
        'show_in_admin_status_list' => true,
        /* translators: %s: number of orders */
        'label_count'               => _n_noop( 'Awaiting shipment <span class="count">(%s)</span>', 'Awaiting shipment <span class="count">(%s)</span>' ),
    );

    return $statuses;
} );

add_filter( 'wc_order_statuses', function ( $statuses ) {
    $new = array();

    foreach ( $statuses as $key => $label ) {
        $new[ $key ] = $label;

        if ( 'wc-processing' === $key ) {
            $new['wc-awaiting-shipment'] = 'Awaiting shipment';
        }
    }

    return $new;
} );

$wpide_awaiting_bulk = function ( $actions ) {
    $actions['mark_awaiting-shipment'] = 'Change status to awaiting shipment';

    return $actions;
};

add_filter( 'bulk_actions-woocommerce_page_wc-orders', $wpide_awaiting_bulk, 20 );
add_filter( 'bulk_actions-edit-shop_order', $wpide_awaiting_bulk, 20 );

add_filter( 'woocommerce_reports_order_statuses', function ( $statuses ) {
    if ( is_array( $statuses ) ) {
        $statuses[] = 'awaiting-shipment';
    }

    return $statuses;
} );
```

## Notes

Change the slug and label to create a different status. Orders keep this status if you later remove the snippet, so move them to another status first.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Add an "Awaiting Shipment" Order Status" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
