[ 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      $class = isset( $attributes['align'] ) ?
  17          "wp-block-tag-cloud align{$attributes['align']}" :
  18          'wp-block-tag-cloud';
  19  
  20      if ( isset( $attributes['className'] ) ) {
  21          $class .= ' ' . $attributes['className'];
  22      }
  23  
  24      $args = array(
  25          'echo'       => false,
  26          'taxonomy'   => $attributes['taxonomy'],
  27          'show_count' => $attributes['showTagCounts'],
  28      );
  29  
  30      $tag_cloud = wp_tag_cloud( $args );
  31  
  32      if ( ! $tag_cloud ) {
  33          $labels    = get_taxonomy_labels( get_taxonomy( $attributes['taxonomy'] ) );
  34          $tag_cloud = esc_html(
  35              sprintf(
  36                  /* translators: %s: taxonomy name */
  37                  __( 'Your site doesn&#8217;t have any %s, so there&#8217;s nothing to display here at the moment.' ),
  38                  strtolower( $labels->name )
  39              )
  40          );
  41      }
  42  
  43      return sprintf(
  44          '<p class="%1$s">%2$s</p>',
  45          esc_attr( $class ),
  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: Thu Jul 2 01:00:04 2020 Cross-referenced by PHPXref 0.7.1