register_endpoint( '/related' ); } /** * Cached "proxy" to the Parse.ly `/related` API endpoint. * * @param WP_REST_Request $request The request object. * * @return stdClass|WP_Error stdClass containing the data or a WP_Error object on failure. */ public function get_items( WP_REST_Request $request ) { return $this->get_data( $request, false, 'query' ); } /** * Generates the final data from the passed response. * * @param array $response The response received by the proxy. * @return array The generated data. */ protected function generate_data( $response ): array { return array_map( static function( stdClass $item ) { return (object) array( 'image_url' => $item->image_url, 'thumb_url_medium' => $item->thumb_url_medium, 'title' => $item->title, 'url' => $item->url, ); }, $response ); } }