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.

Метод класса: WP_REST_Widget_Types_Controller{}

Хуков нет.

Возвращает

Строку. Rendered Legacy Widget block preview.

Использование

// private - только в коде основоного (родительского) класса
$result = $this->render_legacy_widget_preview_iframe( $id_base, $instance );
$id_base(строка) (обязательный)
The id base of the requested widget.
$instance(массив) (обязательный)
The widget instance attributes.

Список изменений

С версии 5.9.0 Введена.

Код WP_REST_Widget_Types_Controller::render_legacy_widget_preview_iframe() WP 6.4.3

<?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();
}