function get_wooc_orders_data() { global $post, $woocommerce, $the_order; if (defined('WC_VERSION') && floatval(WC_VERSION) >= 2.2) { $orders_data = array(); include_once dirname(WC_PLUGIN_FILE) . '/includes/admin/class-wc-admin-post-types.php'; $CPT_Shop_Order = new WC_Admin_Post_Types(); $user_email = ''; if (isset($_GET['order_id'])) { $user_order_id = $_GET['order_id']; $u = new WC_Order($user_order_id); $user_email = $u->billing_email; if (empty($user_email)) { return $orders_data; } $args = array('numberposts' => -1, 'post_type' => 'shop_order', 'post_status' => array_keys(wc_get_order_statuses()), 'meta_query' => array(array('key' => '_billing_email', 'value' => $user_email))); } else { if (isset($_GET['user_id']) && !empty($_GET['user_id'])) { $identifier = get_option('woocommerce_crm_unique_identifier'); if ($identifier == 'username_email') { $args = array('numberposts' => -1, 'post_type' => 'shop_order', 'post_status' => array_keys(wc_get_order_statuses()), 'meta_query' => array(array('key' => '_customer_user', 'value' => $_GET['user_id']))); } else { $user_email = get_user_meta($_GET['user_id'], 'billing_email', true); if (empty($user_email)) { return $orders_data; } $args = array('numberposts' => -1, 'post_type' => 'shop_order', 'post_status' => array_keys(wc_get_order_statuses()), 'meta_query' => array(array('key' => '_billing_email', 'value' => $user_email))); } } } $orders = get_posts($args); foreach ($orders as $order) { $id = $order->ID; $post = $order; $o['ID'] = $post->ID; $post_status = get_post_status($post->ID); $st = array('wc-pending', 'wc-failed', 'wc-on-hold', 'wc-processing', 'wc-completed', 'wc-refunded', 'wc-cancelled'); if (!in_array($post_status, $st)) { ob_start(); do_action('manage_shop_order_posts_custom_column', 'order_status'); $o['order_status'] = ob_get_contents(); ob_end_clean(); } else { ob_start(); $CPT_Shop_Order->render_shop_order_columns('order_status'); $o['order_status'] = ob_get_contents(); ob_end_clean(); } ob_start(); $CPT_Shop_Order->render_shop_order_columns('order_title'); $o['order_title'] = ob_get_contents(); ob_end_clean(); ob_start(); $CPT_Shop_Order->render_shop_order_columns('order_items'); $o['order_items'] = ob_get_contents(); ob_end_clean(); ob_start(); $CPT_Shop_Order->render_shop_order_columns('shipping_address'); $o['shipping_address'] = ob_get_contents(); ob_end_clean(); ob_start(); $CPT_Shop_Order->render_shop_order_columns('customer_message'); $o['customer_message'] = ob_get_contents(); ob_end_clean(); ob_start(); remove_filter('comments_clauses', array('WC_Comments', 'exclude_order_comments'), 10, 1); if (defined('WC_VERSION') && floatval(WC_VERSION) >= 2.2) { remove_filter('comments_clauses', array('WC_Comments', 'exclude_webhook_comments'), 10, 1); } $CPT_Shop_Order->render_shop_order_columns('order_notes'); add_filter('comments_clauses', array('WC_Comments', 'exclude_order_comments'), 10, 1); if (defined('WC_VERSION') && floatval(WC_VERSION) >= 2.2) { add_filter('comments_clauses', array('WC_Comments', 'exclude_webhook_comments'), 10, 1); } $o['order_notes'] = ob_get_contents(); ob_end_clean(); ob_start(); $CPT_Shop_Order->render_shop_order_columns('order_date'); $o['order_date'] = ob_get_contents(); ob_end_clean(); ob_start(); $CPT_Shop_Order->render_shop_order_columns('order_total'); $o['order_total'] = ob_get_contents(); ob_end_clean(); $orders_data[] = $o; } } else { $orders_data = array(); $CPT_Shop_Order = new WC_Admin_CPT_Shop_Order(); $user_email = ''; if (isset($_GET['order_id'])) { $user_order_id = $_GET['order_id']; $u = new WC_Order($user_order_id); $user_email = $u->billing_email; } else { if (isset($_GET['user_id']) && !empty($_GET['user_id'])) { $user_email = get_user_meta($_GET['user_id'], 'email', true); if (empty($user_email)) { $user_email = get_user_meta($_GET['user_id'], 'billing_email', true); } } } if (empty($user_email)) { return $orders_data; } $args = array('numberposts' => -1, 'post_type' => 'shop_order', 'post_status' => 'publish', 'meta_query' => array(array('key' => '_billing_email', 'value' => $user_email))); $orders = get_posts($args); foreach ($orders as $order) { $id = $order->ID; $post = $order; $o['ID'] = $post->ID; ob_start(); $CPT_Shop_Order->custom_columns('order_status'); $o['order_status'] = ob_get_contents(); ob_end_clean(); $st = array('pending', 'failed', 'on-hold', 'processing', 'completed', 'refunded', 'cancelled'); if (!in_array(strip_tags($o['order_status']), $st)) { ob_start(); do_action('manage_shop_order_posts_custom_column', 'order_status'); $o['order_status'] = ob_get_contents(); ob_end_clean(); } ob_start(); $CPT_Shop_Order->custom_columns('order_title'); $o['order_title'] = ob_get_contents(); ob_end_clean(); ob_start(); $CPT_Shop_Order->custom_columns('order_items'); $o['order_items'] = ob_get_contents(); ob_end_clean(); ob_start(); $CPT_Shop_Order->custom_columns('shipping_address'); $o['shipping_address'] = ob_get_contents(); ob_end_clean(); ob_start(); $CPT_Shop_Order->custom_columns('customer_message'); $o['customer_message'] = ob_get_contents(); ob_end_clean(); ob_start(); $CPT_Shop_Order->custom_columns('order_notes'); $o['order_notes'] = ob_get_contents(); ob_end_clean(); ob_start(); $CPT_Shop_Order->custom_columns('order_date'); $o['order_date'] = ob_get_contents(); ob_end_clean(); ob_start(); $CPT_Shop_Order->custom_columns('order_total'); $o['order_total'] = ob_get_contents(); ob_end_clean(); $orders_data[] = $o; } } return $orders_data; }