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 相关文章推荐
实用函数2
Nov 08 PHP
从Web查询数据库之PHP与MySQL篇
Sep 25 PHP
php 广告调用类代码(支持Flash调用)
Aug 11 PHP
php网上商城购物车设计代码分享
Feb 15 PHP
php实现快速排序法函数代码
Aug 27 PHP
php堆排序(heapsort)练习
Nov 13 PHP
PHP中使用正则表达式提取中文实现笔记
Jan 20 PHP
php简单分页类实现方法
Feb 26 PHP
PHP递归遍历指定文件夹内的文件实现方法
Nov 15 PHP
ThinkPHP实现图片上传操作的方法详解
May 08 PHP
php格式文件打开的四种方法
Feb 24 PHP
Thinkphp5.0 框架视图view的比较标签用法分析
Oct 12 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依赖注入的理解实例分析
2016/10/09 PHP
PHP文件操作简单介绍及函数汇总
2020/12/11 PHP
AppBaseJs 类库 网上常用的javascript函数及其他js类库写的
2010/03/04 Javascript
capacityFixed 基于jquery的类似于新浪微博新消息提示的定位框
2011/05/24 Javascript
js判断是否为数组的函数: isArray()
2011/10/30 Javascript
XMLHttpRequest处理xml格式的返回数据(示例代码)
2013/11/21 Javascript
JavaScript的9种继承实现方式归纳
2015/05/18 Javascript
jquery插件jquery.LightBox.js实现点击放大图片并左右点击切换效果(附demo源码下载)
2016/02/25 Javascript
jQuery EasyUI tree 使用拖拽时遇到的错误小结
2016/10/10 Javascript
浅谈js原生拖放
2016/11/21 Javascript
详解堆的javascript实现方法
2016/11/29 Javascript
js实现常见的工具条效果
2017/03/02 Javascript
vue给input file绑定函数获取当前上传的对象完美实现方法
2017/12/15 Javascript
浅谈React高阶组件
2018/03/28 Javascript
微信小程序实现两个页面传值的方法分析
2018/12/11 Javascript
基于vue实现圆形菜单栏组件
2019/07/05 Javascript
解决VueCil代理本地proxytable无效报错404的问题
2020/11/07 Javascript
[01:00:12]2018DOTA2亚洲邀请赛 4.7 淘汰赛 VP vs LGD 第一场
2018/04/09 DOTA
Python删除Java源文件中全部注释的实现方法
2017/08/30 Python
用python实现k近邻算法的示例代码
2018/09/06 Python
python selenium实现发送带附件的邮件代码实例
2019/12/10 Python
在Python IDLE 下调用anaconda中的库教程
2020/03/09 Python
Django ORM实现按天获取数据去重求和例子
2020/05/18 Python
Python基础教程之输入输出和运算符
2020/07/26 Python
Flask中jinja2的继承实现方法及实例
2021/03/03 Python
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
记一次高分屏下canvas模糊问题
2020/02/17 HTML / CSS
美国南加州的原创极限运动潮牌:Vans(范斯)
2016/08/05 全球购物
西班牙太阳镜品牌:Hawkers
2018/03/11 全球购物
优秀体育委员自荐书
2014/01/31 职场文书
挂靠协议书范本
2014/04/22 职场文书
实习生工作证明范本
2014/09/14 职场文书
2014司机年终工作总结
2014/12/05 职场文书
小学一年级班主任工作经验交流材料
2015/11/02 职场文书
教师教育心得体会
2016/01/19 职场文书
python自动化操作之动态验证码、滑动验证码的降噪和识别
2021/08/30 Python