get_widget_key( $id_base ); } else { $widget_key = gutenberg_get_widget_key( $id_base ); } if ( ! $widget_key ) { return ''; } if ( isset( $attributes['instance']['encoded'], $attributes['instance']['hash'] ) ) { $serialized_instance = base64_decode( $attributes['instance']['encoded'] ); if ( wp_hash( $serialized_instance ) !== $attributes['instance']['hash'] ) { return ''; } $instance = unserialize( $serialized_instance ); } else { $instance = array(); } ob_start(); the_widget( $widget_key, $instance ); return ob_get_clean(); } /** * Registers the 'core/legacy-widget' block. */ function register_block_core_legacy_widget() { register_block_type_from_metadata( __DIR__ . '/legacy-widget', array( 'render_callback' => 'render_block_core_legacy_widget', ) ); } add_action( 'init', 'register_block_core_legacy_widget' ); /** * Intercepts any request with legacy-widget-preview in the query param and, if * set, renders a page containing a preview of the requested Legacy Widget * block. */ function handle_legacy_widget_preview_iframe() { if ( empty( $_GET['legacy-widget-preview'] ) ) { return; } if ( ! current_user_can( 'edit_theme_options' ) ) { return; } define( 'IFRAME_REQUEST', true ); ?> >
>