Changeset 3412818
- Timestamp:
- 12/06/2025 08:05:14 AM (3 months ago)
- Location:
- city-zip-based-shipping-rate-for-woocommerce
- Files:
-
- 4 added
- 6 edited
-
tags/1.0.0/assets/frontend.js (added)
-
tags/1.0.0/assets/frontend.min.js (added)
-
tags/1.0.0/inc/class-location-shipping-rate.php (modified) (2 diffs)
-
tags/1.0.0/inc/class-main.php (modified) (2 diffs)
-
tags/1.0.0/inc/class-utils.php (modified) (1 diff)
-
trunk/assets/frontend.js (added)
-
trunk/assets/frontend.min.js (added)
-
trunk/inc/class-location-shipping-rate.php (modified) (2 diffs)
-
trunk/inc/class-main.php (modified) (2 diffs)
-
trunk/inc/class-utils.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
city-zip-based-shipping-rate-for-woocommerce/tags/1.0.0/inc/class-location-shipping-rate.php
r3406565 r3412818 35 35 */ 36 36 37 public function __construct($instance_id, $package ) {37 public function __construct($instance_id, $package = array()) { 38 38 $shipping_method = \WC_Shipping_Zones::get_shipping_method($instance_id); 39 39 if (!is_a($shipping_method, Shipping_Method::class)) { … … 63 63 64 64 return false; 65 } 66 67 /** 68 * Get available cities 69 * 70 * @since 1.0.0 71 * @return array 72 */ 73 public function get_cities() { 74 $line_items = $this->get_setting('line_items'); 75 if (is_array($line_items) && count($line_items) == 0) { 76 return array(); 77 } 78 79 $cities = array(); 80 foreach ($line_items as $line_item) { 81 if (empty($line_item['cities'])) { 82 continue; 83 } 84 85 array_push($cities, ...$line_item['cities']); 86 } 87 88 sort($cities); 89 return $cities; 65 90 } 66 91 -
city-zip-based-shipping-rate-for-woocommerce/tags/1.0.0/inc/class-main.php
r3408737 r3412818 54 54 */ 55 55 public function hooks() { 56 add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts')); 56 57 add_filter('plugin_action_links', array($this, 'add_plugin_links'), 10, 2); 57 58 add_filter('woocommerce_shipping_methods', array($this, 'add_shipping_method')); … … 94 95 return $methods; 95 96 } 97 98 /** 99 * Implement styles and scripts 100 * 101 * @since 1.0.0 102 * @return void 103 */ 104 public function enqueue_scripts() { 105 wp_enqueue_script('city-zip-based-shipping-rate', CITY_ZIP_BASED_SHIPPING_RATE_URI . 'assets/frontend.min.js', ['jquery'], Utils::get_plugin_version(), true); 106 } 96 107 } 97 108 -
city-zip-based-shipping-rate-for-woocommerce/tags/1.0.0/inc/class-utils.php
r3406565 r3412818 95 95 return $cart_item_data; 96 96 } 97 98 /** 99 * Get current city based shipping rate 100 * 101 * @since 1.0.0 102 * @return false|Location_Shipping 103 */ 104 public static function get_current_shipping_rate() { 105 if (!WC()->shipping()) { 106 return false; 107 } 108 109 $packages = WC()->shipping()->get_packages(); 110 if (!isset($packages[0])) { 111 return false; 112 } 113 114 $location_shipping = false; 115 $zone = wc_get_shipping_zone($packages[0]); 116 $methods = $zone->get_shipping_methods(); 117 if (is_array($methods)) { 118 foreach ($methods as $method) { 119 if ('city_zip_based_shipping_method' === $method->id) { 120 $location_shipping = new Location_Shipping($method->get_instance_id()); 121 } 122 } 123 } 124 125 return $location_shipping; 126 } 97 127 } -
city-zip-based-shipping-rate-for-woocommerce/trunk/inc/class-location-shipping-rate.php
r3406565 r3412818 35 35 */ 36 36 37 public function __construct($instance_id, $package ) {37 public function __construct($instance_id, $package = array()) { 38 38 $shipping_method = \WC_Shipping_Zones::get_shipping_method($instance_id); 39 39 if (!is_a($shipping_method, Shipping_Method::class)) { … … 63 63 64 64 return false; 65 } 66 67 /** 68 * Get available cities 69 * 70 * @since 1.0.0 71 * @return array 72 */ 73 public function get_cities() { 74 $line_items = $this->get_setting('line_items'); 75 if (is_array($line_items) && count($line_items) == 0) { 76 return array(); 77 } 78 79 $cities = array(); 80 foreach ($line_items as $line_item) { 81 if (empty($line_item['cities'])) { 82 continue; 83 } 84 85 array_push($cities, ...$line_item['cities']); 86 } 87 88 sort($cities); 89 return $cities; 65 90 } 66 91 -
city-zip-based-shipping-rate-for-woocommerce/trunk/inc/class-main.php
r3408737 r3412818 54 54 */ 55 55 public function hooks() { 56 add_action('wp_enqueue_scripts', array($this, 'enqueue_scripts')); 56 57 add_filter('plugin_action_links', array($this, 'add_plugin_links'), 10, 2); 57 58 add_filter('woocommerce_shipping_methods', array($this, 'add_shipping_method')); … … 94 95 return $methods; 95 96 } 97 98 /** 99 * Implement styles and scripts 100 * 101 * @since 1.0.0 102 * @return void 103 */ 104 public function enqueue_scripts() { 105 wp_enqueue_script('city-zip-based-shipping-rate', CITY_ZIP_BASED_SHIPPING_RATE_URI . 'assets/frontend.min.js', ['jquery'], Utils::get_plugin_version(), true); 106 } 96 107 } 97 108 -
city-zip-based-shipping-rate-for-woocommerce/trunk/inc/class-utils.php
r3406565 r3412818 95 95 return $cart_item_data; 96 96 } 97 98 /** 99 * Get current city based shipping rate 100 * 101 * @since 1.0.0 102 * @return false|Location_Shipping 103 */ 104 public static function get_current_shipping_rate() { 105 if (!WC()->shipping()) { 106 return false; 107 } 108 109 $packages = WC()->shipping()->get_packages(); 110 if (!isset($packages[0])) { 111 return false; 112 } 113 114 $location_shipping = false; 115 $zone = wc_get_shipping_zone($packages[0]); 116 $methods = $zone->get_shipping_methods(); 117 if (is_array($methods)) { 118 foreach ($methods as $method) { 119 if ('city_zip_based_shipping_method' === $method->id) { 120 $location_shipping = new Location_Shipping($method->get_instance_id()); 121 } 122 } 123 } 124 125 return $location_shipping; 126 } 97 127 }
Note: See TracChangeset
for help on using the changeset viewer.