制作 WordPress 主题时,想要获取所有分类相关信息,可以通过 get_categories() 函数,该函数可以返回与查询参数相匹配的类别
对象数组,该函数的变量与 wp_list_categories() 函数基本一致,且变量可被作为数组传递,也可在查询句法中被传递。

函数用法:

<?php $categories = get_categories( $args ); ?>

$args 参数及默认值:

<?php $args = array( 'type'%20<span%20style="color: #339933;">=> 'post', 'child_of'%20<span%20style="color: #339933;">=> 0, 'parent'%20<span%20style="color: #339933;">=> '', 'orderby'%20<span%20style="color: #339933;">=> 'name', 'order'%20<span%20style="color: #339933;">=> 'ASC', 'hide_empty'%20<span%20style="color: #339933;">=> 1, 'hierarchical'%20<span%20style="color: #339933;">=> 1, 'exclude'%20<span%20style="color: #339933;">=> '', 'include'%20<span%20style="color: #339933;">=> '', 'number'%20<span%20style="color: #339933;">=> '', 'taxonomy'%20<span%20style="color: #339933;">=> 'category', 'pad_counts'%20<span%20style="color: #339933;">=> false ); ?>

参数说明:

type

(字符)post 和 link 其中 link 在新版 3.0 以后已被弃用。

child_of

(整数) 仅显示标注了编号的分类的子类。该参数无默认值。使用该参数时应将 hide_empty 参数设为 false

parent

(整数) 只显示某个父级分类以及下面的子分类 (注:子分类只显示一个层级) 。

orderby

(字符) 将分类按字母顺序或独有分类编号进行排序。默认为按分类 编号排序包括 ID(默认) 和 Name

order

(字符) 为类别排序 (升序或降序) 。默认升序。可能的值包括 asc(默认) 和 desc

hide_empty

(布尔值) 触发显示没有文章的分类。默认值为 true(隐藏空类别) 。有效的值包括:1(true) 和 0(false)

hierarchical

(布尔值)

将子类作为内部列表项目 (父列表项下) 的层级关系。默认为 true(显示父列表项下的子类) 。有效值包括 1 (true) 和 0(false)

exclude

(字符) 除去分类列表中一个或多个分类,多个可以用逗号分开,用分类 ID 号表示

include

(字符) 只包含指定分类 ID 编号的分类。多个可以用逗号分开,用分类 ID 号表示

number

(字符) 将要返回的类别数量

pad_counts

(布尔值) 通过子类中的项来计算链接或文章。有效值包括 1(true) 和 0(false),0 为默认

taxonomy

(字符) 返回一个分类法,这个是 WordPress3.0 版本后新添加的一个参数。返回的值包括 category(默认) 和 taxonomy(一些新定义的分类名称)

示例:显示分类列表和分类描述以及包含的文章数目

<?php $args=array( 'orderby'%20<span%20style="color: #339933;">=> 'name', 'order'%20<span%20style="color: #339933;">=> 'ASC' ); $categories=get_categories($args); foreach($categories as $category) { echo '<p>Category: <a href="'%20<span%20style="color: #339933;">. get_category_link( $category->term_id ) . '" title="'%20<span%20style="color: #339933;">. sprintf( __( "View all posts in %s" ), $category->name ) . '" '%20<span%20style="color: #339933;">. '>'%20<span%20style="color: #339933;">. $category->name.'</a> </p> '; echo '<p> Description:'. $category->description . '</p>'; echo '<p> Post Count: '. $category->count . '</p>'; } ?>