嘗試在 woocommerce 中建立郵遞區號驗證。
我無法讓我的查詢查看像 10000-000...15000-000 這樣的範圍間隔。
我的查詢適用於簡單的郵遞區號(10000-000 或 11001-001),但不適用於郵遞區號範圍。
global $wpdb; $tabela_cep = $wpdb->prefix . 'woocommerce_shipping_zone_locations'; $query = "SELECT location_code FROM $tabela_cep WHERE location_code = %s LIMIT 1"; $resultado = $wpdb->get_var($wpdb->prepare($query, $cep));
我不知道 woocommerce 如何在資料庫中儲存所有運輸區域的所有範圍。
我嘗試過“ Between”sintax來過濾字段locationcode和locationcode2,但我不確定這是否是正確的字段名稱/表名稱,甚至是否有其他方法可以實現這個。
global $wpdb; $tabela_cep = $wpdb->prefix . 'woocommerce_shipping_zone_locations'; $query = "SELECT location_code FROM $tabela_cep WHERE %s BETWEEN CAST(location_code AS UNSIGNED) AND CAST(location_code2 AS UNSIGNED) LIMIT 1"; $resultado = $wpdb->get_var($wpdb->prepare($query, $cep));
謝謝
我不知道這是否有幫助,但已經有一個名為 wc_postcode_location_matcher() 的核心 WooCommerce 函數,可以檢查給定的郵遞區號是否在郵遞區號範圍內。
您首先需要計算 $postcode_locations:
然後您需要 $country,因此如果您在結帳頁面上:
...或如果您正在驗證訂單:
那你就可以開始了: