wordpress自定义标签云与随机获取标签的方法详解


Posted in PHP onMarch 22, 2019

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连接表查询就搞出来了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。如果你想了解更多相关内容请查看下面相关链接

PHP 相关文章推荐
PHP下MAIL的另一解决方案
Oct 09 PHP
php中的登陆login
Jan 18 PHP
php split汉字
Jun 05 PHP
php中数字、字符与对象判断函数用法实例
Nov 26 PHP
基于PHP技术开发客服工单系统
Jan 06 PHP
利用PHP生成静态html页面的原理
Sep 30 PHP
浅谈PHP实现大流量下抢购方案
Dec 15 PHP
php curl批处理实现可控并发异步操作示例
May 09 PHP
PHP实现的XXTEA加密解密算法示例
Aug 28 PHP
Thinkphp 5.0实现微信企业付款到零钱
Sep 30 PHP
PHP自定义错误处理的方法分析
Dec 19 PHP
PHP 实现 WebSocket 协议原理与应用详解
Apr 22 PHP
PHP中$GLOBALS与global的区别详解
Mar 21 #PHP
PHP压缩图片功能的介绍
Mar 21 #PHP
PHP应用跨时区功能的实现方法
Mar 21 #PHP
PHP时间函数使用详解
Mar 21 #PHP
PHP抽象类与接口的区别详解
Mar 21 #PHP
PHP CURL使用详解
Mar 21 #PHP
使用ucenter实现多站点同步登录的讲解
Mar 21 #PHP
You might like
小偷PHP+Html+缓存
2006/12/20 PHP
推荐几个开源的微信开发项目
2014/12/28 PHP
php支付宝在线支付接口开发教程
2016/09/19 PHP
Alliance vs Liquid BO3 第三场2.13
2021/03/10 DOTA
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
自己动手制作jquery插件之自动添加删除行的实现
2011/10/13 Javascript
Jquery实现页面加载时弹出对话框代码
2013/04/19 Javascript
js实现在同一窗口浏览图片
2014/09/17 Javascript
jquery可定制的在线UEditor编辑器
2015/11/17 Javascript
原生JS实现拖拽图片效果
2020/08/27 Javascript
浅析js绑定事件的常用方法
2016/05/15 Javascript
解决vue打包之后静态资源图片失效的问题
2018/02/21 Javascript
jQuery中each方法的使用详解
2018/03/18 jQuery
vue+element-ui动态生成多级表头的方法
2018/08/28 Javascript
jsonp跨域获取百度联想词的方法分析
2019/05/13 Javascript
Vue实现星级评价效果实例详解
2019/12/30 Javascript
vue+render+jsx实现可编辑动态多级表头table的实例代码
2020/04/01 Javascript
[01:04:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第二场 1月31日
2021/03/11 DOTA
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
Python实现按照指定要求逆序输出一个数字的方法
2018/04/19 Python
Python中关键字global和nonlocal的区别详解
2018/09/03 Python
python 3.6.2 安装配置方法图文教程
2018/09/18 Python
python 判断参数为Nonetype类型或空的实例
2018/10/30 Python
python3 线性回归验证方法
2019/07/09 Python
python中count函数简单的实例讲解
2020/02/06 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
在tensorflow以及keras安装目录查询操作(windows下)
2020/06/19 Python
Tory Burch美国官方网站:美国时尚生活品牌
2016/08/01 全球购物
卡骆驰新加坡官网:Crocs新加坡
2018/06/12 全球购物
表达自我的市场:Society6
2018/08/01 全球购物
英国女性运动服品牌:Sweaty Betty
2018/11/08 全球购物
百货商场楼层班组长竞聘书
2014/03/31 职场文书
优秀工会工作者事迹材料
2014/06/02 职场文书
司法所长先进事迹
2014/06/02 职场文书
铣工实训报告
2014/11/05 职场文书
2015年小学美术工作总结
2015/05/25 职场文书