in_category

Check if the current post is within any of the given categories.

Description

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

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.

Parameters (2)

0. $category (int|string|array)
Category ID, name or slug, or array of said.
1. $post — Optional. (null) => null
Post to check instead of the current post. (since 2.7.0)

Usage

  1. if ( !function_exists( 'in_category' ) ) { 
  2. require_once ABSPATH . WPINC . '/category-template.php'; 
  3.  
  4. // Category ID, name or slug, or array of said. 
  5. $category = null; 
  6.  
  7. // Optional. Post to check instead of the current post. (since 2.7.0) 
  8. $post = null; 
  9.  
  10. // NOTICE! Understand what this does before running. 
  11. $result = in_category($category, $post); 
  12.  

Defined (1)

The function is defined in the following location(s).

/wp-includes/category-template.php  
  1. function in_category( $category, $post = null ) { 
  2. if ( empty( $category ) ) 
  3. return false; 
  4.  
  5. return has_category( $category, $post );