WordPress获取分类信息get_the_category这个WordPress函数平时用得比较少,一般也很少用到它,get_the_category函数的功能是获取与查询参数相关的数据,利用这个性质,我们可以制作一些文章相关项,增加内链,提高SEO优化效果。
函数原型
get_the_category函数位于wp-includes/category-template.php文件中。
function get_the_category( $id = false ) { $categories = get_the_terms( $id, 'category' ); if ( ! $categories || is_wp_error( $categories ) ) $categories = array(); $categories = array_values( $categories ); foreach ( array_keys( $categories ) as $key ) { _make_cat_compat( $categories[$key] ); } /** * Filters the array of categories to return for a post. * * @since 3.1.0 * @since 4.4.0 Added `$id` parameter. * * @param array $categories An array of categories to return for the post. * @param int $id ID of the post. */ return apply_filters( 'get_the_categories', $categories, $id ); }
可以看到get_the_category函数与get_the_terms函数相关,至于get_the_terms函数的用法,这里就不多讲了,太偏僻,我很少用,需要的可以自行查看WordPress开发手册。
参数
get_the_category( int $id = false )
$post->ID (当前文章的编号)
注意,这个函数只能在WordPress主循环中使用!
简单用法
显示类别的图片
<?php foreach((get_the_category()) as $category) { echo '<img src="http://www.2zzt.com/images/' . $category->cat_ID . '.jpg" alt="' . $category->cat_name . '" />'; } ?>
显示第一个类别的名称
<?php $category = get_the_category(); echo $category[0]->cat_name; ?>
显示第一个类别的连接
<?php $category = get_the_category(); if($category[0]){ echo '<a href="'.get_category_link($category[0]->term_id ).'">'.$category[0]->cat_name.'</a>'; } ?>
获取指定文章编号的类别信息
<?php global $post; $categories = get_the_category($post->ID); var_dump($categories); ?>
返回对象的成员
cat_ID
类别编号,存储在term_id字段
cat_name
类别名称,存储在name字段
category_nicename
别名,存储在slug字段
category_description
类别描述,存储在description字段
category_parent
父类别编号,没有父类的为0,存储在parent字段
category_count
类别使用的数量,存储在count字段