function fetch_orders() { if (!current_user_can('edit_others_posts')) { return; } $request = $_REQUEST; if (isset($request['search']) && $request['search'] != '') { /** * search post with keyword */ $posts = new WP_Query(array('s' => $request['search'], 'meta_key' => 'et_ad_order', 'showposts' => -1, 'post_status' => array('publish', 'pending', 'draft', 'archive', 'reject'))); /** * build orders id param */ $order_ids = array(); while ($posts->have_posts()) { $posts->the_post(); $order_id = get_post_meta(get_the_ID(), 'et_ad_order', true); if ($order_id) { $order = get_post($order_id); $order_ids = array_merge($order_ids, (array) $order->ID); } } // add args post__in to query order if (!empty($order_ids)) { $request['post__in'] = $order_ids; } } /** * get orders */ $orders = AE_Order::get_orders($request); $content = ''; ob_start(); while ($orders->have_posts()) { $orders->the_post(); global $post; ae_get_template_part('order', 'item'); } $content = ob_get_clean(); $response = array(); $response['pages'] = $orders->max_num_pages; $response['page'] = $_REQUEST['paged'] + 1; $response['data'] = $content; if (!$orders->have_posts()) { $response['msg'] = __("No order found by your query.", 'aecore-fields-backend'); } wp_send_json($response); }