get_block_file_template() – Retrieves a unified template object based on a theme file.
You appear to be a bot. Output may be restricted
Description
Retrieves a unified template object based on a theme file.
This is a fallback of get_block_template(), used when no templates are found in the database.
Usage
$WP_Block_Template|null = get_block_file_template( $id, $template_type );
Parameters
- $id
- ( string ) required – Template unique identifier (example: theme_slug//template_slug).
- $template_type
- ( string ) optional default: wp_template – Optional. Template type:
'wp_template'
or '`wp_template_part'`. Default `'wp_template'`.
Returns
WP_Block_Template|null The found block template, or null if there isn't one.
Source
File name: wordpress/wp-includes/block-template-utils.php
Lines:
1 to 55 of 55
function get_block_file_template( $id, $template_type = 'wp_template' ) { /** * Filters the block template object before the theme file discovery takes place. * * Return a non-null value to bypass the WordPress theme file discovery. * * @since 5.9.0 * * @param WP_Block_Template|null $block_template Return block template object to short-circuit the default query, * or null to allow WP to run its normal queries. * @param string $id Template unique identifier (example: theme_slug//template_slug). * @param string $template_type Template type: `'wp_template'` or '`wp_template_part'`. */ $block_template = apply_filters( 'pre_get_block_file_template', null, $id, $template_type ); if ( ! is_null( $block_template ) ) { return $block_template; } $parts = explode( '//', $id, 2 ); if ( count( $parts ) < 2 ) { /** This filter is documented in wp-includes/block-template-utils.php */ return apply_filters( 'get_block_file_template', null, $id, $template_type ); } list( $theme, $slug ) = $parts; if ( get_stylesheet() !== $theme ) { /** This filter is documented in wp-includes/block-template-utils.php */ return apply_filters( 'get_block_file_template', null, $id, $template_type ); } $template_file = _get_block_template_file( $template_type, $slug ); if ( null === $template_file ) { /** This filter is documented in wp-includes/block-template-utils.php */ return apply_filters( 'get_block_file_template', null, $id, $template_type ); } $block_template = _build_block_template_result_from_file( $template_file, $template_type ); /** * Filters the block template object after it has been (potentially) fetched from the theme file. * * @since 5.9.0 * * @param WP_Block_Template|null $block_template The found block template, or null if there is none. * @param string $id Template unique identifier (example: theme_slug//template_slug). * @param string $template_type Template type: `'wp_template'` or '`wp_template_part'`. */ return apply_filters( 'get_block_file_template', $block_template, $id, $template_type ); }