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 相关文章推荐
一个简单的MySQL数据浏览器
Oct 09 PHP
中英文字符串翻转函数
Dec 09 PHP
PHP 危险函数全解析
Sep 09 PHP
smarty模板判断数组为空的方法
Jun 10 PHP
php实现比较两个文件夹异同的方法
Jun 18 PHP
WordPress后台中实现图片上传功能的实例讲解
Jan 11 PHP
微信随机生成红包金额算法php版
Jul 21 PHP
php魔法函数与魔法常量使用介绍
Jul 23 PHP
php封装db类连接sqlite3数据库的方法实例
Dec 19 PHP
基于php数组中的索引数组和关联数组详解
Mar 12 PHP
php对微信支付回调处理的方法
Aug 23 PHP
php 多继承的几种常见实现方法示例
Nov 18 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
奉献出一个封装的curl函数 便于调用(抓数据专用)
2013/07/22 PHP
PHP开源开发框架ZendFramework使用中常见问题说明及解决方案
2014/06/12 PHP
PHP图形计数器程序显示网站用户浏览量
2016/07/20 PHP
JavaScript prototype属性使用说明
2010/05/13 Javascript
基于Jquery的回车成tab焦点切换效果代码(Enter To Tab )
2010/11/14 Javascript
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
jQuery在html有效在jsp无效的原因及解决方法
2013/08/02 Javascript
js 采用delete实现继承示例代码
2014/05/20 Javascript
JavaScript正则表达式之multiline属性的应用
2015/06/16 Javascript
jQuery设置Easyui校验规则(推荐)
2016/11/21 Javascript
JS ES6中setTimeout函数的执行上下文示例
2017/04/27 Javascript
jQuery 导航自动跟随滚动的实现代码
2018/05/30 jQuery
解决vue2 在mounted函数无法获取prop中的变量问题
2018/11/15 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
如何使用webpack打包一个库library的方法步骤
2019/12/18 Javascript
js实现简易ATM功能
2020/10/27 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
python面试题小结附答案实例代码
2019/04/11 Python
python flask解析json数据不完整的解决方法
2019/05/26 Python
机器学习实战之knn算法pandas
2019/06/22 Python
python调用pyaudio使用麦克风录制wav声音文件的教程
2019/06/26 Python
pygame实现贪吃蛇游戏(下)
2019/10/29 Python
Pytorch 多维数组运算过程的索引处理方式
2019/12/27 Python
使用pycharm和pylint检查python代码规范操作
2020/06/09 Python
html5声频audio和视频video等新特性详细说明
2012/12/26 HTML / CSS
基于html5 canvas实现漫天飞雪效果实例
2014/09/10 HTML / CSS
伦敦平价潮流珠宝首饰品牌:Astrid & Miyu
2016/10/10 全球购物
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
全球性的在线商店:Vogca
2019/05/10 全球购物
毕业自我评价范文
2013/11/17 职场文书
学校十一活动方案
2014/02/01 职场文书
化妆师职业生涯规划书
2014/02/16 职场文书
校运会新闻稿
2015/07/17 职场文书
详细聊聊浏览器是如何看闭包的
2021/11/11 Javascript
Win11安全功能升级:内置防网络钓鱼功能
2022/04/08 数码科技