WordPress获取页面信息函数:get_page()


【描述】
根据页面ID或对象返回页面数据
【使用】

  1. <?php get_page( $page_id ) ?>

【参数】
$page_id
(integer) (必须) Page ID 必须是 一个变量
默认: Page ID 使用的是全局变量
$output
(OBJECT/ARRAY_A/ARRAY_N) (可选) 输出的类型.
默认: OBJECT
$filter
(string) (optional) 过滤的方式. 选项是 ‘raw’, ‘edit’, ‘db’, ‘display’, ‘attribute’ 和’js’. The ‘attribute’ and ‘js’ contexts are treated like ‘display’.
默认: ‘raw’
【返回的值】

  1. (object|array)
  2. mixed Page data.
  3. [ID] => (integer)
  4. [post_author] => (integer)
  5. [post_date] => (YYYY-MM-DD HH:MM:SS)
  6. [post_date_gmt] => (YYYY-MM-DD HH:MM:SS)
  7. [post_content] => (all post content is in here)
  8. [post_title] => (Post Title Here)
  9. [post_excerpt] => (Post Excerpt)
  10. [post_status] => (? | publish)
  11. [comment_status] => (? | closed)
  12. [ping_status] => (? | closed)
  13. [post_password] => (blank if not specified)
  14. [post_name] => (slug-is-here)
  15. [to_ping] => (?)
  16. [pinged] => (?)
  17. [post_modified] => (YYYY-MM-DD HH:MM:SS)
  18. [post_modified_gmt] => (YYYY-MM-DD HH:MM:SS)
  19. [post_content_filtered] => (?)
  20. [post_parent] => (integer)
  21. [guid] => (a unique identifier that is not necessarily the URL to the Page)
  22. [menu_order] => (integer)
  23. [post_type] => (? | page)
  24. [post_mime_type] => ()?)
  25. [comment_count] => (integer)
  26. [ancestors] => (object|array)
  27. [filter] => (? | raw)

如果你要获取页面的URL,不要使用guid字段值。使用the_permalink或者get_permalink 代替。
如果页面不存在,返回null

【示例】

  1. <?php
  2. $page_id = 123;
  3.  
  4. $page_data = get_page( $page_id );
  5. //必须传递个变量. 如果传递值 (e.g. get_page ( 123 ); ), WordPress会报错. 默认将会返回一个对象.
  6.  
  7. echo '<h3>'. $page_data->post_title .'</h3>';// 输出标题
  8.  
  9. echo apply_filters('the_content', $page_data->post_content); //输出内容
  10. ?>

【源文件】

get_page() 位于wp-includes/post.php.

  1. /**
  2. * Retrieves page data given a page ID or page object.
  3. *
  4. * @since 1.5.1
  5. *
  6. * @param mixed $page Page object or page ID. Passed by reference.
  7. * @param string $output What to output. OBJECT, ARRAY_A, or ARRAY_N.
  8. * @param string $filter How the return value should be filtered.
  9. * @return mixed Page data.
  10. */
  11. function &get_page(&$page, $output = OBJECT, $filter = 'raw') {
  12. $p = get_post($page, $output, $filter);
  13. return $p;
  14. }