From 321b175ceb0b67f4fc5a16c3c98fb7f8b1ef32e7 Mon Sep 17 00:00:00 2001 From: Himanshu Pathak Date: Mon, 23 Mar 2026 17:00:32 +0530 Subject: [PATCH] Formatting: Skip readonly properties in map_deep() to prevent fatal errors on PHP 8.1+. --- src/wp-includes/formatting.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/wp-includes/formatting.php b/src/wp-includes/formatting.php index 2b32b5aafb05d..4d159ee29f260 100644 --- a/src/wp-includes/formatting.php +++ b/src/wp-includes/formatting.php @@ -5145,6 +5145,13 @@ function map_deep( $value, $callback ) { } elseif ( is_object( $value ) ) { $object_vars = get_object_vars( $value ); foreach ( $object_vars as $property_name => $property_value ) { + if ( PHP_VERSION_ID >= 80100 ) { + $reflection_property = new ReflectionProperty( $value, $property_name ); + if ( $reflection_property->isReadOnly() ) { + continue; + } + } + $value->$property_name = map_deep( $property_value, $callback ); } } else {