Themes: add wp_get_theme_data_custom_templates function.

Adds a new public function, `wp_get_theme_data_custom_templates` that returns the `customTemplates` defined by the active theme from `theme.json`. It also substitutes the usage of private APIs by this new 
API.

Props johnbillion, audrasjb.
Fixes #59137



git-svn-id: https://develop.svn.wordpress.org/trunk@56413 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
André 2023-08-18 13:20:56 +00:00
parent e42bd867bc
commit 9110074a20
2 changed files with 13 additions and 1 deletions

View File

@ -411,7 +411,7 @@ function _add_block_template_info( $template_item ) {
return $template_item;
}
$theme_data = WP_Theme_JSON_Resolver::get_theme_data( array(), array( 'with_supports' => false ) )->get_custom_templates();
$theme_data = wp_get_theme_data_custom_templates();
if ( isset( $theme_data[ $template_item['slug'] ] ) ) {
$template_item['title'] = $theme_data[ $template_item['slug'] ]['title'];
$template_item['postTypes'] = $theme_data[ $template_item['slug'] ]['postTypes'];

View File

@ -441,6 +441,18 @@ function wp_get_theme_directory_pattern_slugs() {
return WP_Theme_JSON_Resolver::get_theme_data( array(), array( 'with_supports' => false ) )->get_patterns();
}
/**
* Returns the metadata for the custom templates defined by the theme via theme.json.
*
* @since 6.4.0
*
* @return array Associative array of `$template_name => $template_data` pairs,
* with `$template_data` having "title" and "postTypes" fields.
*/
function wp_get_theme_data_custom_templates() {
return WP_Theme_JSON_Resolver::get_theme_data( array(), array( 'with_supports' => false ) )->get_custom_templates();
}
/**
* Returns the metadata for the template parts defined by the theme.
*