On the category page, get the category object

Right, hopefully a nice and simple one… I’m on a category page with the id of 4, I want to get the category object back so I can interogate a few values.

I’ve had a good old look in the WP codex with little success, remember I don’t want to get the categories from a post, I want the category object from the current category.

Read More

Many thanks,
Ben 🙂

Related posts

Leave a Reply

5 comments

  1. To get the category object use get_category (codex). It’s easy if you know the name, slug or ID, but if you don’t you could use is_category to check on which category you are and pass the ID to get_category.

  2. I’d personally get into a habit of calling get_term or get_terms, as the category functions are only wrapper functions that in turn call get_term(s) anyway.

    <?php 
    $queried_category = get_term( get_query_var('cat'), 'category' ); 
    
    // echo $queried_category->term_id; // The category ID
    // echo $queried_category->slug; // The category slug
    // echo $queried_category->name; // The category name 
    // echo $queried_category->description; // The category description 
    ?> 
    

    Familiaring yourself with the term functions will make dealing with custom taxonomies a little easier, because you’ll be calling on these functions in such cases.

    http://codex.wordpress.org/Function_Reference/get_term
    http://codex.wordpress.org/Function_Reference/get_terms

    And a function that i don’t see used a great deal, but can be really handy.
    http://codex.wordpress.org/Function_Reference/get_term_by
    Which provides a means of fetching a term object based on name, slug or ID.

  3. An interesting case wherein one of many category archive pages included in a custom menu returned an empty array for

    get_the_category();
    

    required me to run through all the different ways to skin a cat (no pun intended).

    is_category() RETURNS true
    get_the_category() RETURNS an empty array
    the_category() RETURNS NULL
    

    The final answer ended up being Ben Everard‘s

     get_category(get_query_var('cat'), false) RETURNS the correct WPCategory object
    

    Thanks!