function column_last_purchase($item) { if ($item['order_id'] && !empty($item['order_id'])) { $order = wc_get_order($item['order_id']); if ($order) { return '<a href="' . get_edit_post_link($item['order_id']) . '">#' . $order->get_order_number() . '</a> - ' . woocommerce_crm_get_pretty_time($item['order_id']); } else { return ''; } } else { return ''; } }
/** * Handle CSV file download */ function export_csv() { header('Content-Type: application/csv'); header('Content-Disposition: attachment; filename=customers_' . date('Y-m-d') . '.csv'); header('Pragma: no-cache'); $__wc_crm_customer_details = new WC_Crm_Customer_Details(0, 0); $__wc_crm_customer_details->init_address_fields('', '', false); $__b_address = $__wc_crm_customer_details->billing_fields; $__s_address = $__wc_crm_customer_details->shipping_fields; $o = WC_CRM()->orders(); $data = $o->get_orders(); echo '"Customer name",'; foreach ($__b_address as $key => $label) { if ($key == 'first_name' || $key == 'last_name') { continue; } echo '"Billing ' . $label['label'] . '",'; } foreach ($__s_address as $key => $label) { if ($key == 'first_name' || $key == 'last_name') { continue; } echo '"Shipping ' . $label['label'] . '",'; } echo '"Username",'; echo '"Last purchase date",'; echo '"Number of orders",'; echo '"Total value",'; echo "\"Subscribed\"\n"; if (woocommerce_crm_mailchimp_enabled()) { $members = woocommerce_crm_get_members(); } foreach ($data as $item) { //$item = get_object_vars ( $customer ); if ($item['user_id']) { $user_id = $item['user_id']; $wc_crm_customer_details = new WC_Crm_Customer_Details($user_id, 0); $wc_crm_customer_details->init_address_fields('', '', false); $b_address = $wc_crm_customer_details->billing_fields; $s_address = $wc_crm_customer_details->shipping_fields; $data = get_user_meta($item['user_id']); echo '"' . $data['first_name'][0] . ' ' . $data['last_name'][0] . '",'; foreach ($b_address as $key => $value) { if ($key == 'first_name' || $key == 'last_name') { continue; } if ($key == 'country') { echo '"' . $item['country'] . '",'; continue; } if ($key == 'email') { echo '"' . $item['email'] . '",'; continue; } $field_name = 'billing_' . $key; $field_value = get_user_meta($user_id, $field_name, true); echo '"' . $field_value . '",'; } foreach ($s_address as $key => $value) { if ($key == 'first_name' || $key == 'last_name') { continue; } $field_name = 'shipping_' . $key; $field_value = get_user_meta($user_id, $field_name, true); echo '"' . $field_value . '",'; } $user = @get_userdata($user_id); echo '"' . (isset($user->user_login) ? $user->user_login : __('Guest', 'wc_customer_relationship_manager')) . '",'; $item['num_orders'] = wc_crm_get_num_orders($item['user_id']); $item['total_spent'] = wc_crm_get_order_value($item['user_id']); } else { $order_id = $item['order_id']; $user_id = 0; $order = new WC_Order($order_id); $wc_crm_customer_details_g = new WC_Crm_Customer_Details(0, $order_id); $wc_crm_customer_details_g->init_address_fields('', '', false); $b_address = $wc_crm_customer_details_g->billing_fields; $s_address = $wc_crm_customer_details_g->shipping_fields; $first_name = get_post_meta($item['order_id'], '_billing_first_name', true); $last_name = get_post_meta($item['order_id'], '_billing_last_name', true); echo '"' . $first_name . ' ' . $last_name . '",'; foreach ($b_address as $key => $value) { if ($key == 'first_name' || $key == 'last_name') { continue; } if ($key == 'country') { echo '"' . $item['country'] . '",'; continue; } if ($key == 'email') { echo '"' . $item['email'] . '",'; continue; } $name_var = 'billing_' . $key; $field_value = $wc_crm_customer_details_g->order->{$name_var}; echo '"' . $field_value . '",'; } foreach ($s_address as $key => $value) { if ($key == 'first_name' || $key == 'last_name') { continue; } $var_name = 'shipping_' . $key; $field_value = $wc_crm_customer_details_g->order->{$name_var}; echo '"' . $field_value . '",'; } echo '"' . __('Guest', 'wc_customer_relationship_manager') . '",'; $item['num_orders'] = wc_crm_get_num_orders($item['email'], '_billing_email', true); $item['total_spent'] = wc_crm_get_order_value($item['email'], '_billing_email', true); } $total_spent = wc_crm_price_num_decimals($item['total_spent']); $last_purchase = $item['order_id'] ? woocommerce_crm_get_pretty_time($item['order_id'], true) : ''; echo '"' . $last_purchase . '",'; echo '"' . $item['num_orders'] . '",'; if (woocommerce_crm_mailchimp_enabled()) { $enrolled_plain = in_array($item['email'], $members) ? 'yes' : 'no'; echo '"' . $total_spent . '",'; echo '"' . $enrolled_plain . "\"\n"; } else { echo '"' . $total_spent . "\"\n"; } } }