W3cubDocs

/WordPress

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

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.

See also

Parameters

$page

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

Default value: ''

Return

(bool) Whether the query is for an existing single page.

Source

File: wp-includes/class-wp-query.php

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;
	}

Changelog

Version Description
3.1.0 Introduced.

© 2003–2019 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_query/is_page