_build_block_template_result_from_file() WP 5.9.0

Створює уніфікований об’єкт шаблону, який базується на темі файлу.

Ця функція вважається внутрішньою для використання самим ядром . Не рекомендується використовувати цю функцію у своєму коді.

Хуків немає.

Повертає

WP_Block_Template. Template.

Використання

_build_block_template_result_from_file ( $template_file , $template_type );
$template_file (масив) (обов’язковий)
Тема файлу.
$template_type (рядок) (обов’язковий)
‘wp_template’ або ‘wp_template_part’ .

список змін

З версії 5.9.0Введено.

Код _build_block_template_result_from_file() WP 6.2

function  _build_block_template_result_from_file ( $template_file , $template_type )   {
	 $default_template_types = get_default_block_template_types ();
	$template_content = file_get_contents ( $template_file [ 'path' ]);
	$ theme = get_stylesheet ();

	$template = новий WP_Block_Template ();
	$template ->id = $theme . '//' . $template_file [ 'slug' ];
	$template ->theme = $theme ;
	$template ->content = _inject_theme_attribute_in_block_template_content ( $template_content );
	$template -> slug = $ template_file [ 'slug' ];
	$template ->source = 'theme' ;
	$template ->type = $template_type ;
	$template->title=! empty ( $template_file [ 'title' ] ) ? $template_file [ 'title' ]: $template_file [ 'slug' ];
	$template ->status = 'publish' ;
	$template ->has_theme_file = true ;
	$template ->is_custom = true ;

	if ( 'wp_template' === $template_type && isset ( $default_template_types [ $ template_file [ 'slug' ] ] ) ) {
		 $template ->description = $default_template_types [ $template_file [ 'slug ' ;
		$template ->title = $default_template_types [ $template_file [ 'slug' ] ][ 'title' ];
		$template ->is_custom = false ;
	}

	if ( 'wp_template' === $template_type && isset ( $template_file [ 'postTypes' ] ) ) {
		 $template ->post_types = $template_file [ 'postTypes' ];
	}

	if ( 'wp_template_part' === $template_type && isset ( $template_file [ 'area' ] ) ) {
		 $template ->area = $template_file [ 'area' ];
	}

	return  $template ;
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *