WordPress页面函数: is_page()


【描述】
用于判断当前页面是否被显示.布尔型函数,返回 TRUE 或者 FALSE. 这个方法必须在loop循环前使用,并且 在Loop循环中不能使用.
【使用】

<?php is_page($page); ?>

【参数】

$page
(混合型) (optional) 页面 ID, 页面 Title or 页面 Slug
默认: None
返回值
(boolean)
成功返回true,失败返回 false.

【例子】

is_page();
// 当任何页面被显示.

is_page(42);
// 当页面id是42被显示.

is_page('Contact');
// 当标题post_title 是 "Contact"的页面被显示.

is_page('about-me');
// 当别名post_name (slug) 是 "about-me" 的页面被显示.

is_page(array(42,'about-me','Contact'));
// 当 post ID 42, 或者 post_name 是 "about-me", 或者 post_title 是 "Contact". 返回 true  注意: 数组变量在 版本 2.5 添加.

【注意】
传入一下空变量将会返回true

is_page( '' )
is_page( 0 )
is_page( '0' )
is_page( null )
is_page( false )
is_page( array() )■See also: is_singular()

不能在Loop循环内使用
如果在Loop循环后使用必须先调用 wp_reset_query() .

【源文件】
is_page() 位于 wp-includes/query.php.

/**
  * Is the query for a single page?
  *
  * If the $page parameter is specified, this function will additionally
  * check if the query is for one of the pages specified.
  *
  * @see WP_Query::is_single()
  * @see WP_Query::is_singular()
  *
  * @since 3.1.0
  *
  * @param mixed $page Page ID, title, slug, or array of such.
  * @return bool
  */
 function is_page( $page = '' ) {
  if ( !$this->is_page )
   return false;

  if ( empty( $page ) )
   return true;

  $page_obj = $this->get_queried_object();

  $page = (array) $page;

  if ( in_array( $page_obj->ID, $page ) )
   return true;
  elseif ( in_array( $page_obj->post_title, $page ) )
   return true;
  else if ( in_array( $page_obj->post_name, $page ) )
   return true;

  return false;
 }