Editor: Preserve block style variations when securing theme.

Adds the ability to process block style variations to the `remove_insecure_properties` function of theme json class.

Props dsas, ramonopoly.
Fixes #59108.


git-svn-id: https://develop.svn.wordpress.org/trunk@56502 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Isabel Brison
2023-09-01 02:51:55 +00:00
parent 13531cc3bd
commit 3c98d25402
2 changed files with 94 additions and 0 deletions
+15
View File
@@ -2821,6 +2821,7 @@ class WP_Theme_JSON {
* Removes insecure data from theme.json.
*
* @since 5.9.0
* @since 6.3.1 Preserves global styles block variations when securing styles.
*
* @param array $theme_json Structure to sanitize.
* @return array Sanitized structure.
@@ -2879,6 +2880,20 @@ class WP_Theme_JSON {
if ( ! empty( $output ) ) {
_wp_array_set( $sanitized, $metadata['path'], $output );
}
if ( isset( $metadata['variations'] ) ) {
foreach ( $metadata['variations'] as $variation ) {
$variation_input = _wp_array_get( $theme_json, $variation['path'], array() );
if ( empty( $variation_input ) ) {
continue;
}
$variation_output = static::remove_insecure_styles( $variation_input );
if ( ! empty( $variation_output ) ) {
_wp_array_set( $sanitized, $variation['path'], $variation_output );
}
}
}
}
$setting_nodes = static::get_setting_nodes( $theme_json );