[ Index ]

PHP Cross Reference of WordPress Trunk (Updated Daily)

Search

title

Body

[close]

/wp-includes/block-supports/ -> custom-classname.php (source)

   1  <?php
   2  /**
   3   * Custom classname block support flag.
   4   *
   5   * @package WordPress
   6   * @since 5.6.0
   7   */
   8  
   9  /**
  10   * Registers the custom classname block attribute for block types that support it.
  11   *
  12   * @since 5.6.0
  13   * @access private
  14   *
  15   * @param WP_Block_Type $block_type Block Type.
  16   */
  17  function wp_register_custom_classname_support( $block_type ) {
  18      $has_custom_classname_support = block_has_support( $block_type, 'customClassName', true );
  19  
  20      if ( $has_custom_classname_support ) {
  21          if ( ! $block_type->attributes ) {
  22              $block_type->attributes = array();
  23          }
  24  
  25          if ( ! array_key_exists( 'className', $block_type->attributes ) ) {
  26              $block_type->attributes['className'] = array(
  27                  'type' => 'string',
  28              );
  29          }
  30      }
  31  }
  32  
  33  /**
  34   * Adds the custom classnames to the output.
  35   *
  36   * @since 5.6.0
  37   * @access private
  38   *
  39   * @param  WP_Block_Type $block_type       Block Type.
  40   * @param  array         $block_attributes Block attributes.
  41   * @return array Block CSS classes and inline styles.
  42   */
  43  function wp_apply_custom_classname_support( $block_type, $block_attributes ) {
  44      $has_custom_classname_support = block_has_support( $block_type, 'customClassName', true );
  45      $attributes                   = array();
  46      if ( $has_custom_classname_support ) {
  47          $has_custom_classnames = array_key_exists( 'className', $block_attributes );
  48  
  49          if ( $has_custom_classnames ) {
  50              $attributes['class'] = $block_attributes['className'];
  51          }
  52      }
  53  
  54      return $attributes;
  55  }
  56  
  57  // Register the block support.
  58  WP_Block_Supports::get_instance()->register(
  59      'custom-classname',
  60      array(
  61          'register_attribute' => 'wp_register_custom_classname_support',
  62          'apply'              => 'wp_apply_custom_classname_support',
  63      )
  64  );


Generated : Mon Sep 7 08:20:28 2026 Cross-referenced by PHPXref