diff options
Diffstat (limited to 'wp-includes/block-supports/utils.php')
-rw-r--r-- | wp-includes/block-supports/utils.php | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/wp-includes/block-supports/utils.php b/wp-includes/block-supports/utils.php new file mode 100644 index 0000000..7c5d7db --- /dev/null +++ b/wp-includes/block-supports/utils.php @@ -0,0 +1,36 @@ +<?php +/** + * Block support utility functions. + * + * @package WordPress + * @subpackage Block Supports + * @since 6.0.0 + */ + +/** + * Checks whether serialization of the current block's supported properties + * should occur. + * + * @since 6.0.0 + * @access private + * + * @param WP_Block_Type $block_type Block type. + * @param string $feature_set Name of block support feature set.. + * @param string $feature Optional name of individual feature to check. + * + * @return bool Whether to serialize block support styles & classes. + */ +function wp_should_skip_block_supports_serialization( $block_type, $feature_set, $feature = null ) { + if ( ! is_object( $block_type ) || ! $feature_set ) { + return false; + } + + $path = array( $feature_set, '__experimentalSkipSerialization' ); + $skip_serialization = _wp_array_get( $block_type->supports, $path, false ); + + if ( is_array( $skip_serialization ) ) { + return in_array( $feature, $skip_serialization, true ); + } + + return $skip_serialization; +} |