функция
since 5.9.0
_get_block_template_file()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
_get_block_template_file( string $template_type, string $slug ): array|null
Описание
Извлекает файл шаблона из темы по заданному слагу.
Параметры
$template_type
string
обязательный
Тип шаблона. Либо 'wp_template', либо 'wp_template_part'.
$slug
string
обязательный
Слаг шаблона.
Возвращаемое значение
array|null
slug string Слаг шаблона. path string Путь к файлу шаблона. theme string Слаг темы. type string Тип шаблона. area string Область шаблона. Только для 'wp_template_part'. title string Необязательно. Название шаблона. postTypes string[] Необязательно. Список типов записей, поддерживаемых шаблоном. Только для 'wp_template'.
Исходный код
wp-includes/block-template-utils.php:335
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;
}
История изменений
| Версия | Описание |
|---|---|
| 5.9.0 | Introduced. |

