From 9c71bc36a0405c93a1909583364ffd97239cd867 Mon Sep 17 00:00:00 2001 From: Akolzin Dmitry Date: Tue, 19 Jun 2018 10:03:46 +0300 Subject: [PATCH] UA fix, add new filters --- CHANGELOG.md | 4 ++ VERSION | 2 +- src/include/class-wc-retailcrm-customers.php | 2 +- src/include/class-wc-retailcrm-ga.php | 9 ++-- src/include/class-wc-retailcrm-orders.php | 2 +- src/include/functions.php | 50 ++++++++++---------- src/readme.txt | 8 ++++ src/retailcrm.php | 2 +- 8 files changed, 46 insertions(+), 33 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2529772..c38a0c6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2018-06-19 v3.1.1 +* Исправлен код отправки данных в UA +* Добавлены новые фильтры, добавлена передача новых параметров в существущие + ## 2018-05-28 v3.1.0 * В интерфейс настроек плагина добавлена возможность ручной выгрузки заказов * Исправлена инициализация кода UA для отправки заказов на всех страницах diff --git a/VERSION b/VERSION index a0cd9f0..50e47c8 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -3.1.0 \ No newline at end of file +3.1.1 \ No newline at end of file diff --git a/src/include/class-wc-retailcrm-customers.php b/src/include/class-wc-retailcrm-customers.php index 9933174..5ad1ef4 100644 --- a/src/include/class-wc-retailcrm-customers.php +++ b/src/include/class-wc-retailcrm-customers.php @@ -145,7 +145,7 @@ if (!class_exists('WC_Retailcrm_Customers')) : ); } - $this->customer = apply_filters('retailcrm_process_customer', $data_customer); + $this->customer = apply_filters('retailcrm_process_customer', $data_customer, $customer); } /** diff --git a/src/include/class-wc-retailcrm-ga.php b/src/include/class-wc-retailcrm-ga.php index 727655e..aef2030 100644 --- a/src/include/class-wc-retailcrm-ga.php +++ b/src/include/class-wc-retailcrm-ga.php @@ -95,7 +95,7 @@ if (!class_exists('WC_Retailcrm_Google_Analytics')) { ga('require', 'ecommerce', 'ecommerce.js'); ga('ecommerce:addTransaction', { 'id':" . $order->get_id() . ", - 'affiliation':" . $domain . ", + 'affiliation':'" . $domain . "', 'revenue':" . $order->get_total() . ", 'shipping':" . $order->get_total_tax() . ", 'tax':" . $order->get_shipping_total() . " @@ -111,13 +111,12 @@ if (!class_exists('WC_Retailcrm_Google_Analytics')) { 'price': " . $item['price'] . ", 'quantity': " . $item['quantity'] . " }); - - } - ga('ecommerce:send'); - "; } + $js .= "ga('ecommerce:send'); + "; + return apply_filters('retailcrm_send_analytics', $js); } } diff --git a/src/include/class-wc-retailcrm-orders.php b/src/include/class-wc-retailcrm-orders.php index ecb29d0..7f12242 100644 --- a/src/include/class-wc-retailcrm-orders.php +++ b/src/include/class-wc-retailcrm-orders.php @@ -363,7 +363,7 @@ if ( ! class_exists( 'WC_Retailcrm_Orders' ) ) : } } - $this->order = apply_filters('retailcrm_process_order', $order_data); + $this->order = apply_filters('retailcrm_process_order', $order_data, $order); } /** diff --git a/src/include/functions.php b/src/include/functions.php index a62e9c8..f09a57d 100644 --- a/src/include/functions.php +++ b/src/include/functions.php @@ -10,35 +10,37 @@ function get_wc_shipping_methods($enhanced = false) { $shippingZonesObj = new WC_Shipping_Zones(); $shippingZones = $shippingZonesObj->get_zones(); - foreach ($shippingZones as $code => $shippingZone) { - foreach ($shippingZone['shipping_methods'] as $key => $shipping_method) { - $shipping_methods = array( - 'id' => $shipping_method->id, - 'instance_id' => $shipping_method->instance_id, - 'title' => $shipping_method->title - ); - - if ($enhanced) { - $shipping_code = $shipping_method->id; - } else { - $shipping_code = $shipping_method->id . ':' . $shipping_method->instance_id; - } - - if (!isset($result[$shipping_code])) { - $result[$shipping_code] = array( - 'name' => $shipping_method->method_title, - 'enabled' => $shipping_method->enabled, - 'description' => $shipping_method->method_description, + if ($shippingZones) { + foreach ($shippingZones as $code => $shippingZone) { + foreach ($shippingZone['shipping_methods'] as $key => $shipping_method) { + $shipping_methods = array( + 'id' => $shipping_method->id, + 'instance_id' => $shipping_method->instance_id, 'title' => $shipping_method->title ); - } - if ($enhanced) { - $result[$shipping_method->id]['shipping_methods'][$shipping_method->id . ':' . $shipping_method->instance_id] = $shipping_methods; - unset($shipping_methods); + if ($enhanced) { + $shipping_code = $shipping_method->id; + } else { + $shipping_code = $shipping_method->id . ':' . $shipping_method->instance_id; + } + + if (!isset($result[$shipping_code])) { + $result[$shipping_code] = array( + 'name' => $shipping_method->method_title, + 'enabled' => $shipping_method->enabled, + 'description' => $shipping_method->method_description, + 'title' => $shipping_method->title + ); + } + + if ($enhanced) { + $result[$shipping_method->id]['shipping_methods'][$shipping_method->id . ':' . $shipping_method->instance_id] = $shipping_methods; + unset($shipping_methods); + } } } } - return $result; + return apply_filters('retailcrm_shipping_list', $result); } diff --git a/src/readme.txt b/src/readme.txt index 5010042..334683f 100644 --- a/src/readme.txt +++ b/src/readme.txt @@ -45,6 +45,10 @@ API-ключ должен быть для отдельного магазина 2. В появившихся списках справочников настройте соответствие способов доставки и оплаты, а так же статусов заказов. Отметьте галочку "Выгружать остатки", если хотите выгружать остатки из Retailcrm в магазин (подробнее смотрите в описании). == Changelog == += 3.1.1 = +* Исправлен код отправки данных в UA +* Добавлены новые фильтры, добавлена передача новых параметров в существущие + = 3.1.0 = * В интерфейс настроек плагина добавлена возможность ручной выгрузки заказов * Исправлена инициализация кода UA для отправки заказов на всех страницах @@ -123,6 +127,10 @@ API-ключ должен быть для отдельного магазина == Upgrade Notice == += 3.1.1 = +Исправлен код отправки данных в UA +Добавлены новые фильтры, добавлена передача новых параметров в существущие + = 3.1.0 = В интерфейс настроек плагина добавлена возможность ручной выгрузки заказов diff --git a/src/retailcrm.php b/src/retailcrm.php index 2586e30..3e8035e 100644 --- a/src/retailcrm.php +++ b/src/retailcrm.php @@ -1,6 +1,6 @@