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 输出简单动态WAP页面
Jun 09 PHP
php cli 方式 在crotab中运行解决
Feb 08 PHP
在Nginx上部署ThinkPHP项目教程
Feb 02 PHP
Laravel中使用阿里云OSS Composer包分享
Feb 10 PHP
PHP CURL 内存泄露问题解决方法
Feb 12 PHP
Linux操作系统安装LAMP环境
Jun 26 PHP
PHP简单实现无限级分类的方法
May 13 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 PHP
PHP的mysqli_select_db()函数讲解
Jan 23 PHP
Thinkphp5.0框架的Db操作实例分析【连接、增删改查、链式操作等】
Oct 11 PHP
Laravel框架集合用法实例浅析
May 14 PHP
php swoft框架实例用法
Dec 22 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中拷贝构造函数、赋值运算符重载
2012/07/25 PHP
PHP时间格式控制符对照表分享
2013/07/23 PHP
php使用ob_flush不能每隔一秒输出原理分析
2015/06/02 PHP
简单谈谈favicon
2015/06/10 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
JavaScript Eval 函数使用
2010/03/23 Javascript
浅析jQuery1.8的几个小变化
2013/12/10 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
JavaScript修改css样式style动态改变元素样式
2013/12/16 Javascript
js格式化金额可选是否带千分位以及保留精度
2014/01/28 Javascript
用javascript将数据导入Excel示例代码
2014/09/10 Javascript
JQuery删除DOM节点的方法
2015/06/11 Javascript
详解javascript实现自定义事件
2016/01/19 Javascript
jQuery中弹出iframe内嵌页面元素到父页面并全屏化的实例代码
2016/12/27 Javascript
微信小程序 本地存储及登录页面处理实例详解
2017/01/11 Javascript
mac上node.js环境的安装测试
2017/07/03 Javascript
详解从零搭建 vue2 vue-router2 webpack3 工程
2017/11/22 Javascript
jquery根据name取得select选中的值实例(超简单)
2018/01/25 jQuery
Node.js实现mysql连接池使用事务自动回收连接的方法示例
2018/02/03 Javascript
js实现图片上传并预览功能
2018/08/06 Javascript
node.js环境搭建图文详解
2018/09/19 Javascript
微信小程序 scroll-view的使用案例代码详解
2020/06/11 Javascript
Python 字符串大小写转换的简单实例
2017/01/21 Python
numpy 声明空数组详解
2019/12/05 Python
HTML5超文本标记语言的实现方法
2020/09/24 HTML / CSS
TUMI香港官网:国际领先的行李箱、背囊品牌
2021/03/01 全球购物
自我鉴定模板
2013/10/29 职场文书
JAVA程序员自荐书
2014/01/30 职场文书
信电学院毕业生自荐书
2014/05/24 职场文书
身边的榜样活动方案
2014/08/20 职场文书
幼儿园大班见习报告
2014/10/31 职场文书
2014年环卫工作总结
2014/11/22 职场文书
2016年国庆节宣传标语
2015/11/25 职场文书
python爬虫--selenium模块
2021/03/31 Python
Python手拉手教你爬取贝壳房源数据的实战教程
2021/05/21 Python
《黑岩★★射手 DAWN FALL》BD发售宣传CM公开
2022/04/04 日漫