Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public function get_tracking_data_order($order_id)
- {
- $order = wc_get_order($order_id);
- $data = array();
- $cart_id = $this->get_wc_cart_id();
- $email = !empty($this->get_email_id()) ? $this->get_email_id() : '';
- if (!$this->is_user_logged_in() || $this->is_administrator()) {
- $email = ! empty( $order->get_billing_email() ) ? $order->get_billing_email() : '';
- }
- if ('' != $email){
- $this->set_email_id_cookie($email);
- }
- $data['id'] = $order->get_order_number();
- $data['affiliation'] = (!empty(get_bloginfo('name')) && is_string(get_bloginfo('name'))) ? get_bloginfo('name') : '';
- $data['date'] = (!empty($order->get_date_created()->date(DATE_ATOM)) && is_string($order->get_date_created()->date(DATE_ATOM))) ? $order->get_date_created()->date(DATE_ATOM) : '';
- $data['subtotal'] = (!empty($order->get_subtotal()) && is_numeric($order->get_subtotal()) && !is_nan( $order->get_subtotal())) ? (float) $order->get_subtotal() : 0;
- $data['total'] = (!empty($order->get_total()) && is_numeric($order->get_total()) && !is_nan( $order->get_total())) ? (float) $order->get_total() : 0;
- $data['discount'] = (!empty($order->get_total_discount()) && is_numeric($order->get_total_discount()) && !is_nan($order->get_total_discount())) ? $order->get_total_discount() : 0;
- $data['shipping'] = (!empty($order->get_shipping_total()) && is_numeric($order->get_shipping_total()) && !is_nan($order->get_shipping_total())) ? (float) $order->get_shipping_total() : 0;
- $data['total_before_tax'] = (float) ($data['subtotal'] - $data['discount']);
- $data['tax'] = (!empty($order->get_total_tax()) && is_numeric($order->get_total_tax()) && !is_nan($order->get_total_tax())) ? round($order->get_total_tax(), 2) : 0;
- $data['revenue'] = (!empty($order->get_total()) && is_numeric($order->get_total()) && !is_nan($order->get_total())) ? (float) $order->get_total() : 0;
- $data['currency'] = (!empty($order->get_currency()) && is_string($order->get_currency())) ? $order->get_currency() : '';
- $data['url'] = (!empty($order->get_checkout_order_received_url()) && is_string($order->get_checkout_order_received_url())) ? $order->get_checkout_order_received_url() : '';
- $data['items'] = array();
- foreach ($order->get_items() as $item_key => $orderitem) {
- do_action( 'woocommerce/cart_loop/start', $orderitem );
- $product = wc_get_product($orderitem->get_product_id());
- $item = array();
- $item['name'] = (!empty($orderitem->get_name()) && is_string($orderitem->get_name())) ? $orderitem->get_name() : '';
- $item['sku'] = (!empty($product->get_sku()) && is_string($product->get_sku())) ? $product->get_sku() : '';
- $item['id'] = (!empty($orderitem->get_product_id()) && is_numeric($orderitem->get_product_id()) && ! is_nan($orderitem->get_product_id())) ? $orderitem->get_product_id() : '';
- $cats_array = wp_get_post_terms($item['id'], 'product_cat', array('fields' => 'names'));
- $item['category'] = is_array($cats_array) ? implode(',', $cats_array) : '';
- $item['variant_id'] = (!empty($orderitem->get_variation_id()) && is_numeric($orderitem->get_variation_id()) && !is_nan($orderitem->get_variation_id())) ? $orderitem->get_variation_id() : '';
- $variation = new \WC_Product_Variation($item['variant_id']);
- $item['variant_sku'] = (!empty($variation->get_sku()) && is_string($variation->get_sku())) ? $variation->get_sku() : '';
- $attributes = $variation->get_attributes();
- $item['variant_name'] = is_array($attributes) ? implode(',', $attributes) : '';
- $item['price'] = (!empty($orderitem->get_total()) && is_numeric($orderitem->get_total()) && ! is_nan($orderitem->get_total())) ? round($orderitem->get_total(), 2) : '';
- $item['tax'] = (!empty($orderitem->get_total_tax()) && is_numeric($orderitem->get_total_tax()) && ! is_nan($orderitem->get_total_tax())) ? round($orderitem->get_total_tax(), 2) : '';
- $item['quantity'] = (!empty($orderitem->get_quantity()) && is_numeric($orderitem->get_quantity()) && !is_nan($orderitem->get_quantity())) ? (int) $orderitem->get_quantity() : '';
- $product = wc_get_product($orderitem['product_id']);
- $image_id = $variation->get_image_id() ? $variation->get_image_id() : $product->get_image_id();
- $item['image'] = wp_get_attachment_image_url($image_id, 'full');
- $item['url'] = (!empty( $product->get_permalink()) && is_string($product->get_permalink())) ? $product->get_permalink() : '';
- array_push($data['items'], $item);
- do_action( 'woocommerce/cart_loop/end', $orderitem );
- }
- $shipping_address = array();
- $shipping_address['firstname'] = (!empty($order->get_shipping_first_name()) && is_string($order->get_shipping_first_name())) ? $order->get_shipping_first_name() : '';
- $shipping_address['lastname'] = (!empty($order->get_shipping_last_name()) && is_string($order->get_shipping_last_name())) ? $order->get_shipping_last_name() : '';
- $shipping_address['company'] = (!empty($order->get_shipping_company()) && is_string($order->get_shipping_company())) ? $order->get_shipping_company() : '';
- $shipping_address['phone'] = '';
- $shipping_address['address1'] = (!empty($order->get_shipping_address_1()) && is_string($order->get_shipping_address_1())) ? $order->get_shipping_address_1() : '';
- $shipping_address['address2'] = (!empty($order->get_shipping_address_2()) && is_string($order->get_shipping_address_2())) ? $order->get_shipping_address_2() : '';
- $shipping_address['city'] = (!empty( $order->get_shipping_city()) && is_string($order->get_shipping_city())) ? $order->get_shipping_city() : '';
- $shipping_address['country'] = (!empty($order->get_shipping_country()) && is_string($order->get_shipping_country())) ? $order->get_shipping_country() : '';
- $shipping_address['state'] = (!empty($order->get_shipping_state()) && is_string($order->get_shipping_state())) ? $order->get_shipping_state() : '';
- $shipping_address['zipcode'] = (!empty($order->get_shipping_postcode()) && is_string($order->get_shipping_postcode())) ? $order->get_shipping_postcode() : '';
- $billing_address = array();
- $billing_address['firstname'] = (!empty($order->get_billing_first_name()) && is_string($order->get_billing_first_name())) ? $order->get_billing_first_name() : '';
- $billing_address['lastname'] = (!empty($order->get_billing_last_name()) && is_string($order->get_billing_last_name())) ? $order->get_billing_last_name() : '';
- $billing_address['company'] = (!empty($order->get_billing_company()) && is_string($order->get_billing_company())) ? $order->get_billing_company() : '';
- $billing_address['phone'] = (!empty( $order->get_billing_phone()) && is_string($order->get_billing_phone())) ? $order->get_billing_phone() : '';
- $billing_address['address1'] = (!empty( $order->get_billing_address_1()) && is_string($order->get_billing_address_1())) ? $order->get_billing_address_1() : '';
- $billing_address['address2'] = (!empty( $order->get_billing_address_2()) && is_string($order->get_billing_address_2())) ? $order->get_billing_address_2() : '';
- $billing_address['city'] = (!empty( $order->get_billing_city()) && is_string($order->get_billing_city())) ? $order->get_billing_city() : '';
- $billing_address['country'] = (!empty( $order->get_billing_country()) && is_string($order->get_billing_country())) ? $order->get_billing_country() : '';
- $billing_address['state'] = (!empty( $order->get_billing_state()) && is_string($order->get_billing_state())) ? $order->get_billing_state() : '';
- $billing_address['zipcode'] = (!empty( $order->get_billing_postcode()) && is_string($order->get_billing_postcode())) ? $order->get_billing_postcode() : '';
- $billing_address['email'] = (!empty( $order->get_billing_email()) && is_string($order->get_billing_email())) ? $order->get_billing_email() : '';
- $data['shipping_address'] = $shipping_address;
- $data['billing_address'] = $billing_address;
- $data['payment_method'] = (!empty( $order->get_payment_method_title()) && is_string($order->get_payment_method_title())) ? $order->get_payment_method_title() : '';
- $data['customer_note'] = (!empty( $order->get_customer_note()) && is_string($order->get_customer_note())) ? $order->get_customer_note() : '';
- $data['shipping_method'] = '';
- foreach ($order->get_shipping_methods() as $item_id => $shipping_item) {
- $data['shipping_method'] = $shipping_item->get_method_title();
- }
- $data['shipping_tax'] = $order->get_shipping_tax() ?? "";
- $data['discount_tax'] = $order->get_discount_tax() ?? "";
- $data['discount_code'] = $order->get_coupon_codes() ?? "";
- $data['fee_lines'] = [];
- $fees = $order->get_fees() ?? "";
- if (!empty($fees)) {
- foreach ($fees as $key => $fee) {
- $data['fee_lines'][$key]['fee_name'] = $fee->get_name() ?? "";
- $data['fee_lines'][$key]['fee_total'] = $fee->get_total() ?? "";
- $data['fee_lines'][$key]['fee_tax'] = $fee->get_total_tax() ?? "";
- }
- }
- $data_track = array(
- 'email' => $email,
- 'event' => 'order_completed',
- 'eventdata' => array(
- 'id' => 'cart:' . $cart_id,
- 'data' => $data,
- ),
- );
- return $data_track;
- }
Advertisement
Comments
-
- \wp-content\plugins\woocommerce-sendinblue-newsletter-subscription\src\managers\cart-events-manager.php
Add Comment
Please, Sign In to add comment
Advertisement