制作 wordpress 主题模板和 wordpress 插件时,想要获取所有分类相关信息,可以通过 get_categories() 函数,该函数可以返回与查询参数相匹配的类别对象数组,该函数的变量与 wp_list_categories() 函数基本一致,且变量可被作为数组传递,也可在查询句法中被传递。
函数用法:
<?php $categories = get_categories( $args ); ?>
$args 参数及默认值:
<?php $args = array( 'type' => 'post', 'child_of' => 0, 'parent' => '', 'orderby' => 'name', 'order' => 'ASC', 'hide_empty' => 1, 'hierarchical' => 1, 'exclude' => '', 'include' => '', 'number' => '', 'taxonomy' => 'category', 'pad_counts' => 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' => 'name', 'order' => 'ASC' ); $categories=get_categories($args); foreach($categories as $category) { echo '<p>Category: <a href="'%20.%20get_category_link(%20$category->term_id%20)%20.%20'" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.'</a> </p> '; echo '<p> Description:'. $category->description . '</p>'; echo '<p> Post Count: '. $category->count . '</p>'; } ?>