List Pages Shortcode

Description

Introduces the [list-pages], [sibling-pages] and [child-pages] shortcodes for easily displaying a list of pages within a post or page. Both shortcodes accept all parameters that you can pass to the wp_list_pages() function with the addition of a class parameter.

Example Usage

List pages sorted by title

[list-pages sort_column="post_title"]

List pages but exclude certain IDs and set the class of the list to “my-page-list”

[list-pages exclude="17,38" class="my-page-list"]

Show excerpt (for pages excerpt support will need adding manually or via the Page Excerpt plugin)

[list-pages excerpt="1"]

List the current page’s children, but only show the top level

[child-pages depth="1"]

List the current page’s siblings and their subpages

[sibling-pages depth="2"]

Default Arguments

The default values are the same as for the wp_list_pages() function except for title_li which defaults to nothing. If a class is not specified, a default class of either “list-pages”, “sibling-pages” or “child-pages” is given to the UL tag. In addition, the echo parameter has no effect.

In addition to the wp_list_pages() arguments, you can also specify:

  • list_type (string) List tag. Defaults to <ul>.
  • exclude_current_page (int) Exclude the current page. Defaults to 0.
  • excerpt (int) Show the page excerpt. Defaults to 0.

Installation

  1. Download and unzip the most recent version of this plugin
  2. Upload the list-pages-shortcode folder to /path-to-wordpress/wp-content/plugins/
  3. Login to your WP Admin panel, click Plugins, and activate “List Pages Shortcode”

FAQ

How do I include a page excerpt?

Firstly you will need to add support for excerpt for your pages. You can either you this by using the add_post_type_support() function or using a plugin like Page Excerpt.

You can also use the ‘list_pages_shortcode_excerpt’ filter to return or customize the excerpt for specific pages. The following example:

You can then include the excerpt via your shortcode.
[list-pages excerpt=”1″]

Reviews

Great plugin, Great Support, Recommended

Using Webaware’s List Pages on several PHP.x web sites. Support for a broken update was excellent with a very rapid resolution.

Very much appreciated because we use the code in many places.

simply works

simply works. if one is not really dependent on posts and more on pages.this plugin does the job

Read all 11 reviews

Contributors & Developers

“List Pages Shortcode” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.7.4

  • Fix fatal error: validate_list_type() needs to be public!

1.7.3

  • Use PHP7 constructors.
  • Validate list type and convert <li> tags if not <ul> list type.
  • Checked WordPress 4.4.2 compatibility.

1.7.2

  • Add short code arguments to the shortcode_list_pages_before/after actions.
  • Checked WordPress 4.2 compatibility.

1.7.1

  • When no list type specified don’t wrap in list tags.
  • Update List_Pages_Shortcode_Walker_Page class with changes made to the WordPress Walker_Page class.
  • Checked WordPress 3.9 compatibility.

1.7

  • Add ‘list-pages-shortcode’ class to all lists.

1.6

  • Add default arg values to start_el() Walker method. Props eceleste.
  • Added shortcode_list_pages_before action.
  • Added shortcode_list_pages_after action.
  • Added list_pages_shortcode_item filter.
  • Allow specifying of post_type.

1.5

  • Added support for showing excerpt [list-pages excerpt="1"].
  • Allow filtering of excerpt output using ‘list_pages_shortcode_excerpt’ filter.
  • Added support for outputting as ordered list [list-pages list_type="ol"].
  • Allow HTML in ‘title_li’ attribute.

1.4

  • Added support for ‘post_status’.

1.3

  • Added ‘shortcode_list_pages_attributes’ filter. Useful if you need to tweak any attributes based on context or current post type.
  • Allow ‘child_of’ to be overridden by shortcode parameter.

1.2

  • Added shortcode support for ‘exclude_current_page’ parameter.
  • Added support for extra wp_list_pages() parameters: include, sort_order, meta_key, meta_value and offset.

1.1

  • Added ‘shortcode_list_pages’ filter.
  • Added [sibling-pages] shortcode.

1.0

  • First release.