WordPress获取所有页面信息函数
WordPress函数get_pages以对象类型返回所有页面信息。
get_pages( array|string $args = array() )
函数参数
$args
数组或字符串
child_of:父页面ID,返回指定ID页面的子页面;
sort_order:页面的排序方式,可用值:ASC(升序)、DESC(降序),默认值:ASC;
sort_column:按字段排序,可用值:post_author、post_date、post_title、post_name、post_modified、menu_order、post_modified_gmt、post_parent、ID、rand、comment*count、 post*;
hierarchical:是否以层级方式返回页面,默认值:true;
exclude:要排除的页面ID数组;
include:指定要返回的页面ID数组;
meta_key:返回具有指定Meta Key的页面;
meta_value:Meta Key的值;
authors:字符串值,页面作者的ID;
parent:返回指定页面的子页面;
exclude_tree:字符串或数组,排除页面树,包含子页面;
number:整数,要返回的页面数量,默认值:0,表示返回所有页面;
offset:整数,偏移量;
post_type:文章类型;
post_status:字符串或数组,页面的状态,例如:publish。
函数返回值
Array
(
[0] => WP_Post Object
(
[ID] => 2
[post_author] => 1
[post_date] => 2020-11-27 11:37:03
[post_date_gmt] => 2020-11-27 03:37:03
[post_content] =>
[post_title] => 关于我们
[post_excerpt] =>
[post_status] => publish
[comment_status] => closed
[ping_status] => closed
[post_password] =>
[post_name] => about
[to_ping] =>
[pinged] =>
[post_modified] => 2020-11-27 14:45:21
[post_modified_gmt] => 2020-11-27 06:45:21
[post_content_filtered] =>
[post_parent] => 0
[guid] => https://www.zz2zz.com/?page_id=2
[menu_order] => 0
[post_type] => page
[post_mime_type] =>
[comment_count] => 0
[filter] => raw
)
......
)
函数使用示例
$all_pages = get_pages( array(
'post_type' => 'page',
'post_status' => array( 'publish' )
) );
foreach($all_pages as $p) {
echo '<li><a href="' . get_page_link($p->ID) . '">' . $p->post_title . '</a></li>';
}
扩展阅读
get_pages()函数位于:wp-includes/post.php