5ucms论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 11560|回复: 0
打印 上一主题 下一主题

[钩子/函数] wp_list_categories()函数 列出分类

[复制链接]

670

主题

785

帖子

8328

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
8328
跳转到指定楼层
楼主
发表于 2021-5-29 09:37:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
wp_list_categories 函数是 WordPress 中用来罗列系统中分类的函数,该函数拥有许多控制输出的参数。

语法结构

  1. <?php
  2. wp_list_categories( $args );
  3. $args = array(
  4.     'show_option_all' => '', //不列出分类链接
  5.     'orderby' => 'name', //按照分类名排序
  6.     'order' => 'ASC', //升序排列
  7.     'show_last_update' => 0, //不显示分类中日志的最新时间戳
  8.     'style' => 'list', //列表显示分类
  9.     'show_count' => 0, //不显示分类日志数量
  10.     'hide_empty' => 1, //不显示没有日志的分类
  11.     'use_desc_for_title' => 1, //显示分类描述
  12.     'child_of' => 0, //不限制子分类
  13.     'feed' => '', //不显示feed
  14.     'feed_image' => '', //不显示feed图片
  15.     'exclude' => '', //不显示该分类
  16.     'hierarchical' => true, //分层次显示父/子分类
  17.     'title_li' => __('Categories'), //用“Categories”为当前分类列表的标题
  18.     'echo' => 1, //显示(echos) 分类
  19.     'depth' => 0 //不限制列表深度
  20.     'walker' => null//用于显示的类(很复杂的概念
  21. );
  22. ?>
复制代码

参数

show_option_all(字符串)非空值会导致如果样式设置为列表显示所有类别的链接。默认值是不显示链接到所有分类。

orderby (字符串)以分类名称、分类ID或文章数量等为排列依据。有效值:

ID
name – 默认
slug
count
term_group
order (字符串)分类的排序顺序(升序或降序)。缺省为升序。有效值:

ASC – 升序(默认)
DESC – 降序
style(字符串)分类列表显示的样式。将分类列表的方式显示(使用<br >标签分隔列表项)。默认设置为列表(无序列表)。有效值:

list – 默认
none
show_count(布尔)显示文章数量。默认情况下不显示文章数量。有效值:

1 (True)
0 (False) – 默认
hide_empty(布尔)隐藏没有文章的分类。  默认情况下隐藏没有文章的分类。有效值:

1 (True) – 默认
0 (False)
use_desc_for_title(布尔)是否将分类描述作为分类链接中的 title 属性,默认为 true。有效值:

1 (True) – 默认
0 (False)
child_of(整数)只显示此参数确定的分类的子分类。此参数没有默认值。

feed (字符串)显示每个分类的 RSS-2 Feed链接到设置的feed文字。默认不显示feed文字和链接。

feed_type(字符串)

feed_image(字符串)设置一个图片到分类的 RSS-2 Feed链接。这个参数会覆盖上面的 feed 参数。此参数没有默认值。

exclude (字符串)排除一个或多个分类。使用逗号分隔每个分类的ID。参数 include 必须为空。

exclude_tree(字符串)排除分类树。使用逗号分隔每个分类的ID。参数 include 必须为空。如果 hierarchical 参数 为 true ,请使用 exclude 参数替代 exclude_tree 。

include (字符串)只显示特定的分类,使用逗号分隔每个分类的ID。

hierarchical(布尔)以层级来显示分类的子分类。默认为 true(在分类的下面显示它们的子分类)。有效值:

1 (True) – 默认
0 (False)
title_li(字符串)设置列表的标题。默认为“Categories”。如果存在这个参数,但是值为空,将无法显示列表。

number(整数)设置显示的分类数量。定义SQL的限制值。默认为不限制。

echo(布尔) 显示结果或保存在一个变量里。默认为 True 。有效值:

1 (True) – 默认
0 (False)
depth (整数)显示分类的深度(即显示多少层的子分类)。默认值为 0(显示所有分类和子分类)。有效值:

0 – 所有分类和子分类(默认)
-1 – 所有类别显示在平面(不缩进)的形式(覆盖hierarchical)。
1 – 只显示顶级分类
n – 根据n的具体数字来显示对应等级的分类。
current_category(整数)后跟分类ID号,对此ID分类加入名为current-cat的CSS控制,用户自定义current-cat样式后,可用于突出显示。

pad_counts(布尔)计算包括子分类的链接或文章数。如果 show_counts 和 hierarchical 为  true ,这个参数就自动设置为  true 。有效值:

1 (true)
0 (false) – 默认
taxonomy (字符串)要返回的分类法。该参数是在 3.0 中添加的。有效值:

category – 默认
taxonomy – 或任何其他已注册的分类法
walker (对象)生成列表 Walker 类。有效值:object – an instance of a class that extends either Walker_Category or Walker

实例

包含或排除分类
按字母顺序排序分类,只包括类别ID为 16,3,9和5 的分类,你可以使用下面的代码:
  1. <ul>
  2. <?php wp_list_categories('orderby=name&include=3,5,9,16'); ?>
  3. </ul>
复制代码



根据名称排列,显示文章数,并且排除ID为 10 的分类:
  1. <ul>
  2. <?php wp_list_categories('orderby=name&show_count=1&exclude=10'); ?>
  3. </ul>
复制代码


显示或隐藏列表的标题
title_li 参数可以设置或隐藏 wp_list_categories 函数生成的列表的标题。默认标题为“分类(Categories)” 。如果设置为空值,就不会显示标题。排除ID为 4 和 7 的分类,同时隐藏标题:
  1. <ul>
  2. <?php wp_list_categories('exclude=4,7&title_li='); ?>
  3. </ul>
复制代码


只显示ID为 5、9 和23 的分类,并且列表的标题改为 Poetry ,而且使用 <h2> 标签包含:
  1. <ul>
  2. <?php wp_list_categories('include=5,9,23&title_li=<h2>' . __('Poetry') . '</h2>' ); ?>
  3. </ul>
复制代码


只显示指定分类的子分类
显示ID为 8 的分类的子分类,根据ID排序,显示文章数,并且将分类描述作为连接的 title属性。注意:如果父分类没有文章,将不显示父分类。
  1. <ul>
  2. <?php wp_list_categories('orderby=id&show_count=1&use_desc_for_title=0&child_of=8'); ?>
  3. </ul>
复制代码


移除分类计数的括号
当 show_count=1 ,每个分类的后面都将显示文章数,同时使用括号包含。如果你要移除括号,可以使用下面的代码
  1. <?php
  2. $variable = wp_list_categories('echo=0&show_count=1&title_li=<h2>Categories</h2>');
  3. $variable = preg_replace('~\((\d+)\)(?=\s*+<)~', '$1', $variable);
  4. echo $variable;
  5. ?>
复制代码


显示分类和 RSS Feed 连接
根据分类名称进行排序,显示文章数量,并且显示每个分类的 RSS 订阅链接:
  1. <ul>
  2. <?php wp_list_categories('orderby=name&show_count=1&feed=RSS'); ?>
  3. </ul>
复制代码


使用Feed 图标替换文本,可以使用下面的代码:
  1. <ul>
  2. <?php wp_list_categories('orderby=name&show_count=1&feed_image=/images/rss.gif'); ?>
  3. </ul>
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|5ucms.com

GMT+8, 2025-5-17 17:06 , Processed in 2.718750 second(s), 30 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表