_get_block_templates_files() – Retrieves the template files from the theme.

You appear to be a bot. Output may be restricted

Description

Retrieves the template files from the theme.

Usage

$array = _get_block_templates_files( $template_type );

Parameters

$template_type
( string ) required – 'wp_template' or 'wp_template_part'.

Returns

array Template.

Source

File name: wordpress/wp-includes/block-template-utils.php
Lines:

1 to 41 of 41
function _get_block_templates_files( $template_type ) {
  if ( 'wp_template' !== $template_type && 'wp_template_part' !== $template_type ) {
    return null;
  }

  $themes         = array(
    get_stylesheet() => get_stylesheet_directory(),
    get_template()   => get_template_directory(),
  );
  $template_files = array();
  foreach ( $themes as $theme_slug => $theme_dir ) {
    $template_base_paths  = get_block_theme_folders( $theme_slug );
    $theme_template_files = _get_block_templates_paths( $theme_dir . '/' . $template_base_paths[ $template_type ] );
    foreach ( $theme_template_files as $template_file ) {
      $template_base_path = $template_base_paths[ $template_type ];
      $template_slug      = substr(
        $template_file,
        // Starting position of slug.
        strpos( $template_file, $template_base_path . DIRECTORY_SEPARATOR ) + 1 + strlen( $template_base_path ),
        // Subtract ending '.html'.
        -5
      );
      $new_template_item = array(
        'slug'  => $template_slug,
        'path'  => $template_file,
        'theme' => $theme_slug,
        'type'  => $template_type,
      );

      if ( 'wp_template_part' === $template_type ) {
        $template_files[] = _add_block_template_part_area_info( $new_template_item );
      }

      if ( 'wp_template' === $template_type ) {
        $template_files[] = _add_block_template_info( $new_template_item );
      }
    }
  }

  return $template_files;
}
 

 View on GitHub View on Trac