Collapsing Pages free WordPress plugin
Description
Collapsing Pages free WordPress plugin
This is a very simple plugin that uses Javascript to form a collapsable set of
links in the sidebar for the pages. Every page corresponding to a given
parent page will be expanded.
It is largely based off of my Collapsing Pages and Collapsing Archives
plugins.
What’s new?
1.0.1 (2016.05.09)
Fixed bug where sometimes setting accordion to false broke javascript
1.0 (2015.08.12)
Compatible with WordPress 4.3
Fixed bug where expanding symbol showed up at lowest depth specified instead
(thanks to tkibler for pointing it out)
Added option to only display pages of the current subpage
Added option to show top-level page (previously it was always shown)
Added accordion style option
Cleaned up widget settings
improved style management, including the ability to specify style per widget
Switched from unicode symbols to html entities
Not showing tags for title if empty
Fixed bug with title attribute of pages
Totally rewrote javascript
Options
If using the manual version, you can pass options either as an array, or using
the query style, just like for other wordpress functions such as
wp_list_pages
$defaults=array( ‘title’ => __(‘Pages’, ‘collapsing-pages’), ‘sortOrder’=> ‘ASC’ , ‘sort’=> ‘pageName’ , ‘defaultExpand’=> ”, ‘expand’ => 0, ‘depth’ =>-1, ‘inExcludePage’ => ‘exclude’, ‘linkToPage’ => true, ‘inExcludePages’ => ”, ‘showPosts’ => false, ‘animate’ => 0, ‘useCookies’ => true, ‘postTitleLength’ => 0, ‘showTopLevel’ => true, ‘currentPageOnly’ => false, ‘debug’ => false, );
inExcludePage
Whether to include or exclude certain pages
‘exclude’ (default)
‘include’
inExcludePages
The pages which should be included or excluded
showPosts
Whether or not to include posts as well as pages. Default if false
linkToPage
True, clicking on a parent page title will link to that page (default)
False, clicking on a parent page will expand to show sub-pages
sort
How to sort the pages. Possible values:
‘pageName’ the title of the page (default)
‘pageId’ the Id of the page
‘pageSlug’ the url of the page
‘menuOrder’ custom order specified in the pages settings
sortOrder
Whether pages should be sorted in normal or reverse
order. Possible values:
‘ASC’ normal order (a-z 0-9) (default)
‘DESC’ reverse order (z-a 9-0)
expand
The symbols to be used to mark expanding and collapsing. Possible values:
‘0’ Triangles (default)
‘1’ + –
‘2’ [+] [-]
‘3’ images (you can upload your own if you wish)
‘4’ custom symbols
customExpand
If you have selected ‘4’ for the expand option, this character will be
used to mark expandable link categories
customCollapse
If you have selected ‘4’ for the expand option, this character will be
used to mark collapsible link categories
postTitleLength
Truncate post titles to this number of characters (default: 0 = don’t
truncate)
animate
When set to true, collapsing and expanding will be animated
useCookies
When true, expanding and collapsing of pages is remembered for each
visitor. When false, pages are always display collapsed (unless
explicitly set to auto-expand). Possible values:
true (default)
false
showTopLevel
True – show top level pages (default)
False – only display sub-pages and below
currentPageOnly
True – show only parent and sub pages of the current page
False – show all pages (subject to the include or exclude parameters
set) (default)
debug
When set to true, extra debugging information will be displayed in the
underlying code of your page (but not visible from the browser). Use
this option if you are having problems
Examples
collapsPage(‘animate=true&sort=ASC&expand=3,inExcludePages=about’)
This will produce a list with:
* animation on
* shown in alphabetical order
* using images to mark collapsing and expanding
* exclude page about
Demo
I use this plugin in my blog at http://blog.robfelty.com
CAVEAT
Currently this plugin relies on Javascript to expand and collapse the links.
If a user’s browser doesn’t support javascript they won’t see the links to the
posts, but the links to the pages will still work (which is the default
behavior in wordpress anyways)