render_block_core_pattern()
Renders the core/pattern block on the server.
Хуков нет.
Возвращает
Строку. Returns the output of the pattern.
Использование
render_block_core_pattern( $attributes );
- $attributes(массив) (обязательный)
- Block attributes.
Заметки
- Global. WP_Embed.
$wp_embedUsed to process embedded content within patterns
Список изменений
| С версии 6.3.0 | Введена. |
| С версии 6.3.0 | Backwards compatibility: blocks with no syncStatus attribute do not receive block wrapper. |
Код render_block_core_pattern() render block core pattern WP 7.0.1
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;
}