AfterShip – WooCommerce Tracking - Version 1.9.9

Version Description

  • Add PostNL Domestic postal code data
Download this release

Release Info

Developer aftership
Plugin Icon 128x128 AfterShip – WooCommerce Tracking
Version 1.9.9
Comparing to
See all releases

Code changes from version 1.9.8 to 1.9.9

aftership.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: AfterShip - WooCommerce Tracking
4
  Plugin URI: http://aftership.com/
5
  Description: Add tracking number and carrier name to WooCommerce, display tracking info at order history page, auto import tracking numbers to AfterShip.
6
- Version: 1.9.8
7
  Author: AfterShip
8
  Author URI: http://aftership.com
9
 
3
  Plugin Name: AfterShip - WooCommerce Tracking
4
  Plugin URI: http://aftership.com/
5
  Description: Add tracking number and carrier name to WooCommerce, display tracking info at order history page, auto import tracking numbers to AfterShip.
6
+ Version: 1.9.9
7
  Author: AfterShip
8
  Author URI: http://aftership.com
9
 
api/class-aftership-api-orders.php CHANGED
@@ -317,11 +317,23 @@ class AfterShip_API_Orders extends AfterShip_API_Resource
317
  // Handle new Shipping Tracking plugin version higher than 1.6.4
318
  $tracking_items = order_post_meta_getter($order, 'wc_shipment_tracking_items')[0];
319
 
 
320
  if(!empty($tracking_items)) {
321
  $order_data['aftership']['woocommerce']['trackings'][0] = array(
322
  'tracking_number' => $tracking_items['tracking_number'],
323
- 'tracking_provider' => $tracking_items['custom_tracking_provider']
 
 
 
 
 
324
  );
 
 
 
 
 
 
325
  }
326
  } else {
327
  $order_data['aftership']['woocommerce']['trackings'][0] = array(
@@ -334,6 +346,45 @@ class AfterShip_API_Orders extends AfterShip_API_Resource
334
  return array('order' => apply_filters('aftership_api_order_response', $order_data, $order, $fields, $this->server));
335
  }
336
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
337
  /**
338
  * Get the total number of orders
339
  *
317
  // Handle new Shipping Tracking plugin version higher than 1.6.4
318
  $tracking_items = order_post_meta_getter($order, 'wc_shipment_tracking_items')[0];
319
 
320
+
321
  if(!empty($tracking_items)) {
322
  $order_data['aftership']['woocommerce']['trackings'][0] = array(
323
  'tracking_number' => $tracking_items['tracking_number'],
324
+ 'tracking_provider' => $tracking_items['custom_tracking_provider'],
325
+ 'tracking_ship_date' => '',
326
+ 'tracking_postal_code' => '',
327
+ 'tracking_account_number' => '',
328
+ 'tracking_key' => '',
329
+ 'tracking_destination_country' => '',
330
  );
331
+ // 获取 tracking_provider, tracking_postal_code
332
+ $trackingArr = $this->getTrackingInfoByShipmentTracking($tracking_items);
333
+ if(!empty($trackingArr)) {
334
+ $order_data['aftership']['woocommerce']['trackings'][0]['tracking_postal_code'] = $trackingArr['tracking_postal_code'];
335
+ $order_data['aftership']['woocommerce']['trackings'][0]['tracking_provider'] = $trackingArr['tracking_provider'];
336
+ }
337
  }
338
  } else {
339
  $order_data['aftership']['woocommerce']['trackings'][0] = array(
346
  return array('order' => apply_filters('aftership_api_order_response', $order_data, $order, $fields, $this->server));
347
  }
348
 
349
+
350
+ // 从wc ShipmentTracking 插件获取 Postalcode - postnl
351
+ private function getTrackingInfoByShipmentTracking($tracking_items) {
352
+ if(!isset($tracking_items['custom_tracking_link'])) {
353
+ return array();
354
+ }
355
+
356
+ // 获取 postnl Postalcode
357
+ $urlArr = parse_url(stripslashes($tracking_items['custom_tracking_link']));
358
+
359
+ if($urlArr === false) {
360
+ return array();
361
+ }
362
+
363
+ if (!isset($urlArr['host'])) {
364
+ return array();
365
+ }
366
+
367
+ $hostArr = explode(".", $urlArr['host']);
368
+ $hostArrIndex = count($hostArr) - 2;
369
+ if(empty($hostArr) || !isset($hostArr[$hostArrIndex])) {
370
+ return array();
371
+ }
372
+
373
+ if($hostArr[$hostArrIndex] == 'postnl') {
374
+ parse_str($urlArr['query'], $queryArr);
375
+ if(!isset($queryArr['Postalcode'])) {
376
+ return array();
377
+ }
378
+
379
+ return array(
380
+ 'tracking_provider' => 'postnl',
381
+ 'tracking_postal_code' => str_replace(" ", "", $queryArr['Postalcode']),
382
+ );
383
+ }
384
+ return array();
385
+ }
386
+
387
+
388
  /**
389
  * Get the total number of orders
390
  *
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://www.aftership.com/
4
  Tags: shipping, tracking, ups, usps, fedex, dhl, tnt, dpd, post, shipment, woocommerce, tracking number, aftership, package tracking, fulfilment, tracking link, carrier, courier, woo commerce, woocommerce shipment tracking, shipping details plugin, widget, shipstation, track, package
5
  Requires at least: 2.9
6
  Tested up to: 5.2.1
7
- Stable tag: 1.9.8
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -97,6 +97,9 @@ You'll find the FAQ on [AfterShip.com](https://aftership.uservoice.com/knowledge
97
 
98
  == Changelog ==
99
 
 
 
 
100
  = 1.9.8 =
101
  * Update readme.txt
102
 
4
  Tags: shipping, tracking, ups, usps, fedex, dhl, tnt, dpd, post, shipment, woocommerce, tracking number, aftership, package tracking, fulfilment, tracking link, carrier, courier, woo commerce, woocommerce shipment tracking, shipping details plugin, widget, shipstation, track, package
5
  Requires at least: 2.9
6
  Tested up to: 5.2.1
7
+ Stable tag: 1.9.9
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
97
 
98
  == Changelog ==
99
 
100
+ = 1.9.9 =
101
+ * Add PostNL Domestic postal code data
102
+
103
  = 1.9.8 =
104
  * Update readme.txt
105