render_block_core_pattern()
Renders the core/pattern block on the server.
No Hooks.
Returns
String. Returns the output of the pattern.
Usage
render_block_core_pattern( $attributes );
- $attributes(array) (required)
- Block attributes.
Notes
- Global. WP_Embed.
$wp_embedUsed to process embedded content within patterns
Changelog
| Since 6.3.0 | Introduced. |
| Since 6.3.0 | Backwards compatibility: blocks with no syncStatus attribute do not receive block wrapper. |
render_block_core_pattern() render block core pattern code WP 7.0.2
function render_block_core_pattern( $attributes ) {
static $seen_refs = array();
if ( empty( $attributes['slug'] ) ) {
return '';
}
$slug = $attributes['slug'];
$registry = WP_Block_Patterns_Registry::get_instance();
if ( ! $registry->is_registered( $slug ) ) {
return '';
}
if ( isset( $seen_refs[ $attributes['slug'] ] ) ) {
// WP_DEBUG_DISPLAY must only be honored when WP_DEBUG. This precedent
// is set in `wp_debug_mode()`.
$is_debug = WP_DEBUG && WP_DEBUG_DISPLAY;
return $is_debug ?
// translators: Visible only in the front end, this warning takes the place of a faulty block. %s represents a pattern's slug.
sprintf( __( '[block rendering halted for pattern "%s"]' ), $slug ) :
'';
}
$pattern = $registry->get_registered( $slug );
$content = $pattern['content'];
$seen_refs[ $attributes['slug'] ] = true;
$content = do_blocks( $content );
global $wp_embed;
$content = $wp_embed->autoembed( $content );
unset( $seen_refs[ $attributes['slug'] ] );
return $content;
}