List Pages Shortcode

The [list-pages], [sibling-pages], and [child-pages] shortcodes are used for easily displaying a list of pages.

Using the Shortcodes


If you added shortcode before upgrading to a paid plan which allows plugins, your code would render the content once you install a Display Posts Shortcode plugin. Various plugins offer similar functionality.

Alternatively, you can also consider the Blog Posts or Latest Posts blocks.

You can add a shortcode to any page or post using a shortcode block.

  • The [list-pages] shortcode will display all of your pages.
  • The [sibling-pages] shortcode will display all the sibling pages of your current page. Sibling pages are pages that share the same parent page.
  • The [child-pages] shortcode will display all the child pages of your current page. Child pages are pages that are under a parent page.

For more information on setting up child pages please check out this support doc.

↑ Table of Contents ↑

Customization Options

The list pages shortcodes are highly customizable. Below is a listing of all the available customizations options. When using one of the following customization options your shortcode should looking something like this, [shortcode option=’setting’]


[list-pages sort_column='post_date']

(Show all pages sorted by Post Date)

sort_column: sorts the list of Pages in a number of different ways. The default setting is sort alphabetically by Page title.

  • ‘post_title’ – Sort Pages alphabetically by title (Default).
  • ‘menu_order’ – Sort Pages by Page Order. Note the difference between Page Order and Page ID. The Page ID is a unique number assigned by WordPress to every post or page. The Page Order can be set by the user in the Pages -> Edit screen.
  • ‘post_date’ – Sort by creation time.
  • ‘post_modified’ – Sort by time last modified.
  • ‘ID’ – Sort by numeric Page ID.
  • ‘post_author’ – Sort by the Page author’s numeric ID.
  • ‘post_name’ – Sort alphabetically by Post slug.

sort_order: change the sort order of the list of Pages (either ascending or descending). The default is ascending.

  • ‘ASC’ – Sort from lowest to highest (Default).
  • ‘DESC’ – Sort from highest to lowest.

exclude: define a comma-separated list of Page IDs to be excluded. There is no default value.
(Example: ‘exclude=3,7,31’)

exclude_tree: define a comma-separated list of parent Page IDs to be excluded. Use this parameter to exclude a parent and all of that parent’s child Pages.
(Example: ‘exclude_tree=5’ would exclude the parent page with the Page ID of 5, and its child Pages)

include: only include certain Pages. Like exclude, this parameter takes a comma-separated list of Page IDs. There is no default value.

depth: this parameter controls how many levels in the hierarchy of pages are to be included. The default is 0 (display all pages, including all sub-pages).

  • 0 – Displays pages at any depth and arranges them hierarchically in nested lists (Default).
  • -1 – Displays pages at any depth and arranges them in a single, flat list.
  • 1 – Displays top-level Pages only.
  • 2, 3 … – Displays Pages to the given depth.

child_of: displays the sub-pages of a single Page only; uses the ID for a Page as the value. Note that the child_of parameter will also fetch “grandchildren” of the given ID, not just direct descendants. Default is 0 (displays all Pages).

show_date: display creation or last modified date next to each Page. The default is the null value (do not display dates).

  • – Display no date (Default).
  • ‘modified’ – Display the date last modified.
  • ‘xxx’ – Any value other than modified displays the date (post_date) the Page was first created.

date_format: controls the format of the Page date set by the show_date parameter. This parameter defaults to the date format configured in your WordPress options on the General -> Settings page. (Example: ‘l, F j, Y’)

For more information on formatting your date please see the date format page on the php web site.

title_li: set the text and style of the Page list’s heading. If passed a null or empty value (”), no heading is displayed, and the list will not be wrapped with <ul>, </ul> tags. Defaults to (”).

link_before: sets the text or html that precedes the link text inside <a> tag.

link_after: sets the text or html that follows the link text inside <a> tag.

authors: only include Pages authored by the authors in this comma-separated list of author IDs. If no authors are specified, all authors are included.

offset: the number of Pages to skip before collecting the set of Pages. Default is no offset.

post_status: a comma-separated list of all post status types to return. (Example: ‘publish,private’)

Still confused?

Contact support.

Not quite what you're looking for?

Get Help