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 模板高级篇总结
Dec 21 PHP
isset和empty的区别
Jan 15 PHP
php REMOTE_ADDR之获取访客IP的代码
Apr 22 PHP
PHP-CGI进程CPU 100% 与 file_get_contents 函数的关系分析
Aug 15 PHP
慎用preg_replace危险的/e修饰符(一句话后门常用)
Jun 19 PHP
php实现查询百度google收录情况(示例代码)
Aug 02 PHP
PHP中IP地址与整型数字互相转换详解
Aug 20 PHP
详解php魔术方法(Magic methods)的使用方法
Feb 14 PHP
PHP实现的登录,注册及密码修改功能分析
Nov 25 PHP
PHP实现微信JS-SDK接口选择相册及拍照并上传的方法
Dec 05 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 PHP
通过代码实例解析PHP session工作原理
Dec 11 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
使用session判断用户登录用户权限(超简单)
2013/06/08 PHP
PHP使用ODBC连接数据库的方法
2015/07/18 PHP
PHP Echo字符串的连接格式
2016/03/07 PHP
php中引用符号(&amp;)的使用详细介绍
2016/12/06 PHP
使用PHP连接多种数据库的实现代码(mysql,access,sqlserver,Oracle)
2016/12/21 PHP
php图形jpgraph操作实例分析
2017/02/22 PHP
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
js Form.elements[i]的使用实例
2011/11/13 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
基于js与flash实现的网站flv视频播放插件代码
2014/10/14 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
2016/01/26 Javascript
js点击文本框弹出可选择的checkbox复选框
2016/02/03 Javascript
JavaScript判断表单为空及获取焦点的方法
2016/02/12 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
2017/07/04 jQuery
vue子路由跳转实现tab选项卡
2019/07/24 Javascript
JS数据类型STRING使用实例解析
2019/12/18 Javascript
python with statement 进行文件操作指南
2014/08/22 Python
零基础写python爬虫之使用urllib2组件抓取网页内容
2014/11/04 Python
Python+matplotlib+numpy绘制精美的条形统计图
2018/01/02 Python
Python运行异常管理解决方案
2020/03/09 Python
python实现最速下降法
2020/03/24 Python
详解python模块pychartdir安装及导入问题
2020/10/22 Python
web页面录屏实现
2019/02/12 HTML / CSS
英国排名第一的LED灯泡网站:LED Bulbs
2019/09/03 全球购物
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
捐款倡议书范文
2014/02/02 职场文书
数控技术应用个人求职信范文
2014/02/03 职场文书
小松树教学反思
2014/02/11 职场文书
事假请假条范文
2014/04/11 职场文书
学生评语大全
2014/04/18 职场文书
银行主办会计岗位职责
2014/08/13 职场文书
2014年学生管理工作总结
2014/12/20 职场文书
离婚撤诉申请书范本
2015/05/18 职场文书
2016年教师党员承诺书范文
2016/03/24 职场文书
你需要掌握的20个Python常用技巧
2022/02/28 Python
详解Python flask的前后端交互
2022/03/31 Python