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中iconv函数使用方法
May 24 PHP
PHP mkdir()定义和用法
Jan 14 PHP
php生成xml简单实例代码
Dec 16 PHP
PHPMailer 中文使用说明小结
Jan 22 PHP
从康盛产品(discuz)提取出来的模板类
Jun 28 PHP
php之curl设置超时实例
Nov 03 PHP
PHP中返回引用类型的方法
Apr 03 PHP
WordPress中获取所使用的模板的页面ID的简单方法
Dec 31 PHP
PHP 7.0.2 正式版发布
Jan 08 PHP
yii2简单使用less代替css示例
Mar 10 PHP
PHP实现数据库统计时间戳按天分组输出数据的方法
Oct 10 PHP
Laravel框架自定义验证过程实例分析
Feb 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
php防止恶意刷新与刷票的方法
2014/11/21 PHP
php设置页面超时时间解决方法
2015/09/22 PHP
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
Jquery绑定事件(bind和live的区别介绍)
2013/08/23 Javascript
JavaScript的代码编写格式规范指南
2015/12/07 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
浅谈angularjs $http提交数据探索
2017/01/20 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
nuxt+axios解决前后端分离SSR的示例代码
2017/10/24 Javascript
Vue.js表单标签中的单选按钮、复选按钮和下拉列表的取值问题
2017/11/22 Javascript
理解Koa2中的async&amp;await的用法
2018/02/05 Javascript
vue.js使用v-pre与v-html输出HTML操作示例
2018/07/07 Javascript
Vue CL3 配置路径别名详解
2019/05/30 Javascript
微信小程序返回箭头跳转到指定页面实例解析
2019/10/08 Javascript
在VUE style中使用data中的变量的方法
2020/06/19 Javascript
vue使用echarts实现水平柱形图实例
2020/09/09 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
python 从远程服务器下载东西的代码
2013/02/10 Python
浅谈python抛出异常、自定义异常, 传递异常
2016/06/20 Python
深入了解Python数据类型之列表
2016/06/24 Python
Python控制多进程与多线程并发数总结
2016/10/26 Python
tensorflow 1.0用CNN进行图像分类
2018/04/15 Python
Python实现压缩文件夹与解压缩zip文件的方法
2018/09/01 Python
利用python将图片版PDF转文字版PDF
2019/05/03 Python
python用线性回归预测股票价格的实现代码
2019/09/04 Python
使用python3批量下载rbsp数据的示例代码
2019/12/20 Python
python如何实现读取并显示图片(不需要图形界面)
2020/07/08 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
北美最大的零售退货翻新商:VIP Outlet
2019/11/21 全球购物
一套带网友答案的.NET笔试题
2016/12/06 面试题
统计员岗位职责
2013/11/14 职场文书
扩大国家免疫规划实施方案
2014/03/21 职场文书
2014年消防工作总结
2014/11/21 职场文书
学前班语言教学计划
2015/01/20 职场文书
八达岭长城导游词
2015/01/30 职场文书
岳庙导游词
2015/02/04 职场文书