_get_block_template_file()
Retrieves the template file from the theme for a given slug.
Внутренняя функция — эта функция рассчитана на использование самим ядром. Не рекомендуется использовать эту функцию в своем коде.
Хуков нет.
Возвращает
Массив|null. Array with template metadata if $template_type is one of 'wp_template' or 'wp_template_part', null otherwise.
Использование
_get_block_template_file( $template_type, $slug );
- $template_type(строка) (обязательный)
- Template type. Either 'wp_template' or 'wp_template_part'.
- $slug(строка) (обязательный)
- Template slug.
Список изменений
| С версии 5.9.0 | Введена. |
Код _get_block_template_file() get block template file WP 6.9
function _get_block_template_file( $template_type, $slug ) {
if ( 'wp_template' !== $template_type && 'wp_template_part' !== $template_type ) {
return null;
}
$themes = array(
get_stylesheet() => get_stylesheet_directory(),
get_template() => get_template_directory(),
);
foreach ( $themes as $theme_slug => $theme_dir ) {
$template_base_paths = get_block_theme_folders( $theme_slug );
$file_path = $theme_dir . '/' . $template_base_paths[ $template_type ] . '/' . $slug . '.html';
if ( file_exists( $file_path ) ) {
$new_template_item = array(
'slug' => $slug,
'path' => $file_path,
'theme' => $theme_slug,
'type' => $template_type,
);
if ( 'wp_template_part' === $template_type ) {
return _add_block_template_part_area_info( $new_template_item );
}
// If it's not a `wp_template_part`, it must be a `wp_template`.
return _add_block_template_info( $new_template_item );
}
}
return null;
}