balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

tag-cloud.php (1268B)


      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 	$args      = array(
     17 		'echo'       => false,
     18 		'taxonomy'   => $attributes['taxonomy'],
     19 		'show_count' => $attributes['showTagCounts'],
     20 	);
     21 	$tag_cloud = wp_tag_cloud( $args );
     22 
     23 	if ( ! $tag_cloud ) {
     24 		$labels    = get_taxonomy_labels( get_taxonomy( $attributes['taxonomy'] ) );
     25 		$tag_cloud = esc_html(
     26 			sprintf(
     27 				/* translators: %s: taxonomy name */
     28 				__( 'Your site doesn&#8217;t have any %s, so there&#8217;s nothing to display here at the moment.' ),
     29 				strtolower( $labels->name )
     30 			)
     31 		);
     32 	}
     33 
     34 	$wrapper_attributes = get_block_wrapper_attributes();
     35 
     36 	return sprintf(
     37 		'<p %1$s>%2$s</p>',
     38 		$wrapper_attributes,
     39 		$tag_cloud
     40 	);
     41 }
     42 
     43 /**
     44  * Registers the `core/tag-cloud` block on server.
     45  */
     46 function register_block_core_tag_cloud() {
     47 	register_block_type_from_metadata(
     48 		__DIR__ . '/tag-cloud',
     49 		array(
     50 			'render_callback' => 'render_block_core_tag_cloud',
     51 		)
     52 	);
     53 }
     54 add_action( 'init', 'register_block_core_tag_cloud' );