get_block_theme_folders() WordPress Function
The get_block_theme_folders() function allows you to programmatically get a list of all the theme folders that contain block templates. This is useful if you need to loop through all the themes and check if they have a certain template file.
get_block_theme_folders( string $theme_stylesheet = null ) #
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 value: null
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.
Source
File: wp-includes/block-template-utils.php
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', ); }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
5.9.0 | Introduced. |