Automattic\WooCommerce\EmailEditor\Integrations\Core\Renderer\Blocks

Video::transform_to_cover_block │ private │ WC 1.0

Transform a video block into a cover block structure.

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

Хуков нет.

Возвращает

array. Cover block structure.

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

// private - только в коде основоного (родительского) класса
$result = $this->transform_to_cover_block( $video_block, $poster_url ): array;
$video_block(массив) (обязательный)
Original video block.
$poster_url(строка) (обязательный)
Poster URL to use as background.

Код Video::transform_to_cover_block() WC 11.2.2

private function transform_to_cover_block( array $video_block, string $poster_url ): array {
	$block_attrs   = $video_block['attrs'] ?? array();
	$block_content = $video_block['innerHTML'] ?? '';

	// Extract video URL: 1) From attrs (e.g., passed by Embed renderer), 2) From content, 3) Post permalink.
	$video_url = $block_attrs['videoUrl'] ?? '';
	if ( empty( $video_url ) ) {
		$video_url = $this->extract_video_url( $block_content );
	}
	$link_url = ! empty( $video_url ) ? $video_url : $this->get_current_post_url();

	return array(
		'blockName'   => 'core/cover',
		'attrs'       => array(
			'url'       => $poster_url,
			'minHeight' => '390px', // Custom attribute for video blocks.
		),
		'innerBlocks' => array(
			array(
				'blockName'    => 'core/html',
				'attrs'        => array(),
				'innerBlocks'  => array(),
				'innerHTML'    => $this->create_play_button_html( $link_url ),
				'innerContent' => array( $this->create_play_button_html( $link_url ) ),
			),
		),
		'innerHTML'   => $block_content,
	);
}