Checks if the current post is within any of the given categories.
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 <a href="https://developer.wordpress.org/themes/basics/conditional-tags/">https://developer.wordpress.org/themes/basics/conditional-tags/</a> Conditional Tags article in the Theme Developer Handbook.
Parameters
$categoryint|string|int[]|string[]
Category ID, name, slug, or array of such to check against.
$postint|WP_Postoptional
Post to check. Defaults to the current post.Default: null
Return
bool
True if the current post is in any of the given categories.
Uses · 1
has_category()Checks if the current post has any of given category.
Signature, return type and hooks compared across 5 parsed releases.
6.9.7
Parameter $post retyped from int|WP_Post to int|null|WP_Post.verified against source
2.7.0
The $post parameter was added.from the docblock
1.2.0
Introduced.from the docblock
About this page
Parsed data
Generated from the wordpress-develop 6.8.8 tag, from src/wp-includes/category-template.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.