wordpress自定义标签云与随机获取标签的方法详解
时间:2022-07-27
本文章向大家介绍wordpress自定义标签云与随机获取标签的方法详解,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
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连接表查询就搞出来了。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对ZaLou.Cn的支持。如果你想了解更多相关内容请查看下面相关链接
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 图文详解Ubuntu搭建Ftp服务器的方法(包成功)
- Linux中chown与chmod两个命令的区别详解
- 解决navicat连接不上linux服务器上的mysql问题
- 增强Linux和Unix服务器安全性的方法详解
- ubuntu下没有中文输入法的解决办法
- linux查看端口是否开放的方法总结
- Linux下删除乱码或特殊字符文件的方法讲解
- Ubuntu Server下无线网卡的配置详解
- Linux中修改mysql默认编码的方法步骤
- ubuntu16.04搭建nfs服务的方法
- Ubuntu16.04搭建php5.6Web服务器环境
- Linux上通过SSH挂载远程文件系统方法详解
- Linux上创建、列出、删除Docker容器方法总结
- Centos 7.4服务器时间同步配置方法【基于NTP服务】
- PowerBI 通用万能日历模板,想干嘛就干嘛