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+javascript液晶时钟
Oct 09 PHP
apache rewrite_module模块使用教程
Jan 10 PHP
php生成SessionID和图片校验码的思路和实现代码
Mar 10 PHP
php后退一页表单内容保存实现方法
Jun 17 PHP
php eval函数用法 PHP中eval()函数小技巧
Oct 31 PHP
基于php iconv函数的使用详解
Jun 09 PHP
PHP中Session引起的脚本阻塞问题解决办法
Apr 08 PHP
Smarty局部缓存的几种方法简介
Jun 17 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
Apr 07 PHP
PHP解密Unicode及Escape加密字符串
May 17 PHP
php实现word转html的方法
Jan 22 PHP
浅谈PHP Cookie处理函数
Jun 10 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 数组动态添加实现代码(最土团购系统的价格排序)
2011/12/30 PHP
php cookie工作原理与实例详解
2016/07/18 PHP
php版微信自动登录并获取昵称的方法
2016/09/23 PHP
Javascript图像处理—为矩阵添加常用方法
2012/12/27 Javascript
js 立即调用的函数表达式如何写
2014/01/12 Javascript
jQuery中offset()方法用法实例
2015/01/16 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
javascript实现在线客服效果
2015/07/15 Javascript
跟我学习JScript的Bug与内存管理
2015/11/18 Javascript
JS阻止事件冒泡行为和闭包的方法
2016/06/16 Javascript
JavaScript 实现的checkbox经典实例分享
2016/10/16 Javascript
Bootstrap框架的学习教程详解(二)
2016/10/18 Javascript
JavaScript实现精美个性导航栏筋斗云效果
2017/10/29 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
浅谈vue引入css,less遇到的坑和解决方法
2018/01/20 Javascript
少女风vue组件库的制作全过程
2019/05/15 Javascript
解决Idea、WebStorm下使用Vue cli脚手架项目无法使用Webpack别名的问题
2019/10/11 Javascript
解决python写的windows服务不能启动的问题
2014/04/15 Python
Python中的装饰器用法详解
2015/01/14 Python
python网络编程之数据传输UDP实例分析
2015/05/20 Python
python从网络读取图片并直接进行处理的方法
2015/05/22 Python
Python基于PyGraphics包实现图片截取功能的方法
2017/12/21 Python
tensorflow实现图像的裁剪和填充方法
2018/07/27 Python
Python解决线性代数问题之矩阵的初等变换方法
2018/12/12 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
详解如何用TensorFlow训练和识别/分类自定义图片
2019/08/05 Python
opencv转换颜色空间更改图片背景
2019/08/20 Python
pycharm无法导入本地模块的解决方式
2020/02/12 Python
英国家居用品和家居装饰品购物网站:Cox & Cox
2019/08/25 全球购物
更夫岗位责任制
2014/02/11 职场文书
党政领导班子民主生活会整改措施
2014/09/18 职场文书
2014群众路线学习笔记
2014/11/06 职场文书
装修公司工程部经理岗位职责
2015/04/09 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
MySql 缓存查询原理与缓存监控和索引监控介绍
2021/07/02 MySQL
安装Windows Server 2012 R2企业版操作系统并设置好相关参数
2022/04/29 Servers