php tagcloud,wp_tag_cloud()获取标签数据

功能:

wp_tag_cloud()函数功能是用来显示标签列表(标签云),我们可以通过制定参数来显示标签列表,下面我们来看卡wp_tag_cloud()函数的用法。

参数:

$args

(array) (可选的) 需要显示的标签云参数

参数示例:

8,

'largest' => 22,

'unit' => 'pt',

'number' => 45,

'format' => 'flat',

'separator' => "\n",

'orderby' => 'name',

'order' => 'ASC',

'exclude' => null,

'include' => null,

'topic_count_text_callback' => default_topic_count_text,

'link' => 'view',

'taxonomy' => 'post_tag',

'echo' => true,

'child_of' => null, // see Note!

); ?>

smallest – 最小字体

largest – 最大字体

unit – 字体大小单位

number – 显示的标签数量

format – 格式化

separator – 分隔符

orderby – 排序依据

order – 排序

exclude – 排除标签

include – 包含标签

topic_count_text_callback – 使用函数 default_topic_count_text

link – 可视

taxonomy – 用文章的标签作为云基础

echo – 是否输出

返回值:

所在位置:

wp_tag_cloud() 函数包含在 wp-includes/category-template.php 中。

源码:

wp_tag_cloud()函数源码

/**

* Display tag cloud.

*

* The text size is set by the 'smallest' and 'largest' arguments, which will

* use the 'unit' argument value for the CSS text size unit. The 'format'

* argument can be 'flat' (default), 'list', or 'array'. The flat value for the

* 'format' argument will separate tags with spaces. The list value for the

* 'format' argument will format the tags in a UL HTML list. The array value for

* the 'format' argument will return in PHP array type format.

*

* The 'orderby' argument will accept 'name' or 'count' and defaults to 'name'.

* The 'order' is the direction to sort, defaults to 'ASC' and can be 'DESC'.

*

* The 'number' argument is how many tags to return. By default, the limit will

* be to return the top 45 tags in the tag cloud list.

*

* The 'topic_count_text' argument is a nooped plural from _n_noop() to generate the

* text for the tooltip of the tag link.

*

* The 'topic_count_text_callback' argument is a function, which given the count

* of the posts with that tag returns a text for the tooltip of the tag link.

*

* The 'post_type' argument is used only when 'link' is set to 'edit'. It determines the post_type

* passed to edit.php for the popular tags edit links.

*

* The 'exclude' and 'include' arguments are used for the get_tags() function. Only one

* should be used, because only one will be used and the other ignored, if they are both set.

*

* @since 2.3.0

*

* @param array|string|null $args Optional. Override default arguments.

* @return void|array Generated tag cloud, only if no failures and 'array' is set for the 'format' argument.

* Otherwise, this function outputs the tag cloud.

*/

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

);

$args = wp_parse_args( $args, $defaults );

$tags = get_terms( $args['taxonomy'], 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->term_id, $tag->taxonomy, $args['post_type'] );

else

$link = get_term_link( intval($tag->term_id), $tag->taxonomy );

if ( is_wp_error( $link ) )

return;

$tags[ $key ]->link = $link;

$tags[ $key ]->id = $tag->term_id;

}

$return = wp_generate_tag_cloud( $tags, $args ); // Here's where those top tags get sorted according to $args

/**

* Filters the tag cloud output.

*

* @since 2.3.0

*

* @param string $return HTML output of the tag cloud.

* @param array $args An array of tag cloud arguments.

*/

$return = apply_filters( 'wp_tag_cloud', $return, $args );

if ( 'array' == $args['format'] || empty($args['echo']) )

return $return;

echo $return;

}

示例:

相关函数:

感觉本站内容不错,读后有收获?小额赞助

还可以分享文章给好友:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值