[ Index ]

PHP Cross Reference of WordPress

title

Body

[close]

/wp-includes/blocks/ -> tag-cloud.php (source)

   1  <?php
   2  /**
   3   * Server-side rendering of the `core/tag-cloud` block.
   4   *
   5   * @package WordPress
   6   */
   7  
   8  /**
   9   * Renders the `core/tag-cloud` block on server.
  10   *
  11   * @param array $attributes The block attributes.
  12   *
  13   * @return string Returns the tag cloud for selected taxonomy.
  14   */
  15  function render_block_core_tag_cloud( $attributes ) {
  16      $smallest_font_size = $attributes['smallestFontSize'];
  17      $unit               = ( preg_match( '/^[0-9.]+(?P<unit>[a-z%]+)$/i', $smallest_font_size, $m ) ? $m['unit'] : 'pt' );
  18  
  19      $args      = array(
  20          'echo'       => false,
  21          'unit'       => $unit,
  22          'taxonomy'   => $attributes['taxonomy'],
  23          'show_count' => $attributes['showTagCounts'],
  24          'number'     => $attributes['numberOfTags'],
  25          'smallest'   => floatVal( $attributes['smallestFontSize'] ),
  26          'largest'    => floatVal( $attributes['largestFontSize'] ),
  27      );
  28      $tag_cloud = wp_tag_cloud( $args );
  29  
  30      if ( ! $tag_cloud ) {
  31          $labels    = get_taxonomy_labels( get_taxonomy( $attributes['taxonomy'] ) );
  32          $tag_cloud = esc_html(
  33              sprintf(
  34                  /* translators: %s: taxonomy name */
  35                  __( 'Your site doesn&#8217;t have any %s, so there&#8217;s nothing to display here at the moment.' ),
  36                  strtolower( $labels->name )
  37              )
  38          );
  39      }
  40  
  41      $wrapper_attributes = get_block_wrapper_attributes();
  42  
  43      return sprintf(
  44          '<p %1$s>%2$s</p>',
  45          $wrapper_attributes,
  46          $tag_cloud
  47      );
  48  }
  49  
  50  /**
  51   * Registers the `core/tag-cloud` block on server.
  52   */
  53  function register_block_core_tag_cloud() {
  54      register_block_type_from_metadata(
  55          __DIR__ . '/tag-cloud',
  56          array(
  57              'render_callback' => 'render_block_core_tag_cloud',
  58          )
  59      );
  60  }
  61  add_action( 'init', 'register_block_core_tag_cloud' );


Generated: Mon May 16 01:00:02 2022 Cross-referenced by PHPXref 0.7.1