diff --git a/includes/Api/ShippingController.php b/includes/Api/ShippingController.php index f0e018a..cb9a61f 100644 --- a/includes/Api/ShippingController.php +++ b/includes/Api/ShippingController.php @@ -100,18 +100,20 @@ class ShippingController extends WP_REST_Controller { foreach ( $shipping_methods as $method ) { // Get fresh settings from database $method->init_instance_settings(); - $is_enabled = isset( $method->instance_settings['enabled'] ) && $method->instance_settings['enabled'] === 'yes'; - // Debug: Log what we're reading + // Debug: Check BOTH sources of enabled status error_log( sprintf( - '[WooNooW] Zone %d Method %s (instance %d): enabled setting = "%s", is_enabled = %s', + '[WooNooW] Zone %d Method %s (instance %d): $method->enabled = "%s", instance_settings["enabled"] = "%s"', $zone_data['id'], $method->id, $method->instance_id, - isset( $method->instance_settings['enabled'] ) ? $method->instance_settings['enabled'] : 'NOT SET', - $is_enabled ? 'true' : 'false' + isset( $method->enabled ) ? $method->enabled : 'NOT SET', + isset( $method->instance_settings['enabled'] ) ? $method->instance_settings['enabled'] : 'NOT SET' ) ); + // Use $method->enabled as the source of truth (this is what WooCommerce uses) + $is_enabled = isset( $method->enabled ) && $method->enabled === 'yes'; + $rate = array( 'id' => $method->id . ':' . $method->instance_id, 'instance_id' => $method->instance_id, @@ -154,17 +156,19 @@ class ShippingController extends WP_REST_Controller { foreach ( $shipping_methods as $method ) { // Get fresh settings from database $method->init_instance_settings(); - $is_enabled = isset( $method->instance_settings['enabled'] ) && $method->instance_settings['enabled'] === 'yes'; - // Debug: Log what we're reading + // Debug: Check BOTH sources of enabled status error_log( sprintf( - '[WooNooW] Zone 0 (Rest of World) Method %s (instance %d): enabled setting = "%s", is_enabled = %s', + '[WooNooW] Zone 0 (Rest of World) Method %s (instance %d): $method->enabled = "%s", instance_settings["enabled"] = "%s"', $method->id, $method->instance_id, - isset( $method->instance_settings['enabled'] ) ? $method->instance_settings['enabled'] : 'NOT SET', - $is_enabled ? 'true' : 'false' + isset( $method->enabled ) ? $method->enabled : 'NOT SET', + isset( $method->instance_settings['enabled'] ) ? $method->instance_settings['enabled'] : 'NOT SET' ) ); + // Use $method->enabled as the source of truth (this is what WooCommerce uses) + $is_enabled = isset( $method->enabled ) && $method->enabled === 'yes'; + $rate = array( 'id' => $method->id . ':' . $method->instance_id, 'instance_id' => $method->instance_id,