Noptin_WooCommerce::get_order_customer_details( $order_id, $existing_subscriber = false )
Contents
Source Source
File: includes/integrations/class-noptin-woocommerce.php
public function get_order_customer_details( $order_id, $existing_subscriber = false ) { // Fetch the order. $order = wc_get_order( $order_id ); if ( empty( $order ) ) { return array(); } $noptin_fields = array(); if ( ! $existing_subscriber ) { $noptin_fields = array( '_subscriber_via' => 'woocommerce_checkout', 'order_id' => $order_id, ); } if ( method_exists( $order, 'get_billing_email' ) ) { $noptin_fields['email'] = $order->get_billing_email(); $noptin_fields['name'] = $order->get_formatted_billing_full_name(); $noptin_fields['phone'] = $order->get_billing_phone(); $noptin_fields['company'] = $order->get_billing_company(); $noptin_fields['address_1'] = $order->get_billing_address_1(); $noptin_fields['address_2'] = $order->get_billing_address_2(); $noptin_fields['postcode'] = $order->get_billing_postcode(); $noptin_fields['city'] = $order->get_billing_city(); $noptin_fields['state'] = $order->get_billing_state(); $noptin_fields['country'] = $order->get_billing_country(); $noptin_fields['wp_user_id'] = $order->get_customer_id(); $noptin_fields['ip_address'] = $order->get_customer_ip_address(); $noptin_fields['user_agent'] = $order->get_customer_user_agent(); $noptin_fields['formatted_address'] = $order->get_formatted_billing_address(); if ( ! empty( $noptin_fields['country'] ) ) { $countries = WC()->countries->get_countries(); $noptin_fields['country_short'] = $noptin_fields['country']; $noptin_fields['country'] = isset( $countries[ $noptin_fields['country'] ] ) ? $countries[ $noptin_fields['country'] ] : $noptin_fields['country']; } } else { $noptin_fields['email'] = $order->billing_email; $noptin_fields['name'] = trim( "{$order->billing_first_name} {$order->billing_last_name}" ); $noptin_fields['wp_user_id'] = $order->customer_id; $noptin_fields['phone'] = $order->billing_phone; $noptin_fields['company'] = $order->billing_company; $noptin_fields['address_1'] = $order->billing_address_1; $noptin_fields['address_2'] = $order->billing_address_2; $noptin_fields['postcode'] = $order->billing_postcode; $noptin_fields['city'] = $order->billing_city; $noptin_fields['state'] = $order->billing_state; $noptin_fields['country'] = $order->billing_country; $noptin_fields['ip_address'] = $order->customer_ip_address; $noptin_fields['user_agent'] = $order->customer_user_agent; } return array_filter( $noptin_fields ); }
Expand full source code Collapse full source code View on GitHub