00.函数介绍
get_categories()
是 WordPress 提供的一个核心函数,用于检索网站中已定义的分类目录。它返回一个数组,包含了各种有关分类的信息,比如分类的名称、ID、描述等。
get_categories( string|array $args = ” ): array
详情参考:https://developer.wordpress.org/reference/functions/get_categories/
01.函数参数
$args = array(
'taxonomy' => null, // 指定分类法类型,默认为系统自带分类类型,仅在自行注册了分类的情况下使用。
'object_ids' => null, // 对应于wp_term_relationships表object_id字段,该字段对应于wp_posts表的ID,也就是指定文章的ID。
'orderby' => 'name', // 指定排序的类型,可选值:'name', 'slug', 'term_group', 'term_id', 'id', 'description', 'parent', 'term_order'
'order' => 'ASC', // 接受 'ASC' (升序)或 'DESC' (降序)
'hide_empty' => true, // 是否隐藏空分类,及隐藏没有文章的分类
'include' => array(), // 需要包含的分类ID
'exclude' => array(), // 需要排除的分类ID
'exclude_tree' => array(), // 排除分类的同时也会排除该分类下所有的子分类
'number' => '', // 返回结果的数量
'offset' => '', // 偏移量
'fields' => 'all', // 要查询的字段
'count' => false, // 返回分类包含的文章数量
'name' => '', // 返回指定名称的分类
'slug' => '', // 返回指定别名的分类
'term_taxonomy_id' => '', // 返回指定ID的分类
'hierarchical' => true, // 是否按层级返回分类
'search' => '', // 搜索匹配条件的分类
'name__like' => '', // 返回分类名称包含某个关键词的分类
'description__like' => '', // 返回分类描述包含某个关键词的分类
'pad_counts' => false, // 是否将子标签的文章数量计算到count值中
'get' => '', // 字符串
'child_of' => 0, // 返回指定分类的子分类及子子分类
'parent' => '', // 返回指定分类的子分类
'childless' => false, // 返回没有子分类的分类
'cache_domain' => 'core', // 将此查询存储在对象缓存中时要生成的唯一缓存键
'cache_results' => true, // 是否缓存术语信息
'update_term_meta_cache' => true, // 是否为匹配的术语启动元缓存
'meta_query' => '', // 元数据查询
'meta_key' => '', // 元数据键的名称
'meta_value' => '', // 元数据键的值
'meta_type' => '', // 将 meta_value 列 CAST 到的 MySQL 数据类型进行比较
'meta_compare' => '', // 用于比较元值的 MySQL 运算符
);
详情参考:https://developer.wordpress.org/reference/classes/wp_term_query/__construct/
02.函数返回值
Array
(
[0] => WP_Term Object
(
[term_id] => 6
[name] => 示例
[slug] => sample
[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] => sample
[category_parent] => 0
)
......
)
03.基础示例
<?php
$categories = get_categories( array(
'orderby' => 'name',
'parent' => 0
) );
foreach ( $categories as $category ) {
echo '<p>' . $category->name . '</p>';
}
?>
评论区