prefix . 'aieo_dmm_shipping_rates'; $rows = $wpdb->get_results( $wpdb->prepare( "SELECT id, shipping_method_id, rate_class, rate_condition, rate_min, rate_max, rate_cost, rate_cost_per_item, rate_cost_per_weight_unit, rate_cost_percent, rate_label, rate_priority, rate_order, rate_abort, rate_abort_reason FROM {$table} WHERE shipping_method_id = %d AND enabled = 1 ORDER BY rate_order ASC, id ASC", $instance_id ), ARRAY_A ); $rows = is_array($rows) ? $rows : array(); $cast_keys = array( 'rate_min', 'rate_max', 'rate_cost', 'rate_cost_per_item', 'rate_cost_per_weight_unit', 'rate_cost_percent', ); foreach ($rows as &$row) { foreach ($cast_keys as $k) { $row[$k] = ($row[$k] === null) ? null : (float) $row[$k]; } $row['rate_priority'] = (int) $row['rate_priority']; $row['rate_order'] = (int) $row['rate_order']; $row['rate_abort'] = (int) $row['rate_abort']; } unset($row); wp_cache_set($cache_key, $rows, 'aieo_trs', 6 * HOUR_IN_SECONDS); self::$request_cache[$instance_id] = $rows; return $rows; } public static function cache_version() { if (class_exists('WC_Cache_Helper') && method_exists('WC_Cache_Helper', 'get_transient_version')) { return (string) WC_Cache_Helper::get_transient_version('shipping'); } return '1'; } public static function flush_request_cache() { self::$request_cache = array(); } } }