функция 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.

Что будем искать? Например,Продвижение

Этот сайт использует куки-файлы. Оставаясь на сайте, Вы соглашаетесь на их использование. Для получения дополнительной информации, пожалуйста, ознакомьтесь с политикой в отношении персональных данных.