WP_Query::is_singular()publicWP 3.1.0

Determines whether the query is for an existing single post of any post type (post, attachment, page, custom post types).

If the $post_types parameter is specified, this function will additionally check if the query is for one of the Posts Types specified.

Method of the class: WP_Query{}

No Hooks.

Return

true|false. Whether the query is for an existing single post or any of the given post types.

Usage

global $wp_query;
$wp_query->is_singular( $post_types );
$post_types(string|string[])
Post type or array of post types to check against.
Default: ''

Notes

Changelog

Since 3.1.0 Introduced.

WP_Query::is_singular() code WP 6.6.1

public function is_singular( $post_types = '' ) {
	if ( empty( $post_types ) || ! $this->is_singular ) {
		return (bool) $this->is_singular;
	}

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

	return in_array( $post_obj->post_type, (array) $post_types, true );
}