wp_tag_cloud

函数
wp_tag_cloud ( $args = '' )
参数
  • (array|string) $args { Optional. 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`. @type int $number The number of tags to display. Accepts any positive integer or zero to return all. Default 45. @type string $link Whether to display term editing links or term permalinks. Accepts 'edit' and 'view'. Default 'view'. @type string $post_type 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. @type bool $echo Whether or not to echo the return value. Default true. }
    Required:
    Default: (empty)
返回值
  • (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.
定义位置
相关方法
wp_generate_tag_cloudwp_ajax_get_tagcloudwp_cache_closewp_clonewp_auth_check_load
引入
2.3.0
弃用
-

wp_tag_cloud是一个生成与文章相关的标签(关键词)的HTML列表的函数,它以云的形式呈现,每个标签的字体大小与它被使用的次数成正比。它通常被用来在主题的侧边栏显示标签云。

显示一个标签云。

在所谓的’标签云’中输出一个标签列表,其中每个标签的大小是由该特定标签被分配给文章的次数决定的。

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;
}

常见问题

FAQs
查看更多 >