has_category( string|int|array $category = '', int|object $post = null )

Check if the current post has any of given category.

Description Description

Parameters Parameters


(string|int|array) (Optional) The category name/term_id/slug or array of them to check for.

Default value: ''


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

Default value: null

Top ↑

Return Return

(bool) True if the current post has any of the given categories (or any category, if no category specified).

Top ↑

Source Source

File: wp-includes/category-template.php

function has_category( $category = '', $post = null ) {
	return has_term( $category, 'category', $post );

Top ↑

Changelog Changelog

Version Description
3.1.0 Introduced.

Top ↑

User Contributed Notes User Contributed Notes

  1. Skip to note 1 content
    Contributed by Mithun Raval

    The current post has set the categories that time this function will return true.
    if you want to check specific category is set for this post.

    if (has_category('Category_name',$post->ID))

    If you want to use it in The Loop, you don’t need to specify the ID.

    if (has_category('Category_name'))

    Check multiple category:

    if(has_category(array('category_name_1', 'category_name_2')))

You must log in before being able to contribute a note or feedback.