From 339ee19db158714127844ec2402721ed1939cc26 Mon Sep 17 00:00:00 2001 From: ramonopoly Date: Mon, 21 Oct 2024 04:48:16 +0000 Subject: [PATCH] Theme JSON: remove redundant styles check and relocate $selectors assignment. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In `WP_Theme_JSON::get_block_nodes()`, remove redundant check for `$theme_json['styles']`, which means `WP_Theme_JSON::get_blocks_metadata()` is only called if necessary. Also skip unnecessary `$selector` assignment if only nodes are to be returned. Props ramonopoly, mukesh27. Fixes #62234. Built from https://develop.svn.wordpress.org/trunk@59262 git-svn-id: http://core.svn.wordpress.org/trunk@58654 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/class-wp-theme-json.php | 12 ++++++------ wp-includes/version.php | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/wp-includes/class-wp-theme-json.php b/wp-includes/class-wp-theme-json.php index 3d3feb72de..6b16cef16a 100644 --- a/wp-includes/class-wp-theme-json.php +++ b/wp-includes/class-wp-theme-json.php @@ -2707,13 +2707,8 @@ class WP_Theme_JSON { * @return array The block nodes in theme.json. */ private static function get_block_nodes( $theme_json, $selectors = array(), $options = array() ) { - $selectors = empty( $selectors ) ? static::get_blocks_metadata() : $selectors; - $nodes = array(); - if ( ! isset( $theme_json['styles'] ) ) { - return $nodes; - } + $nodes = array(); - // Blocks. if ( ! isset( $theme_json['styles']['blocks'] ) ) { return $nodes; } @@ -2721,6 +2716,11 @@ class WP_Theme_JSON { $include_variations = $options['include_block_style_variations'] ?? false; $include_node_paths_only = $options['include_node_paths_only'] ?? false; + // If only node paths are to be returned, skip selector assignment. + if ( ! $include_node_paths_only ) { + $selectors = empty( $selectors ) ? static::get_blocks_metadata() : $selectors; + } + foreach ( $theme_json['styles']['blocks'] as $name => $node ) { $node_path = array( 'styles', 'blocks', $name ); if ( $include_node_paths_only ) { diff --git a/wp-includes/version.php b/wp-includes/version.php index 4b4f3e8d8a..0147c4cb32 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '6.7-beta3-59261'; +$wp_version = '6.7-beta3-59262'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.