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 相关文章推荐
phpfans留言版用到的数据操作类和分页类
Jan 04 PHP
用php过滤危险html代码的函数
Jul 22 PHP
php仿ZOL分页类代码
Oct 02 PHP
javascript 小型动画组件与实现代码
Jun 02 PHP
表格展示无限级分类(PHP版)
Aug 21 PHP
谈谈关于php的优点与缺点
Apr 11 PHP
如何在php中正确的使用json
Aug 06 PHP
PHP echo,print,printf,sprintf函数之间的区别与用法详解
Nov 27 PHP
php获取网页标题和内容函数(不包含html标签)
Feb 03 PHP
php实现插入数组但不影响原有顺序的方法
Mar 27 PHP
如何批量清理系统临时文件(语言:C#、 C/C++、 php 、python 、java )
Feb 01 PHP
laravel-admin 实现在指定的相册下添加照片
Oct 21 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中设置时区,记录日志文件的实现代码
2013/01/07 PHP
PHP实现中文圆形印章特效
2015/06/19 PHP
PHP常用的类封装小结【4个工具类】
2019/06/28 PHP
document.all还是document.getElementsByName?
2006/07/21 Javascript
Javascript写了一个清除“logo1_.exe”的杀毒工具(可扫描目录)
2007/02/09 Javascript
js+CSS 图片等比缩小并垂直居中实现代码
2008/12/01 Javascript
解决jQuery插件tipswindown与hintbox冲突
2010/11/05 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
js function定义函数的几种不错方法
2014/02/27 Javascript
node.js中的buffer.Buffer.byteLength方法使用说明
2014/12/10 Javascript
JQuery基础语法小结
2015/02/27 Javascript
JS实现的仿QQ空间图片弹出效果代码
2016/02/23 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
2016/04/08 Javascript
在localStorage中存储对象数组并读取的方法
2016/09/24 Javascript
jQuery动态添加与删除tr行实例代码
2016/10/18 Javascript
Jquery通过ajax请求NodeJS返回json数据实例
2016/11/08 NodeJs
深入解析js轮播插件核心代码的实现过程
2017/04/14 Javascript
Nodejs中使用captchapng模块生成图片验证码
2017/05/18 NodeJs
Form表单上传文件(type=&quot;file&quot;)的使用
2017/08/03 Javascript
vue图片上传本地预览组件使用详解
2019/02/20 Javascript
vue使用codemirror的两种用法
2019/08/27 Javascript
基于js实现判断浏览器类型代码实例
2020/07/17 Javascript
如何在Express4.x中愉快地使用async的方法
2020/11/18 Javascript
举例讲解Python程序与系统shell交互的方式
2015/04/09 Python
tensorflow识别自己手写数字
2018/03/14 Python
使用django和vue进行数据交互的方法步骤
2019/11/11 Python
python字典与json转换的方法总结
2020/12/28 Python
html5中 media(播放器)的api使用指南
2014/12/26 HTML / CSS
可打印的优惠券、杂货和优惠券代码:Coupons.com
2018/06/12 全球购物
计算机专业学生的自我评价
2013/12/15 职场文书
联片教研活动总结
2014/07/01 职场文书
新颖的化妆品活动方案
2014/08/21 职场文书
运动员代表致辞
2015/07/29 职场文书
关于远足的感想
2015/08/10 职场文书
2015年度考核个人工作总结
2015/10/24 职场文书
四年级数学教学反思
2016/02/16 职场文书