diff --git a/admin-spa/src/routes/Settings/Tax.tsx b/admin-spa/src/routes/Settings/Tax.tsx index 79e419f..bf61f66 100644 --- a/admin-spa/src/routes/Settings/Tax.tsx +++ b/admin-spa/src/routes/Settings/Tax.tsx @@ -23,6 +23,8 @@ export default function TaxSettings() { const [showAddRate, setShowAddRate] = useState(false); const [editingRate, setEditingRate] = useState(null); const [deletingRate, setDeletingRate] = useState(null); + const [dismissedSuggestions, setDismissedSuggestions] = useState([]); + const [selectedTaxClass, setSelectedTaxClass] = useState(''); // Fetch tax settings const { data: settings, isLoading } = useQuery({ @@ -140,7 +142,7 @@ export default function TaxSettings() { state: formData.get('state') as string || '', rate: parseFloat(formData.get('rate') as string), name: formData.get('name') as string, - tax_class: formData.get('tax_class') as string || '', + tax_class: selectedTaxClass || '', priority: 1, compound: 0, shipping: 1, @@ -391,6 +393,10 @@ export default function TaxSettings() { if (!open) { setShowAddRate(false); setEditingRate(null); + setSelectedTaxClass(''); + } else { + // Initialize tax class when opening + setSelectedTaxClass(editingRate?.tax_class || ''); } }}> @@ -455,15 +461,16 @@ export default function TaxSettings() {
- +
diff --git a/includes/Api/TaxController.php b/includes/Api/TaxController.php index 9d0c629..eb75a05 100644 --- a/includes/Api/TaxController.php +++ b/includes/Api/TaxController.php @@ -171,14 +171,23 @@ class TaxController extends WP_REST_Controller { private function get_tax_rates( $tax_class ) { global $wpdb; - $rates = $wpdb->get_results( - $wpdb->prepare( + // For 'standard' class, match both empty string and 'standard' + if ( $tax_class === 'standard' ) { + $rates = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}woocommerce_tax_rates - WHERE tax_rate_class = %s - ORDER BY tax_rate_order ASC", - $tax_class - ) - ); + WHERE tax_rate_class = '' OR tax_rate_class = 'standard' + ORDER BY tax_rate_order ASC" + ); + } else { + $rates = $wpdb->get_results( + $wpdb->prepare( + "SELECT * FROM {$wpdb->prefix}woocommerce_tax_rates + WHERE tax_rate_class = %s + ORDER BY tax_rate_order ASC", + $tax_class + ) + ); + } $formatted_rates = array();