diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-09-19 04:51:18 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-09-19 04:51:18 +0000 |
commit | 0e41b5d52fdc6af6442816b5f465c9db9f84e126 (patch) | |
tree | e139a90049b158d4eed892d1662ee7f5c358fa31 /wp-includes/class-wp-block-styles-registry.php | |
parent | Adding upstream version 6.5.5+dfsg1. (diff) | |
download | wordpress-upstream.tar.xz wordpress-upstream.zip |
Adding upstream version 6.6.1+dfsg1.upstream/6.6.1+dfsg1upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'wp-includes/class-wp-block-styles-registry.php')
-rw-r--r-- | wp-includes/class-wp-block-styles-registry.php | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/wp-includes/class-wp-block-styles-registry.php b/wp-includes/class-wp-block-styles-registry.php index 317c648..2d16e0e 100644 --- a/wp-includes/class-wp-block-styles-registry.php +++ b/wp-includes/class-wp-block-styles-registry.php @@ -42,11 +42,12 @@ final class WP_Block_Styles_Registry { * or with an inline tag. * * @since 5.3.0 + * @since 6.6.0 Added ability to register style across multiple block types along with theme.json-like style data. * * @link https://developer.wordpress.org/block-editor/reference-guides/block-api/block-styles/ * - * @param string $block_name Block type name including namespace. - * @param array $style_properties { + * @param string|string[] $block_name Block type name including namespace or array of namespaced block type names. + * @param array $style_properties { * Array containing the properties of the style. * * @type string $name The identifier of the style used to compute a CSS class. @@ -56,16 +57,17 @@ final class WP_Block_Styles_Registry { * @type string $style_handle The handle to an already registered style that should be * enqueued in places where block styles are needed. * @type bool $is_default Whether this is the default style for the block type. + * @type array $style_data Theme.json-like object to generate CSS from. * } * @return bool True if the block style was registered with success and false otherwise. */ public function register( $block_name, $style_properties ) { - if ( ! isset( $block_name ) || ! is_string( $block_name ) ) { + if ( ! is_string( $block_name ) && ! is_array( $block_name ) ) { _doing_it_wrong( __METHOD__, - __( 'Block name must be a string.' ), - '5.3.0' + __( 'Block name must be a string or array.' ), + '6.6.0' ); return false; } @@ -89,11 +91,14 @@ final class WP_Block_Styles_Registry { } $block_style_name = $style_properties['name']; + $block_names = is_string( $block_name ) ? array( $block_name ) : $block_name; - if ( ! isset( $this->registered_block_styles[ $block_name ] ) ) { - $this->registered_block_styles[ $block_name ] = array(); + foreach ( $block_names as $name ) { + if ( ! isset( $this->registered_block_styles[ $name ] ) ) { + $this->registered_block_styles[ $name ] = array(); + } + $this->registered_block_styles[ $name ][ $block_style_name ] = $style_properties; } - $this->registered_block_styles[ $block_name ][ $block_style_name ] = $style_properties; return true; } |