Skip to content

Commit b693aeb

Browse files
Editor: performance enhancements to class-wp-theme-json.
Removes unnecessary sanitisation of hardcoded strings and avoids looping over style presets without classes or variables. Props flixos90. Fixes #59304. git-svn-id: https://develop.svn.wordpress.org/trunk@56545 602fd350-edb4-49c9-b593-d223f7449a82
1 parent 9de4142 commit b693aeb

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

src/wp-includes/class-wp-theme-json.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1313,7 +1313,7 @@ protected function get_layout_styles( $block_metadata ) {
13131313
continue;
13141314
}
13151315

1316-
$class_name = sanitize_title( _wp_array_get( $layout_definition, array( 'className' ), false ) );
1316+
$class_name = _wp_array_get( $layout_definition, array( 'className' ), false );
13171317
$spacing_rules = _wp_array_get( $layout_definition, array( 'spacingStyles' ), array() );
13181318

13191319
if (
@@ -1370,7 +1370,7 @@ protected function get_layout_styles( $block_metadata ) {
13701370
) {
13711371
$valid_display_modes = array( 'block', 'flex', 'grid' );
13721372
foreach ( $layout_definitions as $layout_definition ) {
1373-
$class_name = sanitize_title( _wp_array_get( $layout_definition, array( 'className' ), false ) );
1373+
$class_name = _wp_array_get( $layout_definition, array( 'className' ), false );
13741374
$base_style_rules = _wp_array_get( $layout_definition, array( 'baseStyles' ), array() );
13751375

13761376
if (
@@ -1567,6 +1567,9 @@ protected static function compute_preset_classes( $settings, $selector, $origins
15671567

15681568
$stylesheet = '';
15691569
foreach ( static::PRESETS_METADATA as $preset_metadata ) {
1570+
if ( empty( $preset_metadata['classes'] ) ) {
1571+
continue;
1572+
}
15701573
$slugs = static::get_settings_slugs( $settings, $preset_metadata, $origins );
15711574
foreach ( $preset_metadata['classes'] as $class => $property ) {
15721575
foreach ( $slugs as $slug ) {
@@ -1764,6 +1767,9 @@ protected static function replace_slug_in_string( $input, $slug ) {
17641767
protected static function compute_preset_vars( $settings, $origins ) {
17651768
$declarations = array();
17661769
foreach ( static::PRESETS_METADATA as $preset_metadata ) {
1770+
if ( empty( $preset_metadata['css_vars'] ) ) {
1771+
continue;
1772+
}
17671773
$values_by_slug = static::get_settings_values_by_slug( $settings, $preset_metadata, $origins );
17681774
foreach ( $values_by_slug as $slug => $value ) {
17691775
$declarations[] = array(

0 commit comments

Comments
 (0)