Merged in feature/81-dev-dev01 (pull request #5)
auto-patch 81-dev-dev01-2023-12-05T22_45_26 * auto-patch 81-dev-dev01-2023-12-05T22_45_26
This commit is contained in:
@@ -425,6 +425,7 @@ function wp_clean_theme_json_cache() {
|
||||
wp_cache_delete( 'wp_get_global_settings_custom', 'theme_json' );
|
||||
wp_cache_delete( 'wp_get_global_settings_theme', 'theme_json' );
|
||||
wp_cache_delete( 'wp_get_global_styles_custom_css', 'theme_json' );
|
||||
wp_cache_delete( 'wp_get_theme_data_template_parts', 'theme_json' );
|
||||
WP_Theme_JSON_Resolver::clean_cached_data();
|
||||
}
|
||||
|
||||
@@ -440,6 +441,49 @@ 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.
|
||||
*
|
||||
* @since 6.4.0
|
||||
*
|
||||
* @return array Associative array of `$part_name => $part_data` pairs,
|
||||
* with `$part_data` having "title" and "area" fields.
|
||||
*/
|
||||
function wp_get_theme_data_template_parts() {
|
||||
$cache_group = 'theme_json';
|
||||
$cache_key = 'wp_get_theme_data_template_parts';
|
||||
$can_use_cached = ! wp_is_development_mode( 'theme' );
|
||||
|
||||
$metadata = false;
|
||||
if ( $can_use_cached ) {
|
||||
$metadata = wp_cache_get( $cache_key, $cache_group );
|
||||
if ( false !== $metadata ) {
|
||||
return $metadata;
|
||||
}
|
||||
}
|
||||
|
||||
if ( false === $metadata ) {
|
||||
$metadata = WP_Theme_JSON_Resolver::get_theme_data( array(), array( 'with_supports' => false ) )->get_template_parts();
|
||||
if ( $can_use_cached ) {
|
||||
wp_cache_set( $cache_key, $metadata, $cache_group );
|
||||
}
|
||||
}
|
||||
|
||||
return $metadata;
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines the CSS selector for the block type and property provided,
|
||||
* returning it if available.
|
||||
@@ -495,7 +539,7 @@ function wp_get_block_css_selector( $block_type, $target = 'root', $fallback = f
|
||||
// Prefer the selectors API if available.
|
||||
if ( $has_selectors ) {
|
||||
// Look for selector under `feature.root`.
|
||||
$path = array_merge( $target, array( 'root' ) );
|
||||
$path = array( current( $target ), 'root' );
|
||||
$feature_selector = _wp_array_get( $block_type->selectors, $path, null );
|
||||
|
||||
if ( $feature_selector ) {
|
||||
@@ -509,7 +553,7 @@ function wp_get_block_css_selector( $block_type, $target = 'root', $fallback = f
|
||||
}
|
||||
|
||||
// Try getting old experimental supports selector value.
|
||||
$path = array_merge( $target, array( '__experimentalSelector' ) );
|
||||
$path = array( current( $target ), '__experimentalSelector' );
|
||||
$feature_selector = _wp_array_get( $block_type->supports, $path, null );
|
||||
|
||||
// Nothing to work with, provide fallback or null.
|
||||
|
||||
Reference in New Issue
Block a user