Media_Text
extends Abstract_Block_Renderer
in package
Media-text block renderer.
This renderer handles core/media-text blocks with proper email-friendly HTML layout.
Table of Contents
- render() : string
- Render the block.
- add_spacer() : string
- Add a spacer around the block.
- compile_css() : string
- Compile objects containing CSS properties to a string.
- get_inner_content() : string
- Extract inner content from a wrapper element.
- get_styles_from_block() : array<string|int, mixed>
- Wrapper for wp_style_engine_get_styles which ensures all values are returned.
- render_content() : string
- Renders the media-text block content using a direct table-based layout.
- build_email_layout() : string
- Build the email-friendly layout for media-text blocks.
- extract_media_from_html() : string
- Extract media content from the HTML block content.
- get_media_width_from_attributes() : int
- Get the media width value from block attributes.
- get_vertical_alignment_from_attributes() : string
- Get the vertical alignment value from block attributes.
- wrap_media_with_link() : string
- Wrap media content with a link if it's not already wrapped.
Methods
render()
Render the block.
public
render(string $block_content, array<string|int, mixed> $parsed_block, Rendering_Context $rendering_context) : string
Parameters
- $block_content : string
-
The block content.
- $parsed_block : array<string|int, mixed>
-
The parsed block.
- $rendering_context : Rendering_Context
-
The rendering context.
Return values
string —add_spacer()
Add a spacer around the block.
protected
add_spacer(string $content, array<string|int, mixed> $email_attrs) : string
Parameters
- $content : string
-
The block content.
- $email_attrs : array<string|int, mixed>
-
The email attributes.
Return values
string —compile_css()
Compile objects containing CSS properties to a string.
protected
compile_css(array<string|int, mixed> ...$styles) : string
Parameters
- $styles : array<string|int, mixed>
-
Style arrays to compile.
Return values
string —get_inner_content()
Extract inner content from a wrapper element.
protected
get_inner_content(string $block_content[, string $tag_name = 'div' ]) : string
Removes the outer wrapper element (e.g., div) and returns only the inner HTML content. This is useful when you need to strip the wrapper and use only the inner content.
Parameters
- $block_content : string
-
Block content with wrapper element.
- $tag_name : string = 'div'
-
Tag name of the wrapper element (default: 'div').
Return values
string — Inner content without the wrapper element, or original content if wrapper not found.get_styles_from_block()
Wrapper for wp_style_engine_get_styles which ensures all values are returned.
protected
get_styles_from_block(array<string|int, mixed> $block_styles[, bool $skip_convert_vars = false ]) : array<string|int, mixed>
Parameters
- $block_styles : array<string|int, mixed>
-
Array of block styles.
- $skip_convert_vars : bool = false
-
If true, --wp_preset--spacing--x type values will be left in the original var:preset:spacing:x format.
Return values
array<string|int, mixed> —render_content()
Renders the media-text block content using a direct table-based layout.
protected
render_content(string $block_content, array<string|int, mixed> $parsed_block, Rendering_Context $rendering_context) : string
Parameters
- $block_content : string
-
Block content.
- $parsed_block : array<string|int, mixed>
-
Parsed block.
- $rendering_context : Rendering_Context
-
Rendering context.
Return values
string —build_email_layout()
Build the email-friendly layout for media-text blocks.
private
build_email_layout(string $media_content, string $text_content, array<string|int, mixed> $block_attrs, string $block_content, Rendering_Context $rendering_context) : string
Parameters
- $media_content : string
-
Media HTML content.
- $text_content : string
-
Text content.
- $block_attrs : array<string|int, mixed>
-
Block attributes.
- $block_content : string
-
Original block content.
- $rendering_context : Rendering_Context
-
Rendering context.
Return values
string — Rendered HTML.extract_media_from_html()
Extract media content from the HTML block content.
private
extract_media_from_html(string $block_content) : string
Parameters
- $block_content : string
-
Raw block content.
Return values
string — Media HTML content or empty string if not found.get_media_width_from_attributes()
Get the media width value from block attributes.
private
get_media_width_from_attributes(array<string|int, mixed> $block_attrs) : int
Parameters
- $block_attrs : array<string|int, mixed>
-
Block attributes.
Return values
int — Media width percentage (1-99).get_vertical_alignment_from_attributes()
Get the vertical alignment value from block attributes.
private
get_vertical_alignment_from_attributes(array<string|int, mixed> $block_attrs) : string
Parameters
- $block_attrs : array<string|int, mixed>
-
Block attributes.
Return values
string — CSS vertical-align value.wrap_media_with_link()
Wrap media content with a link if it's not already wrapped.
private
wrap_media_with_link(string $media_content, string $href) : string
Parameters
- $media_content : string
-
The media content (inner content from figure element).
- $href : string
-
The URL to link to.
