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 { $itm_source = $this->itm_source; return array_map( static function ( stdClass $item ) use ( $itm_source ) { return (object) array( 'image_url' => $item->image_url, 'thumb_url_medium' => $item->thumb_url_medium, 'title' => $item->title, 'url' => Parsely::get_url_with_itm_source( $item->url, $itm_source ), ); }, $response ); } }