wordpress自定义标签云与随机获取标签的方法详解
发布:smiling 来源: PHP粉丝网 添加日期:2021-11-13 23:00:03 浏览: 评论:0
今天小编就为大家分享一篇关于wordpress自定义标签云与随机获取标签的方法详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧。
wp_tag_cloud() 函数的作用是用来标签云的,可以根据每个标签所关联的文章次数来定义字体大小、标签排序等属性。从 2.8 版本开始,添加了 分类法(taxonomy)参数,这就意味着,除了 标签(tags)以外,还可以将 分类(Categories) 或其他 自定义分类法(Custom Taxonomies)作为“云”显示。
用法:
<?php wp_tag_cloud( $args ); ?>
默认用法:
<?php $args = array( 'smallest' => 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!) ); ?>
注: child_of 不是一个直接的 wp_tag_cloud 数组的键(Key),但由于这个函数使用 wp_parse_args() 和 get_terms() ,你可以通过 get_terms() 使用所有的数组键。
默认情况下的输出内容:
smallest —— 最小的标签(使用次数最少)显示大小为8
largest ——最大的标签(使用次数最多)显示大小为22
unit —— 最大值最小值的单位为'pt'
number —— 至多显示45个标签
format —— 以平面形式显示所有标签(标签之间用空格隔开)
separator —— 显示标签之间的空格
orderby —— 按名称为标签排序
order —— 以升序排列
exclude —— 不排除任何标签
include —— 包括所有标签
topic_count_text_callback —— 使用函数 default_topic_count_text
link —— 可视
taxonomy —— 用文章的标签作为云基础
echo —— 输出结果
但由于该方法把样式集合到了里面,使用起来不怎么友好,如果想自定义读取标签并修改展示样式该怎么做呢,那也是非常简单的,看代码实例,这里根据get_tags来获取:
- $html = '<ul class="post_tags">';
- foreach (get_tags( array('number' => 50, 'orderby' => 'count', 'order' => 'DESC', 'hide_empty' => false) ) as $tag){
- $color = dechex(rand(0,16777215));
- $tag_link = get_tag_link($tag->term_id);
- $html .= "<li><a href='{$tag_link}' title='{$tag->name} Tag' class='{$tag->slug}' style='color:#{$color}'>";
- $html .= "{$tag->name} ({$tag->count})</a></li>";
- }
- $html .= '</ul>';
- echo $html;
如果要求随机获取标签在首页显示,那可以使用以下代码,但这种做法貌似不利于seo,可得慎重使用。
- //获取随机标签
- function get_rand_tags()
- {
- global $post, $wpdb;
- $sql = "SELECT * FROM {$wpdb->prefix}terms wt INNER JOIN {$wpdb->prefix}term_taxonomy wtt on wt.term_id=wtt.term_id where wtt.taxonomy='post_tag' ORDER BY RAND() LIMIT 20";
- $related_posts = $wpdb->get_results($sql);
- $html = '<ul class="post_tags">';
- foreach($related_posts as $tag)
- {
- $color = dechex(rand(0,16777215));
- $tag_link = get_tag_link($tag->term_id);
- $html .= "<li><a href='{$tag_link}' target='_blank' title='{$tag->name} Tag' class='{$tag->slug}' style='color:#{$color}'>";
- $html .= "{$tag->name} ({$tag->count})</a></li>";
- }
- $html .= '</ul>';
- echo $html;
- }
获取随机标签用get_tags函数怎么变化参数都是没法获取到的(反正我是获取不到,欢迎大神留言指导),结果最后就用的sql连接表查询就搞出来了。
Tags: wordpress标签云 wordpress获取标签
- 上一篇:调用WordPress函数统计文章访问量及PHP原生计数器的实现
- 下一篇:最后一页
相关文章
- ·WORDPRESS标签云和列表移除指定ID不显示(2015-10-16)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)