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.


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

Default: null

Top ↑


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 ↑


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

function get_block_theme_folders( $theme_stylesheet = null ) {
	$theme = wp_get_theme( (string) $theme_stylesheet );
	if ( ! $theme->exists() ) {
		// Return the default folders if the theme doesn't exist.
		return array(
			'wp_template'      => 'templates',
			'wp_template_part' => 'parts',
	return $theme->get_block_template_folders();

Top ↑


Version Description
5.9.0 Introduced.

Top ↑

User Contributed Notes

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