in_category()
Check if the current post is within any of the given categories.
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.
No Hooks.
Return
true|false
. True if the current post is in any of the given categories.
Usage
in_category( $category, $post );
- $category(int|string|int[]|string[]) (required)
- Category ID, name, slug, or array of such to check against.
- $post(int|object)
- Post to check instead of the current post.
Default: null
Changelog
Since 1.2.0 | Introduced. |
Since 2.7.0 | The $post parameter was added. |
Code of in_category() in category WP 5.9.3
function in_category( $category, $post = null ) { if ( empty( $category ) ) { return false; } return has_category( $category, $post ); }