wppaste
WordPress

wp_tag_cloud( array|string $args = '' ): void|string|string[]

Since
2.3.0, 2.8.0, 4.8.0
Source
wp-includes/category-template.php:716
Displays a tag cloud.

Description

Outputs a list of tags in what is called a 'tag cloud', where the size of each tag is determined by how many times that particular tag has been assigned to posts.

Parameters

$argsarray|stringoptional
Array or string of arguments for displaying a tag cloud. See wp_generate_tag_cloud() and get_terms() for the full lists of arguments that can be passed in $args.Default: ''
  • $numberintdefault: 45

    The number of tags to display. Accepts any positive integer or zero to return all.
  • $linkstringdefault: 'view'

    Whether to display term editing links or term permalinks. Accepts 'edit' and 'view'.
  • $post_typestring

    The post type. Used to highlight the proper post type menu on the linked edit page. Defaults to the first post type associated with the taxonomy.
  • $echobooldefault: true

    Whether or not to echo the return value.

Return

void|string|string[]
Void if 'echo' argument is true, or on failure. Otherwise, tag cloud as a string or an array, depending on 'format' argument.

Hooks fired · 1

One hook fires while wp_tag_cloud() runs, in this order:

  1. apply_filters( wp_tag_cloud )filterline 778 (+62 into the body)

    Filters the tag cloud output.

Uses · 7

Used by · 2

Source

function wp_tag_cloud( $args = '' ) {	$defaults = array(		'smallest'   => 8,		'largest'    => 22,		'unit'       => 'pt',		'number'     => 45,		'format'     => 'flat',		'separator'  => "\n",		'orderby'    => 'name',		'order'      => 'ASC',		'exclude'    => '',		'include'    => '',		'link'       => 'view',		'taxonomy'   => 'post_tag',		'post_type'  => '',		'echo'       => true,		'show_count' => 0,	); 	$args = wp_parse_args( $args, $defaults ); 	$tags = get_terms(		array_merge(			$args,			array(				'orderby' => 'count',				'order'   => 'DESC',			)		)	); // Always query top tags. 	if ( empty( $tags ) || is_wp_error( $tags ) ) {		return;	} 	foreach ( $tags as $key => $tag ) {		if ( 'edit' === $args['link'] ) {			$link = get_edit_term_link( $tag, $tag->taxonomy, $args['post_type'] );		} else {			$link = get_term_link( $tag, $tag->taxonomy );		} 		if ( is_wp_error( $link ) ) {			return;		} 		$tags[ $key ]->link = $link;		$tags[ $key ]->id   = $tag->term_id;	} 	// Here's where those top tags get sorted according to $args.	$return = wp_generate_tag_cloud( $tags, $args ); 	/**	 * Filters the tag cloud output.	 *	 * @since 2.3.0	 *	 * @param string|string[] $return Tag cloud as a string or an array, depending on 'format' argument.	 * @param array           $args   An array of tag cloud arguments. See wp_tag_cloud()	 *                                for information on accepted arguments.	 */	$return = apply_filters( 'wp_tag_cloud', $return, $args ); 	if ( 'array' === $args['format'] || empty( $args['echo'] ) ) {		return $return;	} 	echo $return;}

History

Introduced in 2.3.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

4.8.0
Added the show_count argument.from the docblock
2.8.0
Added the taxonomy argument.from the docblock
2.3.0
Introduced.from the docblock

About this page

Parsed data
Generated from the wordpress-develop 6.9.7 tag, from src/wp-includes/category-template.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.