WP_Query::is_page
Determines whether the query is for an existing single page.
If the $page parameter is specified, this function will additionally check if the query is for one of the pages specified.
Method of the class: WP_Query{}
No Hooks.
Returns
true|false. Whether the query is for an existing single page.
Usage
global $wp_query; $wp_query->is_page( $page );
- $page(int|string|int[]|string[])
- Page ID, title, slug, path, or array of such to check against.
Default:''
Notes
- See: WP_Query::is_single()
- See: WP_Query::is_singular()
Changelog
| Since 3.1.0 | Introduced. |
WP_Query::is_page() WP Query::is page code WP 7.0
public function is_page( $page = '' ) {
if ( ! $this->is_page ) {
return false;
}
if ( empty( $page ) ) {
return true;
}
$page_obj = $this->get_queried_object();
if ( ! $page_obj ) {
return false;
}
$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;
}