WordPress at Your Fingertips

in_category() WP 1.0

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.

1 time — 0.003672 sec (very slow) | 50000 times — 1.00 sec (very fast) | PHP 7.1.5, WP 4.8.1

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.

Changelog

Since 1.2.0 Introduced.
Since 2.7.0 The $post parameter was added.

Code of in_category() WP 5.8

<?php
function in_category( $category, $post = null ) {
	if ( empty( $category ) ) {
		return false;
	}

	return has_category( $category, $post );
}

From tag: Conditional tags (all)

More from category: Categories

More from Template Tags: Taxonomies (category, tag)

No comments
    Log In