Crear un nuevo estado de pedido en WooCommerce, por ejemplo «Enviado»

    <?php/** 
     * Añadir nuevos estados a un pedido en Woocommerce
    **/
    
    // Registrar Estado del pedido Enviado - hello-elementor es el text_domain
    function wpex_wc_register_post_statuses_enviado() {
        register_post_status( 'wc-order-sent', array(
            'label'                     => _x( 'Enviado', 'WooCommerce Order status', 'hello-elementor' ),
            'public'                    => true,
            'exclude_from_search'       => false,
            'show_in_admin_all_list'    => true,
            'show_in_admin_status_list' => true,
            'label_count'               => _n_noop( 'Enviado (%s)', 'Enviados (%s)', 'hello-elementor' )
        ) );
    }
    add_filter( 'init', 'wpex_wc_register_post_statuses_enviado' );
    
    // Añadir Estado del pedido Enviado a WooCommerce
    function wpex_wc_add_order_statuses_enviado( $order_statuses ) {
        $order_statuses['wc-order-sent'] = _x( 'Enviado', 'WooCommerce Order status', 'hello-elementor' );
        return $order_statuses;
    }
    add_filter( 'wc_order_statuses', 'wpex_wc_add_order_statuses_enviado' );
    
    
    
    // Email que se envía cuando el estado del pedido está en Enviado
    
    function email_shipping_notification( $order_id, $checkout=null ) {
       global $woocommerce;
    
       $order = new WC_Order( $order_id );
    
       //error_log( $order->status );
    
       if($order->status === 'order-sent' ) {
    
          // Mensaje del email.
          $mailer 		= $woocommerce->mailer();
    
          $message_body = __( 'Su pedido se encuentra listo y ha sido enviado en estos momentos.<br> Si quiere puede acceder a su cuenta y ver sus pedidos en el siguiente enlace:<br><br><a href="https://catandovino.com/mi-cuenta/orders/" target="_blank">Acceso a su cuenta</a>.', 'hello-elementor'  );
    
          $message 		= $mailer->wrap_message(
            // Mensaje en header.
            sprintf( __( 'Su pedido ha sido enviado', 'hello-elementor'  ), $order->get_order_number() ), $message_body );
    
          // Asunto del mensaje.
    		$result = $mailer->send( $order->billing_email, sprintf( __( 'Su pedido ha sido enviado desde Catando Vino', 'text_domain'  ), $order->get_order_number() ), $message );
    
    	 //error_log( $result );
    	}
    
    }
    add_action( 'woocommerce_order_status_changed', 'email_shipping_notification');