WP_Query::is_page( int|string|int[]|string[] $page = '' ): bool

Is the query for an existing single page?


Description

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

Top ↑

See also


Top ↑

Parameters

$page int|string|int[]|string[] Optional
Page ID, title, slug, path, or array of such to check against.

Default: ''


Top ↑

Return

bool Whether the query is for an existing single page.


Top ↑

Source

File: wp-includes/class-wp-query.php. View all references

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

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

	$page_obj = $this->get_queried_object();

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

	if ( in_array( (string) $page_obj->ID, $page, true ) ) {
		return true;
	} elseif ( in_array( $page_obj->post_title, $page, true ) ) {
		return true;
	} elseif ( in_array( $page_obj->post_name, $page, true ) ) {
		return true;
	} else {
		foreach ( $page as $pagepath ) {
			if ( ! strpos( $pagepath, '/' ) ) {
				continue;
			}
			$pagepath_obj = get_page_by_path( $pagepath );

			if ( $pagepath_obj && ( $pagepath_obj->ID == $page_obj->ID ) ) {
				return true;
			}
		}
	}

	return false;
}


Top ↑

Changelog

Changelog
Version Description
3.1.0 Introduced.

Top ↑

User Contributed Notes

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