public function index_post($post, $blocking = true) { /** * Filter post prior to indexing * * Allows for last minute indexing of post information. * * @since 1.7 * * @param array Array of post information to index. */ $post = apply_filters('ep_pre_index_post', $post); $index = trailingslashit(ep_get_index_name()); $path = $index . 'post/' . $post['post_id']; if (function_exists('wp_json_encode')) { $encoded_post = wp_json_encode($post); } else { $encoded_post = json_encode($post); } $request_args = array('body' => $encoded_post, 'method' => 'PUT', 'timeout' => 15, 'blocking' => $blocking); $request = ep_remote_request($path, apply_filters('ep_index_post_request_args', $request_args, $post)); do_action('ep_index_post_retrieve_raw_response', $request, $post, $path); if (!is_wp_error($request)) { $response_body = wp_remote_retrieve_body($request); return json_decode($response_body); } return false; }