in_category() WordPress Function

The in_category() function is used to check if a post is in a given category. It returns true if the post is in the specified category, or false if it is not.

in_category( int|string|int[]|string[] $category, int|object $post = null ) #

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 Conditional Tags article in the Theme Developer Handbook.


Top ↑

Parameters

$category

(int|string|int[]|string[])(Required)Category ID, name, slug, or array of such to check against.

$post

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

Default value: null


Top ↑

Return

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


Top ↑

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
VersionDescription
2.7.0The $post parameter was added.
1.2.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.