in_category( int|string|array $category, int|object $post = null )

You are here:
  • Help
  • in_category( int|string|array $category, int|object $post = null )

Description Description

The given categories are checked against the post’s categories’ term_ids, names and slugs. Categories given as integers will only be checked against the post’s categories’ term_ids.

Prior to v2.5 of WordPress, category names were not supported. Prior to v2.7, category slugs were not supported. Prior to v2.7, only one category could be compared: in_category( $single_category ). Prior to v2.7, this function could only be used in the WordPress Loop. As of 2.7, the function can be used anywhere if it is provided a post ID or post object.

For more information on this and similar theme functions, check out the Conditional Tags article in the Theme Developer Handbook.

Top ↑

Parameters Parameters


(int|string|array) (Required) Category ID, name or slug, or array of said.


(int|object) (Optional) Post to check instead of the current post.

Default value: null

Top ↑

Return Return

(bool) True if the current post is in any of the given categories.

Top ↑

Source Source

File: wp-includes/category-template.php

function in_category( $category, $post = null ) {
    if ( empty( $category ) ) {
        return false;
    return has_category( $category, $post );

Top ↑

Changelog Changelog

Version Description
2.7.0 The $post parameter was added.
1.2.0 Introduced.
Was this article helpful?
Dislike 0
Views: 7