WP_Query::is_category( int|string|int[]|string[] $category =  ): bool

Determines whether the query is for an existing category archive page.

Description

If the $category parameter is specified, this function will additionally check if the query is for one of the categories specified.

Parameters

$categoryint|string|int[]|string[]optional
Category ID, name, slug, or array of such to check against.

Default:''

Return

bool Whether the query is for an existing category archive page.

Source

public function is_category( $category = '' ) {
	if ( ! $this->is_category ) {
		return false;
	}

	if ( empty( $category ) ) {
		return true;
	}

	$cat_obj = $this->get_queried_object();
	if ( ! $cat_obj ) {
		return false;
	}

	$category = array_map( 'strval', (array) $category );

	if ( in_array( (string) $cat_obj->term_id, $category, true ) ) {
		return true;
	} elseif ( in_array( $cat_obj->name, $category, true ) ) {
		return true;
	} elseif ( in_array( $cat_obj->slug, $category, true ) ) {
		return true;
	}

	return false;
}

Changelog

VersionDescription
3.1.0Introduced.

User Contributed Notes

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