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 相关文章推荐
理解PHP5中static和const关键字的区别
Mar 19 PHP
php 清除网页病毒的方法
Dec 05 PHP
Google Voice 短信发送接口PHP开源版(2010.5更新)
Jul 22 PHP
用PHP书写安全的脚本代码
Feb 05 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
Apr 08 PHP
PHP 伪静态技术原理以及突破原理实现介绍
Jul 12 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
Aug 23 PHP
Zend Framework教程之Zend_Helpers动作助手ViewRenderer用法详解
Jul 20 PHP
php 时间time与日期date之间的使用详解及区别
Nov 07 PHP
PHP实现类似于C语言的文件读取及解析功能
Sep 01 PHP
PHP基于openssl实现的非对称加密操作示例
Jan 11 PHP
浅谈PHP各环境下的伪静态配置
Mar 13 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
Drupal读取Excel并导入数据库实例
2014/03/02 PHP
php实现的九九乘法口诀表简洁版
2014/07/28 PHP
PHP基于工厂模式实现的计算器实例
2015/07/16 PHP
php curl操作API接口类完整示例
2019/05/21 PHP
基于php+MySql实现学生信息管理系统实例
2020/08/04 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
推荐dojo学习笔记
2007/03/24 Javascript
jQuery 自定义函数写法分享
2012/03/30 Javascript
js添加事件的通用方法推荐
2016/05/15 Javascript
纯原生js实现table表格的增删
2017/01/05 Javascript
JavaScript与JQUERY获取元素的宽、高和位置
2017/02/26 Javascript
在javaScript中检测数据类型的几种方式小结
2017/03/04 Javascript
AngularJS select设置默认值的实现方法
2017/08/25 Javascript
Windows安装Node.js报错:2503、2502的解决方法
2017/10/25 Javascript
vue下拉菜单组件(含搜索)的实现代码
2018/11/25 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
python动态监控日志内容的示例
2014/02/16 Python
使用优化器来提升Python程序的执行效率的教程
2015/04/02 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
Python决策树和随机森林算法实例详解
2018/01/30 Python
numpy.random模块用法总结
2019/05/27 Python
Python Web框架之Django框架cookie和session用法分析
2019/08/16 Python
Python ArgumentParse的subparser用法说明
2020/04/20 Python
用python给csv里的数据排序的具体代码
2020/07/17 Python
python爬虫数据保存到mongoDB的实例方法
2020/07/28 Python
CSS3使用transition属性实现过渡效果
2018/04/18 HTML / CSS
萨克斯第五大道精品百货店: Saks Fifth Avenue
2017/04/28 全球购物
周仰杰(JIMMY CHOO)英国官方网站:闻名世界的鞋子品牌
2018/10/28 全球购物
大学生大二自我鉴定
2013/10/28 职场文书
大家检讨书5000字
2014/02/03 职场文书
班级学习计划书
2014/04/27 职场文书
安全生产月活动总结
2014/05/04 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
结婚司仪主持词
2015/06/29 职场文书
Html5获取用户当前位置的几种方式
2022/01/18 HTML / CSS
一文了解Java动态代理的原理及实现
2022/07/07 Java/Android