get_categories[获取分类信息函数]
WordPress函数get_categories用于获取分类的信息 1 get_categories( st…
WordPress函数get_categories用于获取分类的信息
1
|
get_categories( string|array $args = ” )
|
函数参数
$args
数组或字符串,get_categories支持的参数与WP_Term_Query::__construct()相同。
get_categories()函数默认参数值如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
$args = array(
‘taxonomy’ => ‘category’,
‘object_ids’ => null,
‘orderby’ => ‘name’,
‘order’ => ‘ASC’,
‘hide_empty’ => true,
‘include’ => array(),
‘exclude’ => array(),
‘exclude_tree’ => array(),
‘number’ => ”,
‘offset’ => ”,
‘fields’ => ‘all’,
‘count’ => false,
‘name’ => ”,
‘slug’ => ”,
‘term_taxonomy_id’ => ”,
‘hierarchical’ => true,
‘search’ => ”,
‘name__like’ => ”,
‘description__like’ => ”,
‘pad_counts’ => false,
‘get’ => ”,
‘child_of’ => 0,
‘parent’ => ”,
‘childless’ => false,
‘cache_domain’ => ‘core’,
‘update_term_meta_cache’ => true,
‘meta_query’ => ”,
‘meta_key’ => ”,
‘meta_value’ => ”,
‘meta_type’ => ”,
‘meta_compare’ => ”,
);
|
可用值如下:
taxonomy
字符串或数组,默认值:category
指定分类法类型,默认为系统自带分类类型,仅在自行注册了分类的情况下使用。
object_ids
整数或数组
指定包含的分类对象ID,仅返回这些分类的信息。
orderby
字符串
指定排序的类型,可选值如下:
- name:名称;
- slug:别名;
- term_group:类别组;
- term_id:类别ID;
- description:分类的描述;
- parent:父分类;
- meta_value:元数据的值。
order
字符串
排序的方式,可选值如下:
- DESC:降序;
- ASC:升序。
hide_empty
布尔值或整数,默认值:true
是否隐藏空分类,及隐藏没有文章的分类。
include
数组或字符串,如果为字符串值,多个值使用半角逗号分隔。
需要包含的分类ID
exclude
数组或字符串,如果为字符串值,多个值使用半角逗号分隔。
需要排除的分类ID
exclude_tree
数组或字符串,如果为字符串值,多个值使用半角逗号分隔。
排除分类的同时也会排除该分类下所有的子分类。
number
整数或字符串
返回结果的数量
offset
整数
偏移量
fields
字符串
要查询的字段
count
布尔值,默认false
返回分类包含的文章数量
name
字符串或数组
返回指定名称的分类
slug
字符串或数组
返回指定别名的分类
term_taxonomy_id
整数或数组
返回指定ID的分类
hierarchical
布尔值,默认值:true
是否包含空分类,即没有文章的分类。
search
字符串
搜索匹配条件的分类
name__like
字符串
返回分类名称包含某个关键词的分类。
description__like
字符串
返回分类描述包含某个关键词的分类。
pad_counts
布尔值,默认值:false
get
字符串
child_of
整数
返回指定分类的子分类及子子分类。
parent
整数或字符串
返回指定分类的子分类。
childless
布尔值,默认值:false
返回没有子分类的分类
cache_domain
字符串,默认值:core
update_term_meta_cache
布尔值,默认值:true
meta_query
数组
元数据查询
meta_key
字符串
元数据键的名称
meta_value
字符串
元数据键的值
meta_type
字符串
meta_compare
字符串
meta_value的比较运算符
函数返回值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
Array
(
[0] => WP_Term Object
(
[term_id] => 6
[name] => 开发
[slug] => develop
[term_group] => 0
[term_taxonomy_id] => 6
[taxonomy] => category
[description] =>
[parent] => 0
[count] => 0
[filter] => raw
[cat_ID] => 6
[category_count] => 0
[category_description] =>
[cat_name] => 开发
[category_nicename] => develop
[category_parent] => 0
)
......
)
|
get_categories()函数使用示例
1
2
3
4
5
6
7
8
9
10
|
$categories = get_categories( array(
‘orderby’ => ‘name’,
‘parent’ => 0
) );
foreach ( $categories as $category ) {
printf( ‘<a href=”%1$s”>%2$s</a><br />’,
esc_url( get_category_link( $category->term_id ) ),
esc_html( $category->name )
);
}
|
本示例将按字母顺序列出所有类别,这些类别显示为指向相应类别档案的链接。 每个类别描述都在类别链接之后列出。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<?php
$categories = get_categories( array(
‘orderby’ => ‘name’,
‘order’ => ‘ASC’
) );
foreach( $categories as $category ) {
$category_link = sprintf(
‘<a href=”%1$s” alt=”%2$s”>%3$s</a>’,
esc_url( get_category_link( $category->term_id ) ),
esc_attr( sprintf( __( ‘View all posts in %s’, ‘textdomain’ ), $category->name ) ),
esc_html( $category->name )
);
echo ‘<p>’ . sprintf( esc_html__( ‘Category: %s’, ‘textdomain’ ), $category_link ) . ‘</p> ‘;
echo ‘<p>’ . sprintf( esc_html__( ‘Description: %s’, ‘textdomain’ ), $category->description ) . ‘</p>’;
echo ‘<p>’ . sprintf( esc_html__( ‘Post Count: %s’, ‘textdomain’ ), $category->count ) . ‘</p>’;
}
?>
|
要仅获取顶级类别,请将父值设置为零。 本示例获取顶级类别的链接和名称。
1
2
3
4
5
6
7
8
9
10
|
$categories = get_categories( array(
‘orderby’ => ‘name’,
‘parent’ => 0
) );
foreach ( $categories as $category ) {
printf( ‘<a href=”%1$s”>%2$s</a><br />’,
esc_url( get_category_link( $category->term_id ) ),
esc_html( $category->name )
);
}
|
扩展阅读
get_categories()函数位于:wp-includes/category.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
function get_categories( $args = ” ) {
$defaults = array( ‘taxonomy’ => ‘category’ );
$args = wp_parse_args( $args, $defaults );
/**
* Filters the taxonomy used to retrieve terms when calling get_categories().
*
* @since 2.7.0
*
* @param string $taxonomy Taxonomy to retrieve terms from.
* @param array $args An array of arguments. See get_terms().
*/
$args[‘taxonomy’] = apply_filters( ‘get_categories_taxonomy’, $args[‘taxonomy’], $args );
// Back compat
if ( isset( $args[‘type’] ) && ‘link’ == $args[‘type’] ) {
_deprecated_argument(
__FUNCTION__,
‘3.0.0’,
sprintf(
/* translators: 1: “type => link”, 2: “taxonomy => link_category” */
__( ‘%1$s is deprecated. Use %2$s instead.’ ),
‘<code>type => link</code>’,
‘<code>taxonomy => link_category</code>’
)
);
$args[‘taxonomy’] = ‘link_category’;
}
$categories = get_terms( $args );
if ( is_wp_error( $categories ) ) {
$categories = array();
} else {
$categories = (array) $categories;
foreach ( array_keys( $categories ) as $k ) {
_make_cat_compat( $categories[ $k ] );
}
}
return $categories;
}
|
本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。
还没有任何评论,赶紧来占个楼吧!