List Pages Shortcode Plugin
Introduces the [list-pages], [sibling-pages] and [child-pages] shortcodes for easily displaying a list of pages within a post or page.
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
- Download and unzip the most recent version of this plugin
- Upload the list-pages-shortcode folder to /path-to-wordpress/wp-content/plugins/
- 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″]
Changelog
= 1.7.7=
- Fix sort order validation to allow for multiple sort columns.
1.7.6
- Security Update: Validate all shortcode attributes and escape output.
1.7.5
- Security Update: Sanitize HTML attributes before outputting.
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