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字段