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 文件上传全攻略
Apr 28 PHP
基于PHP常用字符串的总结(待续)
Jun 07 PHP
php 判断字符串中是否包含html标签
Feb 17 PHP
php去除换行(回车换行)的三种方法
Mar 26 PHP
php实现Session存储到Redis
Nov 11 PHP
最新制作ThinkPHP3.2.3完全开发手册
Nov 23 PHP
简单的php+mysql聊天室实现方法(附源码)
Jan 05 PHP
thinkPHP多域名情况下使用memcache方式共享session数据的实现方法
Jul 21 PHP
php的常量和变量实例详解
Jun 27 PHP
PHP多维数组排序array详解
Nov 21 PHP
PHP使用openssl扩展实现加解密方法示例
Feb 20 PHP
PHP代码覆盖率统计详解
Jul 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
dede全站URL静态化改造[070414更正]
2007/04/17 PHP
php将字符串转换成16进制的方法
2015/03/17 PHP
php读取txt文件并将数据插入到数据库
2016/02/23 PHP
php判断是否为ajax请求的方法
2016/11/29 PHP
XP折叠菜单&amp;仿QQ2006菜单
2006/12/16 Javascript
javascript利用控件对windows的操作实现原理与应用
2012/12/23 Javascript
基于jquery实现后台左侧菜单点击上下滑动显示
2013/04/11 Javascript
JavaScript常用脚本汇总(一)
2015/03/04 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
2016/03/01 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
使用node.js对音视频文件加密的实例代码
2017/08/30 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
浅谈js获取ModelAndView值的问题
2018/03/28 Javascript
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
vue-cli脚手架搭建的项目去除eslint验证的方法
2018/09/29 Javascript
vue插件draggable实现拖拽移动图片顺序
2018/12/01 Javascript
vue $set 给数据赋值的实例
2019/11/09 Javascript
python实现删除文件与目录的方法
2014/11/10 Python
SVM基本概念及Python实现代码
2017/12/27 Python
Tensorflow中使用tfrecord方式读取数据的方法
2018/06/19 Python
python读取文件名并改名字的实例
2019/01/07 Python
Python实现定时自动关闭的tkinter窗口方法
2019/02/16 Python
Python使用type关键字创建类步骤详解
2019/07/23 Python
浅谈PyTorch的可重复性问题(如何使实验结果可复现)
2020/02/20 Python
Tensorflow tf.nn.atrous_conv2d如何实现空洞卷积的
2020/04/20 Python
印度尼西亚综合购物网站:Lazada印尼
2016/09/07 全球购物
The Body Shop美体小铺西班牙官网:天然化妆品
2019/06/21 全球购物
能否解释一下XSS cookie盗窃是什么意思
2012/06/02 面试题
应届大学毕业生找工作的求职信范文
2013/11/29 职场文书
幼儿园消防演练方案
2014/02/13 职场文书
中秋节主持词
2014/04/02 职场文书
《记金华的双龙洞》教学反思
2014/04/19 职场文书
如何撰写创业策划书
2019/06/27 职场文书
MySQL 存储过程的优缺点分析
2021/05/20 MySQL
Vue如何清空对象
2022/03/03 Vue.js
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS