企业网站模板

WordPress 函数:get_categories() 获取分类目录详解

作者 2021-08-13 130

WordPress用什么函数获取分类目录呢?今天讲解 get_categories() 的用法。

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

用法举例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php $categories = get_categories( $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 );
?>

参数:

1
2
3
4
5
6
7
8
9
10
11
12
type(字符) post
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号表示。
pad_counts(布尔值)通过子类中的项来计算链接或文章。有效值包括1(true)0(false)0为默认。
number(字符)将要返回的类别数量。
taxonomy(字符))返回一个分类法,这个是wordpress3.0版本后新添加的一个参数。返回的值包括category(默认)和taxonomy(一些新定义的分类名称)

get_category_link(),作用是——获取分类的连接地址。类似于get_permalink(),但get_permalink()是获取文章的连接的。

get_category_link()只需要一个参数,及category_id即可。

实例:

不使用 wordpress 默认的 wp_list_categories() 分类列表来实现分类列表,而使用 get_categories 自定义分类列表,而且还能在分类列表中加上图标。

1
2
3
4
5
6
7
8
9
10
11
12
<?php
$args=array(
    'orderby' => 'name',
    'order' => 'ASC'
);
$categories = get_categories($args);
foreach($categories as $category) {
    echo ' <li class="cat-'. $category-> slug .'">';
    echo ' <a href="' . get_category_link( $category->term_id ) . '" title="' . sprintf( __( "View all posts in %s" ), $category->name ) . '" ' . '>' . $category->name.' </a>';
    echo ' </li>';
}
?>

输出html代码:

1
2
<li class="cat-photo"><a href="#">Photo</a></li>
<li class="cat-design"><a href="#">Design</a></li>

配合参数使用,

1
2
//hierarchical=0 只输出父级菜单 exclude=3,12 排除分类3和12 number=5 最多输出5个
$categories = get_categories( 'hierarchical=0&exclude=3,12&number=5' );

点击【分享给朋友】生成专属代理二维码,享受推广消费现金奖励!

发表评论

好哇网,累计帮助1000+用户成功建站,为小微企业提供助力!

立刻开启你的建站之旅

留言咨询

现在加入好哇网,注册一个账号