WP_REST_Widget_Types_Controller::render_legacy_widget_preview_iframe()privateWP 5.9.0

Renders a page containing a preview of the requested Legacy Widget block.

Method of the class: WP_REST_Widget_Types_Controller{}

No Hooks.

Return

String. Rendered Legacy Widget block preview.

Usage

// private - for code of main (parent) class only
$result = $this->render_legacy_widget_preview_iframe( $id_base, $instance );
$id_base(string) (required)
The id base of the requested widget.
$instance(array) (required)
The widget instance attributes.

Changelog

Since 5.9.0 Introduced.

WP_REST_Widget_Types_Controller::render_legacy_widget_preview_iframe() code WP 6.5.2

<?php
private function render_legacy_widget_preview_iframe( $id_base, $instance ) {
	if ( ! defined( 'IFRAME_REQUEST' ) ) {
		define( 'IFRAME_REQUEST', true );
	}

	ob_start();
	?>
	<!doctype html>
	<html <?php language_attributes(); ?>>
	<head>
		<meta charset="<?php bloginfo( 'charset' ); ?>" />
		<meta name="viewport" content="width=device-width, initial-scale=1" />
		<link rel="profile" href="https://gmpg.org/xfn/11" />
		<?php wp_head(); ?>
		<style>
			/* Reset theme styles */
			html, body, #page, #content {
				padding: 0 !important;
				margin: 0 !important;
			}
		</style>
	</head>
	<body <?php body_class(); ?>>
	<div id="page" class="site">
		<div id="content" class="site-content">
			<?php
			$registry = WP_Block_Type_Registry::get_instance();
			$block    = $registry->get_registered( 'core/legacy-widget' );
			echo $block->render(
				array(
					'idBase'   => $id_base,
					'instance' => $instance,
				)
			);
			?>
		</div><!-- #content -->
	</div><!-- #page -->
	<?php wp_footer(); ?>
	</body>
	</html>
	<?php
	return ob_get_clean();
}