WordPress at a glance
function is not described

WP_Query::is_singular() public WP 3.1.0

Is the query 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.

It's a method of the class: WP_Query{}

No Hooks.


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


$WP_Query = new WP_Query();
$WP_Query->is_singular( $post_types );
Post type or array of post types to check against.
Default: ''


  • See: WP_Query::is_page()
  • See: WP_Query::is_single()


Since 3.1.0 Introduced.

Code of WP_Query::is_singular() WP 5.5.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();

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