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下用GD生成生成缩略图的两个选择和区别
Apr 17 PHP
迅速确定php多维数组的深度的方法
Jan 07 PHP
Cygwin中安装PHP方法步骤
Jul 04 PHP
php微信公众平台开发之获取用户基本信息
Aug 17 PHP
在WordPress的后台中添加顶级菜单和子菜单的函数详解
Jan 11 PHP
Symfony2联合查询实现方法
Mar 18 PHP
windows server 2008/2012安装php iis7 mysql环境搭建教程
Jun 30 PHP
PHP判断表达式中括号是否匹配的简单实例
Oct 22 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
Aug 17 PHP
如何通过View::first使用Laravel Blade的动态模板详解
Sep 21 PHP
Laravel中10个有用的用法小结
May 06 PHP
php和redis实现秒杀活动的流程
Jul 17 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 翻页 实例代码
2009/08/07 PHP
PHP array 的加法操作代码
2010/07/24 PHP
PHP设计模式之适配器模式代码实例
2015/05/11 PHP
Yii2中事务的使用实例代码详解
2016/09/07 PHP
Thinkphp5行为使用方法汇总
2017/12/21 PHP
php转换上传word文件为PDF的方法【基于COM组件】
2019/06/10 PHP
JavaScript中的集合及效率
2010/01/08 Javascript
js判断游览器类型及版本号的代码
2014/05/11 Javascript
JS按回车键实现登录的方法
2014/08/25 Javascript
jQuery自带的一些常用方法总结
2014/09/03 Javascript
jQuery实现按键盘方向键翻页特效
2015/03/18 Javascript
javascript字符串与数组转换汇总
2015/05/26 Javascript
javascript实现类似java中getClass()得到对象类名的方法
2015/07/27 Javascript
javascript仿百度输入框提示自动下拉补全
2016/01/07 Javascript
JS添加删除DIV的简单实例
2016/07/08 Javascript
javascript垃圾收集机制的原理分析
2016/12/08 Javascript
实例分析nodejs模块xml2js解析xml过程中遇到的坑
2017/03/18 NodeJs
JS实现的按钮点击颜色切换功能示例
2017/10/19 Javascript
原生JavaScript实现弹幕组件的示例代码
2020/10/12 Javascript
vue 防止页面加载时看到花括号的解决操作
2020/11/09 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
Python使用htpasswd实现基本认证授权的例子
2014/06/10 Python
Python3中多线程编程的队列运作示例
2015/04/16 Python
python 读写、创建 文件的方法(必看)
2016/09/12 Python
学习python的前途 python挣钱
2019/02/27 Python
六行python代码的爱心曲线详解
2019/05/17 Python
css3实现二维码扫描特效的示例
2020/10/29 HTML / CSS
欧洲最大的婴幼儿服装及内衣公司:Petit Bateau(小帆船)
2016/08/16 全球购物
AutoShack.com加拿大:北美主要的汽车零部件零售商
2019/07/24 全球购物
两道JAVA笔试题
2016/09/14 面试题
员工入职担保书范文
2014/04/01 职场文书
2014年大学生党员评议表自我评价
2014/09/20 职场文书
博士生专家推荐信
2014/09/26 职场文书
服装区域经理岗位职责
2015/04/10 职场文书
2015年党建工作汇报材料
2015/06/25 职场文书
Netflix《海贼王》真人版剧集多张片场照曝光
2022/04/04 日漫