From 4f18e398962959ba4121a19bd8c2e7191a72e513 Mon Sep 17 00:00:00 2001 From: Tonya Mork Date: Thu, 17 Feb 2022 18:45:35 +0000 Subject: [PATCH] Editor: Adds an additional check to guard against incompete presets. Adds an additional guard to ensure the value of `$preset_metadata['value_key']` actually exists as a key in the `$preset` array. Fixes `Warning: Undefined array key` error. Intentionally adds the check into the existing `isset()` as it's native to PHP, more efficient, and a good pattern. Follow-up [52049]. Props jeherve, swissspidy, sergeybiryukov, jrf. Fixes #55161. git-svn-id: https://develop.svn.wordpress.org/trunk@52763 602fd350-edb4-49c9-b593-d223f7449a82 --- src/wp-includes/class-wp-theme-json.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/wp-includes/class-wp-theme-json.php b/src/wp-includes/class-wp-theme-json.php index 50552e68b7..06dd33e43c 100644 --- a/src/wp-includes/class-wp-theme-json.php +++ b/src/wp-includes/class-wp-theme-json.php @@ -1092,7 +1092,7 @@ class WP_Theme_JSON { $slug = _wp_to_kebab_case( $preset['slug'] ); $value = ''; - if ( isset( $preset_metadata['value_key'] ) ) { + if ( isset( $preset_metadata['value_key'], $preset[ $preset_metadata['value_key'] ] ) ) { $value_key = $preset_metadata['value_key']; $value = $preset[ $value_key ]; } elseif ( @@ -1837,7 +1837,7 @@ class WP_Theme_JSON { sanitize_html_class( $preset['slug'] ) === $preset['slug'] ) { $value = null; - if ( isset( $preset_metadata['value_key'] ) ) { + if ( isset( $preset_metadata['value_key'], $preset[ $preset_metadata['value_key'] ] ) ) { $value = $preset[ $preset_metadata['value_key'] ]; } elseif ( isset( $preset_metadata['value_func'] ) &&