Commit Graph

2 Commits

Author SHA1 Message Date
dwindown
3b0bc43194 fix: ShippingController extends WP_REST_Controller
Fixed fatal error in ShippingController.

Issue:
- ShippingController extended BaseController (does not exist)
- Caused PHP fatal error: Class not found

Fix:
- Changed to extend WP_REST_Controller (WordPress standard)
- Matches pattern used by PaymentsController and StoreController
- Added proper PHPDoc header

Result:
 API endpoint now works
 No more 500 errors
 Shipping zones load correctly
2025-11-08 21:36:50 +07:00
dwindown
bc7206f1cc feat: Add Shipping API controller
Created backend API for fetching WooCommerce shipping zones.

New Files:
- includes/Api/ShippingController.php

Features:
 GET /settings/shipping/zones endpoint
 Fetches all WooCommerce shipping zones
 Includes shipping methods for each zone
 Handles "Rest of the World" zone (zone 0)
 Returns formatted region names
 Returns method costs (Free, Calculated, or price)
 Permission check: manage_woocommerce

Data Structure:
- id: Zone ID
- name: Zone name
- order: Display order
- regions: Comma-separated region names
- rates: Array of shipping methods
  - id: Method instance ID
  - name: Method title
  - price: Formatted price or "Free"/"Calculated"
  - enabled: Boolean

Integration:
- Registered in Routes.php
- Uses WC_Shipping_Zones API
- Compatible with all WooCommerce shipping methods
2025-11-08 21:27:34 +07:00