diff -r 34716fd837a4 -r be944660c56a wp/wp-includes/block-supports/custom-classname.php --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wp/wp-includes/block-supports/custom-classname.php Wed Sep 21 18:19:35 2022 +0200 @@ -0,0 +1,65 @@ +attributes ) { + $block_type->attributes = array(); + } + + if ( ! array_key_exists( 'className', $block_type->attributes ) ) { + $block_type->attributes['className'] = array( + 'type' => 'string', + ); + } + } +} + +/** + * Add the custom classnames to the output. + * + * @since 5.6.0 + * @access private + * + * @param WP_Block_Type $block_type Block Type. + * @param array $block_attributes Block attributes. + * + * @return array Block CSS classes and inline styles. + */ +function wp_apply_custom_classname_support( $block_type, $block_attributes ) { + $has_custom_classname_support = block_has_support( $block_type, array( 'customClassName' ), true ); + $attributes = array(); + if ( $has_custom_classname_support ) { + $has_custom_classnames = array_key_exists( 'className', $block_attributes ); + + if ( $has_custom_classnames ) { + $attributes['class'] = $block_attributes['className']; + } + } + + return $attributes; +} + +// Register the block support. +WP_Block_Supports::get_instance()->register( + 'custom-classname', + array( + 'register_attribute' => 'wp_register_custom_classname_support', + 'apply' => 'wp_apply_custom_classname_support', + ) +);