get_error_code() || '/oembed/1.0/proxy' !== $request->get_route() ) { return $response; } // Try using a classic embed instead. global $wp_embed; $html = $wp_embed->shortcode( array(), $_GET['url'] ); if ( ! $html ) { return $response; } global $wp_scripts; // Check if any scripts were enqueued by the shortcode, and include them in // the response. $enqueued_scripts = array(); foreach ( $wp_scripts->queue as $script ) { $enqueued_scripts[] = $wp_scripts->registered[ $script ]->src; } return array( 'provider_name' => __( 'Embed Handler', 'gutenberg' ), 'html' => $html, 'scripts' => $enqueued_scripts, ); } add_filter( 'rest_request_after_callbacks', 'gutenberg_filter_oembed_result', 10, 3 ); /** * Start: Include for phase 2 */ /** * Registers the REST API routes needed by the legacy widget block. * * @since 5.0.0 */ function gutenberg_register_rest_widget_updater_routes() { $widget_forms = new WP_REST_Widget_Forms(); $widget_forms->register_routes(); } add_action( 'rest_api_init', 'gutenberg_register_rest_widget_updater_routes' ); /** * Registers the widget area REST API routes. * * @since 5.7.0 */ function gutenberg_register_rest_widget_areas() { $widget_areas_controller = new WP_REST_Widget_Areas_Controller(); $widget_areas_controller->register_routes(); } add_action( 'rest_api_init', 'gutenberg_register_rest_widget_areas' ); /** * Registers the block directory. * * @since 6.5.0 */ function gutenberg_register_rest_block_directory() { if ( ! gutenberg_is_experiment_enabled( 'gutenberg-block-directory' ) ) { return; } $block_directory_controller = new WP_REST_Block_Directory_Controller(); $block_directory_controller->register_routes(); } add_filter( 'rest_api_init', 'gutenberg_register_rest_block_directory' );