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, dean, isabel_brison, joemcgill, audrasjb.
Merges [56502] and [56778] to the 6.3 branch.
Fixes #59108.




Built from https://develop.svn.wordpress.org/branches/6.3@56779


git-svn-id: http://core.svn.wordpress.org/branches/6.3@56291 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
audrasjb 2023-10-04 19:10:26 +00:00
parent a394649eb3
commit c382748f6c
2 changed files with 16 additions and 1 deletions

View File

@ -2849,6 +2849,7 @@ class WP_Theme_JSON {
* Removes insecure data from theme.json.
*
* @since 5.9.0
* @since 6.3.2 Preserves global styles block variations when securing styles.
*
* @param array $theme_json Structure to sanitize.
* @return array Sanitized structure.
@ -2910,6 +2911,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 );

View File

@ -16,7 +16,7 @@
*
* @global string $wp_version
*/
$wp_version = '6.3.2-alpha-56777';
$wp_version = '6.3.2-alpha-56779';
/**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.