Get current category details the user is currently on in category.php

I want to get the current category details that the user is on in category.php.

$category = get_the_category();
$slug  = $category[0]->slug; // Why is this an array ?

In most cases (where there are no sub-categories) it returns and array of single length.

Read More

But if there are sub-categories it (parent category and ) returns an array of 2 or more.

http://domain.com/category/cat-name/ -> get_the_category() returns an array of 2
http://domain.com/category/cat-name/sub-cat-name/ -> get_the_category() returns an array of 2

Related posts

Leave a Reply

3 comments

  1. You are using the wrong function. Try:

    $thiscat = $wp_query->get_queried_object();
    var_dump($thiscat);
    

    I don’t know exactly what you want to do with this information but you will get an object (stdClass) with ~15 items in it. You should be able to find what you need.

  2. I’ve also got it from the following :

    $cur_cat_id = get_cat_id(single_cat_title("",false));
    $category = get_category($cur_cat_id);
    

    But I guess s-ha-dum’s solutions is better.