您现在的位置是:首页 > 网站制作 > WordpressWordpress
WordPress函数:wp_tag_cloud(标签云)详解和举例
杰帅2023-06-26【Wordpress】人已围观
简介wp_tag_cloud() 函数的作用是用来标签云的,可以根据每个标签所关联的文章次数来定义字体大小、标签排序等属性。从 2.8 版本开始,添加了 分类法(taxonomy)参数,这就意味着,除了 标签(tags)以外,还可以将 分类(Categories) 或其他 自定义分类法(Custom Taxonomies)作为“云”显示。
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
- vunit —— 最大值最小值的单位为'pt'
- number —— 至多显示45个标签
- format —— 以平面形式显示所有标签(标签之间用空格隔开)
- separator —— 显示标签之间的空格
- orderby —— 按名称为标签排序
- order —— 以升序排列
- exclude —— 不排除任何标签
- include —— 包括所有标签
- topic_count_text_callback —— 使用函数 default_topic_count_text
- vlink —— 可视
- taxonomy —— 用文章的标签作为云基础
- echo —— 输出结果
参数
smallest
(整数)(可选)使用次数最少的标签的字号大小(单位由unit参数决定)
默认值:8
largest
(整数)(可选)使用次数最多的标签的字号大小(单位由unit参数决定)
默认值:22
unit
(字符串)(可选)对smallest与largest的值的测量单位。可以是任何CSS长度单位,如pt, px, em, %。
默认值:'pt'
number
(整数)(可选)显示在云中的实际标签数。(值为'0'时显示所有标签)
默认值:45
format
(字符串)(可选)所显示的云的格式。
'flat' (默认值)标签被“separator”参数所定义的空格分隔
'list' 标签与class='wp-tag-cloud' 共同在UL中
'array' 标签在数组中,函数以数组方式返回标签云,以用在PHP中。注意:数组被返回,而非显示。
separator
(字符串)(可选)标签之间的文本/空格。
默认值:'\n' (空格)
orderby
(字符串)(可选)标签的排列依据。有效值包括:
'name' (默认值)
'count'
order
(字符串)(可选)排列顺序(升序或降序)。有效值包括(必须大写):
'ASC' ——升序(默认值)
'DESC' ——降序
'RAND' —— 随机
exclude
(字符串)(可选)将要被排除的标签(term_id)的ID,各ID用逗号隔开。如 'exclude=5,27'表示不显示term_id为5或27的标签。默认值为不排除任何标签。
include
(字符串)(可选)要包含的标签(term_id)列表,各ID用逗号隔开。例如, 'include=5,27' 表示只显示term_id为5或27的标签。默认为包含所有链接。
topic_count_text_callback
(字符串)(可选)给出标签所关联的文章数,返回标签链接的用于 tooltip 的文本。
默认值: default_topic_count_text
link
(字符串)(可选)设置链接,允许编辑某个指定标签。有效值包括:
'view' (默认值)
'edit'
taxonomy
(字符串)(可选)用以生成云的分类法。
'post_tag' —— (默认值)将文章标签当作云的来源
'category' —— 用文章分类生成云
'link_category' —— 用链接分类目录生成云
任何其他已注册的分类法
或者一组 分类法 (注:此参数引入于 3.1 版本)
echo
(布尔型)(可选)显示结果,或将结果保留在变量中。默认值为true(显示标签云)。有效值包括:
1 (true) —— 默认值
0 (false)
例子
1.显示标题为Popular Tags的云
<?php if ( function_exists( 'wp_tag_cloud' ) ) : ?>
<h2>Popular Tags</h2>
<ul>
<li><?php wp_tag_cloud( 'smallest=8&largest=22' ); ?></li>
</ul>
<?php endif; ?>
2.限制标签大小且以使用次数而非名称排列标签的云
<?php wp_tag_cloud( 'smallest=15&largest=40&number=50&orderby=count' ); ?>
3.以数组形式返回云,但不显示
在变量$tag中包含标签云,以用在其它PHP代码中
<?php $tag = wp_tag_cloud('format=array' );?>
4.显示分类云
使用分类法(taxonomy)参数定义显示分类云
<?php
wp_tag_cloud( array( 'taxonomy' => 'category' ) );
?>
5.显示分类和标签云
使用分类法数组将分类和标签显示为云
<?php
$args = array(
'taxonomy' => array('post_tag','category'),
);
wp_tag_cloud($args);
?>
6.更改云链接的标题文本
使用 topic_count_text_callback 参数传递一个新的返回函数。原始函数 default_topic_count_text() 位于 /wp-includes/category-template.php 。这个例子使用“pictures”替换默认的“topics”:
<?php
wp_tag_cloud( array( 'topic_count_text_callback' => 'my_tag_text_callback' ) );
function my_tag_text_callback( $count ) {
return sprintf( _n('%s picture', '%s pictures', $count), number_format_i18n( $count ) );
}
?>
创建标签存档页面
从 2.3 版本开始,标签云可以制作成一个标签存档页面。这就意味着,用户可以点击某个标签,然后查看到该使用该标签的所有文章。根据 模板层级(Template_Hierarchy),如果tag.php模板不存在,那么就使用archives.php模板。通过tag,php模板你可以自定义标签存档索引的样式,为方便导航,模板会在最上方包含标签云。
要将标签云显示在模板上方,你需要将一个新模板添加到主题文件中。模板、模板层级 中有相关介绍。基础步骤包括:
- 用下面的内容创建一个文件,命名为tag.php
- 将新文件上传到主题目录下
- 如果你希望在页面导航中加入一个指向标签索引的链接,可进行第三步骤,否则点击某个标签时会使用新模板。
用新模板新建一个空白页面,将页面命名为标签存档索引。
对第三步的进一步阐述:
WordPress可为不同页面使用不同页面模板。在 页面>添加新页面 界面的最下方(或是侧边栏,取决于你安装的WordPress版本)有一个名为“页面模板”的下拉式菜单。你可以在这里选择显示某个页面所用的模板。
<?php /*
Template Name: Tag Archive
*/ ?>
<div>
<?php get_header(); ?>
<h2>Tag Archive</h2>
<?php wp_tag_cloud(''); ?>
<div class="navigation">
<div class="alignleft"><?php next_posts_link('? Older Entries') ?></div>
<div class="alignright"><?php previous_posts_link('Newer Entries ?') ?></div>
</div>
<?php if (have_posts()) : ?>
<?php while (have_posts()) : the_post(); ?>
<h2><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title(); ?>"><?php the_title(); ?></a></h2>
<div class="entry">
<?php the_content('Read the rest of this entry ?'); ?>
</div>
<?php endwhile; ?>
<?php endif; ?>
</div>
<?php get_footer(); ?>
注意:模板还没有添加样式。通过查看single.php主题文件可以了解你的主题所用的结构。
函数历史
- 3.1 添加传递分类法数组的功能参数
- 2.9 添加 separator 参数
- 2.8 添加 taxonomy 和 echo 参数
- 2.7 添加 link 参数
- 2.5 在order参数下新增'RAND'顺序 ;format=array 返回数组
- 该标签始见于WordPress 2.3
源文件
wp_tag_cloud() 位于 wp-includes/category-template.php
参考文档:https://www.uedsc.com/wordpress-wp_tag_cloud.html
Tags:wordpress函数 wordpress教程 wp_tag_cloud() 函数 标签云
很赞哦! ()
相关文章
- WordPress无插件实现主题彩色标签云的N种方法总结
- WordPress 3D旋转彩色标签云
- WordPress函数:load_theme_textdomain()(载入本地化语言
- WordPress函数:add_submenu_page()后台为顶级菜单添加
- WordPress函数:add_theme_page()后台添加设置页面
- WordPress函数:add_menu_page()后台添加顶级菜单用法及
- wordpress修改标签云显示个数
- WordPress函数:comment_form( )个性化评论表单多种方法
- WordPress函数:comments_template(加载评论模板)
- WordPress函数:comment_form() 让你的 WordPress 评论
随机图文
-
wordpress 上传的图片不显示的问题 base64,data:image/gif
-
wordpress发布文章HTML标签被自动过滤掉该如何处理?
wordpress发布文章时很多html标签都会自动过滤掉,造成了文章中无法添加<style></style><script></script>等标签。那么该如何如何处理呢? 解决方法一: 将wp-includes文件夹下 -
wp_reset_postdata 和 wp_reset_query 的作用与区别
什么时候使用wp_reset_query,什么时候用wp_reset_postdata? -
WordPress 页面模板(Page Template)下拉列表不显示的原因及解决方法
WordPress 的自定义页面模板是一个非常强大好用的功能,使用它新建一些静态页面(Page),添加上一些数据调用的函数,再在网页上做一个导航连接到对应的页面就可以实现很多自定义的功