WP_Post[]|false. Array of pages (or hierarchical post type items). Boolean false if the specified post type is not hierarchical or the specified status is not supported by the post type.
Array or comma-separated list or of post statuses to include. Ex: 'publish,private' Default: 'publish'
exclude(string/array)
Array of page IDs to exclude. Can be specified as string: exclude=3,7,31. Default: empty array
exclude_tree(string/array)
Array or comma-separated string of page IDs to exclude. This is the opposite of child_of parameter. It cuts the entire pages branch starting with the one specified in this parameter, cuts it and all levels of child pages. Here we need to specify the ID of the "top-level" page. Default: empty array
include(array/string)
Array of page IDs to include. Can be specified as string: include=45,63,78,94,128,140.
Important: specifying of this parameter cancels the following parameters: child_of, parent, exclude, meta_key, meta_value and set hierarchical = false.
Default: empty array
child_of(int)
Page ID child and grandchild of which we want to get. For example, if specify 10 we get all child pages of page 10 and all child pages of child pages, i.e not only the first level, but also the second, third, etc. We get the entire hierarchy.
Important: this parameter cancels if the include parameter is specified.
Important: we can't use number parameter together with this one. Because this function makes SQL query for getting data of all pages of the specified post_type and only then the appropriate ones are selected as a childs using the function get_page_children( $child_of, $pages ).
Default: 0 (not set)
parent(int/array)
ID of a parent page. Many ID can be specified as an array. Retrieves the pages which has post_parent = this parameter in the DB.
If this parameter is specified, then hierarchical=false is sets forcibly (it true by default).
The difference with the child_of parameter is that this parameter returns only child pages, without any nested pages, i.e. returns one level.
Default: -1 (no restriction)
hierarchical(true/false)
Whether to return pages hierarchically.
true (or 1) - children indented from the parent (default).
false (or 0) - print all in one row.
Important:hierarchical = false is sets forcibly if any of the following parameters are specified: parent, include. This is done because these parameters are mutually exclusive (if you think about it).
Default: true
meta_key(string)
Only include pages with this meta key. Default: ''
meta_value(string)
Only include pages with this meta value. Requires $meta_key. Default: ''
authors(string)
A comma-separated list of author IDs.
Note: get_posts() uses the parameter author instead of authors.
Default: ''
number(int)
The number of pages to return. Specify LIMIT in the SQL query.
Note: this parameter can't be used together with the child_of.
Note: get_posts() uses the numberposts parameter instead of number.
Default: -1 (no limit)
offset(int)
The number of pages to skip before returning. Requires $number.
Specify how many pages you would like to skip from the specified selection, i.e. specify 5 and 5 top pages will be cut.
sort_column(string)
What columns to sort pages by, comma-separated. In this parameter, you can use any field from the table wp_posts.
You can specify multiple fields separated by commas: menu_order, post_title. Possible values:
Output a dynamic list of child pages. If we place following code at the end of the article, we will get something like categories, where all child pages will go under the main content of the page:
This example shows how to get the pages which page-tpl.php template file. This template file specified in admin page and stored in post metadata under _wp_page_template key. So we need all the pages whith have such metafield.