在 WordPress 裡我們可以透過 get_the_category() 取得文章的分類,丟 post_id 進去,或是透過 get_post() 取得文章內容後就可以拿到分類的資料。

get_the_category( int $post_id = false )

例如:

the_post(); 
$categories = get_the_category();

var_dump($categories) 可以得到類似以下的內容:

array(1) {
[0]=>
  object(stdClass)#310 (17) {
    ["term_id"]=>
    &int(6)
    ["name"]=>
    &string(10) "familylife"
    ["slug"]=>
    &string(10) "familylife"
    ["term_group"]=>
    int(0)
    ["term_taxonomy_id"]=>
    int(6)
    ["taxonomy"]=>
    string(8) "category"
    ["description"]=>
    &string(0) ""
    ["parent"]=>
    &int(0)
    ["count"]=>
    &int(208)
    ["object_id"]=>
    int(7729)
    ["filter"]=>
    string(3) "raw"
    ["cat_ID"]=>
    &int(6)
    ["category_count"]=>
    &int(208)
    ["category_description"]=>
    &string(0) ""
    ["cat_name"]=>
    &string(10) "familylife"
    ["category_nicename"]=>
    &string(10) "familylife"
    ["category_parent"]=>
    &int(0)
  }
}

也因為一篇文章可以屬於很多個分類,所以要取得分類的名字時,要指定是第幾個。

echo $categories[0]->name;

 

要取得分類的網址則是使用 get_category_link(),我們把取得的 id 丟進去:

$category_link = get_category_link( $categories[0]->term_id );

 

參考:
get_the_category();
get_category_link();