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 计算代码执行耗时的代码修正网上普遍错误
May 14 PHP
php按百分比生成缩略图的代码分享
May 10 PHP
Linux下PHP连接Oracle数据库
Aug 20 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 PHP
Symfony数据校验方法实例分析
Jan 26 PHP
php简单日历函数
Oct 28 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
Aug 08 PHP
PHP编写daemon process 实例详解
Nov 13 PHP
php常用数组函数实例小结
Dec 29 PHP
php-fpm添加service服务的例子
Apr 27 PHP
PHP删除数组中指定值的元素常用方法实例分析【4种方法】
Aug 21 PHP
PHP解决高并发问题
Apr 01 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
一个用于mysql的数据库抽象层函数库
2006/10/09 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
IP攻击升级,程序改进以对付新的攻击
2010/11/23 PHP
页面乱码问题的根源及其分析
2013/08/09 PHP
PHP中返回引用类型的方法
2015/04/03 PHP
Yii2中关联查询简单用法示例
2016/08/10 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
laravel框架查询数据集转为数组的两种方法
2019/10/10 PHP
jquery遍历input取得input的name
2009/04/27 Javascript
javascript一个无懈可击的实例化XMLHttpRequest的方法
2010/10/13 Javascript
window.location不跳转的问题解决方法
2014/04/17 Javascript
jQuery异步验证用户名是否存在示例代码
2014/05/21 Javascript
JS实现的车标图片提示效果代码
2015/10/10 Javascript
使用 stylelint检查CSS_StyleLint
2016/04/28 Javascript
深入理解js中this的用法
2016/05/28 Javascript
关于RequireJS的简单介绍即使用方法
2016/10/20 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
2017/03/06 Javascript
详解Vue项目在其他电脑npm run dev运行报错的解决方法
2018/10/29 Javascript
模块化react-router配置方法详解
2019/06/03 Javascript
JS访问对象两种方式区别解析
2020/08/29 Javascript
[01:07:02]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD BO3 第三场 2月26日
2021/03/11 DOTA
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
django1.8使用表单上传文件的实现方法
2016/11/04 Python
pip matplotlib报错equired packages can not be built解决
2018/01/06 Python
pandas 转换成行列表进行读取与Nan处理的方法
2018/10/30 Python
python3中sorted函数里cmp参数改变详解
2020/03/12 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
2020/06/02 Python
使用jupyter notebook运行python和R的步骤
2020/08/13 Python
python实现逻辑回归的示例
2020/10/09 Python
请写出一段Python代码实现删除一个list里面的重复元素
2015/12/29 面试题
秋季校运动会广播稿
2014/02/23 职场文书
学生评语大全
2014/04/18 职场文书
社区活动总结报告
2014/05/05 职场文书
幼儿园2015年度工作总结
2015/04/01 职场文书
医院病假条范文
2015/08/17 职场文书