get_block_theme_folders( string $theme_stylesheet = null ): string[]

For backward compatibility reasons, block themes might be using block-templates or block-template-parts, this function ensures we fallback to these folders properly.


Parameters

$theme_stylesheet string Optional
The stylesheet. Default is to leverage the main theme root.

Default: null


Top ↑

Return

string[] Folder names used by block themes.

  • wp_template string
    Theme-relative directory name for block templates.
  • wp_template_part string
    Theme-relative directory name for block template parts.


Top ↑

Source

File: wp-includes/block-template-utils.php. View all references

function get_block_theme_folders( $theme_stylesheet = null ) {
	$theme_name = null === $theme_stylesheet ? get_stylesheet() : $theme_stylesheet;
	$root_dir   = get_theme_root( $theme_name );
	$theme_dir  = "$root_dir/$theme_name";

	if ( file_exists( $theme_dir . '/block-templates' ) || file_exists( $theme_dir . '/block-template-parts' ) ) {
		return array(
			'wp_template'      => 'block-templates',
			'wp_template_part' => 'block-template-parts',
		);
	}

	return array(
		'wp_template'      => 'templates',
		'wp_template_part' => 'parts',
	);
}


Top ↑

Changelog

Changelog
Version Description
5.9.0 Introduced.

Top ↑

User Contributed Notes

You must log in before being able to contribute a note or feedback.