diff --git a/wp-includes/interactivity-api/class-wp-interactivity-api.php b/wp-includes/interactivity-api/class-wp-interactivity-api.php index 50fb4d6ac2..b552d07938 100644 --- a/wp-includes/interactivity-api/class-wp-interactivity-api.php +++ b/wp-includes/interactivity-api/class-wp-interactivity-api.php @@ -494,6 +494,7 @@ final class WP_Interactivity_API { * @since 6.5.0 * @since 6.6.0 The function now adds a warning when the namespace is null, falsy, or the directive value is empty. * @since 6.6.0 Removed `default_namespace` and `context` arguments. + * @since 6.6.0 Add support for derived state. * * @param string|true $directive_value The directive attribute value string or `true` when it's a boolean attribute. * @return mixed|null The result of the evaluation. Null if the reference path doesn't exist or the namespace is falsy. @@ -530,32 +531,32 @@ final class WP_Interactivity_API { } else { return null; } - } - if ( $current instanceof Closure ) { - /* - * This state getter's namespace is added to the stack so that - * `state()` or `get_config()` read that namespace when called - * without specifying one. - */ - array_push( $this->namespace_stack, $ns ); - try { - $current = $current(); - } catch ( Throwable $e ) { - _doing_it_wrong( - __METHOD__, - sprintf( - /* translators: 1: Path pointing to an Interactivity API state property, 2: Namespace for an Interactivity API store. */ - __( 'Uncaught error executing a derived state callback with path "%1$s" and namespace "%2$s".' ), - $path, - $ns - ), - '6.6.0' - ); - return null; - } finally { - // Remove the property's namespace from the stack. - array_pop( $this->namespace_stack ); + if ( $current instanceof Closure ) { + /* + * This state getter's namespace is added to the stack so that + * `state()` or `get_config()` read that namespace when called + * without specifying one. + */ + array_push( $this->namespace_stack, $ns ); + try { + $current = $current(); + } catch ( Throwable $e ) { + _doing_it_wrong( + __METHOD__, + sprintf( + /* translators: 1: Path pointing to an Interactivity API state property, 2: Namespace for an Interactivity API store. */ + __( 'Uncaught error executing a derived state callback with path "%1$s" and namespace "%2$s".' ), + $path, + $ns + ), + '6.6.0' + ); + return null; + } finally { + // Remove the property's namespace from the stack. + array_pop( $this->namespace_stack ); + } } } diff --git a/wp-includes/version.php b/wp-includes/version.php index 50a6a6352e..ab12191283 100644 --- a/wp-includes/version.php +++ b/wp-includes/version.php @@ -16,7 +16,7 @@ * * @global string $wp_version */ -$wp_version = '6.7-alpha-58824'; +$wp_version = '6.7-alpha-58825'; /** * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.