wpseek.com
A WordPress-centric search engine for devs and theme authors



get_block_theme_folders › WordPress Function

Since5.9.0
Deprecatedn/a
get_block_theme_folders ( $theme_stylesheet = null )
Parameters:
  • (string) $theme_stylesheet The stylesheet. Default is to leverage the main theme root.
    Required: No
    Default: null
Returns:
  • (string[]) { Folder names used by block themes. @type string $wp_template Theme-relative directory name for block templates. @type string $wp_template_part Theme-relative directory name for block template parts. }
Defined at:
Codex:

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



Source

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',
	);
}