Astra_Gutenberg::add_iframe_wrapper( string $block_content, array $block )
Add iframe wrapper for videos.
Description
Parameters
- $block_content
-
(string) (Required) Rendered block content.
- $block
-
(array) (Required) Block object.
Return
(string) Filtered block content.
Source
File: inc/compatibility/class-astra-gutenberg.php
public function add_iframe_wrapper( $block_content, $block ) { $yt_wrapper_with_inner_iframe_regex = '/(ast-oembed-container)/'; if ( isset( $block['blockName'] ) && 'core/embed' !== $block['blockName'] && 'core/youtube' !== $block['blockName'] ) { return $block_content; } /** @psalm-suppress PossiblyUndefinedStringArrayOffset */ // phpcs:ignore Generic.Commenting.DocComment.MissingShort if ( ( ! empty( $block['blockName'] ) && ( 'core/embed' === $block['blockName'] || 'core/youtube' === $block['blockName'] ) ) && ! empty( $block['attrs'] ) && empty( $block['attrs']['url'] ) ) { return $block_content; } if ( 1 === preg_match( $yt_wrapper_with_inner_iframe_regex, $block_content ) ) { return $block_content; } $video_url = ! empty( $block['attrs']['url'] ) ? esc_url( $block['attrs']['url'] ) : ''; $replace_regex = '/<div\s+class="wp-block-embed__wrapper">(.*?)<\/div>/s'; $updated_content = preg_replace_callback( $replace_regex, /** * Add iframe wrapper for videos. * * @param array $matches Matches. * @return mixed Updated content. */ function ( $matches ) use ( $video_url, $block_content, $block ) { return Astra_After_Setup_Theme::get_instance()->responsive_oembed_wrapper( '', $video_url, array(), true ); }, $block_content ); return $updated_content; }
Expand full source code Collapse full source code View on Trac
Changelog
Version | Description |
---|---|
4.4.0 | Introduced. |