Files
WooNooW/includes/Api
dwindown 75133c366a fix(orders): Initialize WooCommerce cart/session before use
## Issue:
500 error on shipping/calculate and orders/preview endpoints
Error: "Call to a member function empty_cart() on null"

## Root Cause:
WC()->cart is not initialized in admin/REST API context
Calling WC()->cart->empty_cart() fails when cart is null

## Solution:
Initialize WooCommerce cart and session before using:

```php
// Initialize if not already loaded
if ( ! WC()->cart ) {
    wc_load_cart();
}
if ( ! WC()->session ) {
    WC()->session = new \WC_Session_Handler();
    WC()->session->init();
}

// Now safe to use
WC()->cart->empty_cart();
```

## Changes:
- Added initialization in calculate_shipping()
- Added initialization in preview_order()
- Both methods now safely use WC()->cart

## Testing:
-  Endpoints no longer return 500 error
-  Cart operations work correctly
-  Session handling works in admin context
2025-11-10 16:06:15 +07:00
..