Latest version: 1.6.3 (updated on 10 April 2010)
Features | Screenshot | Download | Installation | FAQ | Changelog | Donate
Flexi Pages Widget is a highly configurable widget to list pages and sub-pages in WordPress sidebar. User friendly widget control comes with plenty of options. ‘Flexi Pages’ widget can be used as an alternative to the default WordPress ‘Pages’ widget.
Features
- Option to display sub-pages only in parent page and related pages.
- Option to easily select and exclude certain pages from getting displayed in the list. Alternatively, only certain pages can be displayed by using the ‘include’ option.
- Option to include a link to the home page.
- Other options include title, sort column/order, hierarchical/flat format, show date, show as dropdown.
- Multiple instances of the widget — unlimited instances of the widget can be added to the sidebar
- Instead of using the widget, the function
flexipages()can be called from anywhere in the template. The list of parameters that can be passed on to this function. - Widget options menu is internationalized.
Screenshot

Flexi Pages Widget -- widget options
Download
Latest version: 1.6.3
Requires atleast WordPress version 2.7. Tested upto WordPress 2.9.1
The plugin can be downloaded from the WordPress plugin repository.
Earlier versions of the plugin can be downloaded here.
You are free to use the plugin under terms specified by GPL.
Donate
Please make a donation and support development. Any amount accepted with thanks.
Installation
- Unzip the compressed file and upload ‘flexi-pages.php’ file (or ‘flexi-pages’ directory) directory to the ‘/wp-content/plugins/’ directory
- Activate the plugin ‘Flexi Pages Widget’ through the ‘Plugins’ menu in WordPress admin
- Go to WP Admin » Appearance » Widgets, add the ‘Flexi Pages’ widget into the sidebar and choose your options
- Multiple instances of the widget can be added to the sidebar.
Frequently Asked Questions
Please visit http://wordpress.org/extend/plugins/flexi-pages-widget/faq/.
Localization
Versions 1.5.5 and above support localization. The localization template file (flexipages.pot) can be found in the ‘languages’ folder of the plugin. The resulting PO and MO files should go in the ‘flexi-pages-widget/languages/’ directory, and should be named in the format `flexipages-xx_YY.po` and `flexipages-xx_YY.mo` files respectively. Where xx refers to the language code and YY to the locale. For example, the German translation files will have the name `flexipages-de_DE.po` and `flexipages-de_DE.mo`. This xx_YY should be the same as the value you define for WPLANG in wp-config.php.
An application like poEdit can be used to translate the plugin, or just translate the strings in the flexipages.pot file and send it to the plugin author. All translations sent to the author will be bundled with the next version of the plugin.
As of version 1.6.3, Flexi Pages Widget is translated into the following languages:
Catalan (ca) by Robert Buj Gelonch
German (de_DE) by Frank W. Hempel
French (fr_FR) by Pierre Sudarovich
Italian (it_IT) by Gianni Diurno
Dutch (nl_NL) by Rene
Brazilian Portugese (pt_BR) by Tzor More
Russian (ru_RU) by Fat Cow.
Swedish (sv_SE) by Ove Kaufeldt
Turkish (tr_TR) by Hakan Demiray
Ukrainian (uk_UA) by wpp.pp.ua.
Change Log
2010-04-09: Version 1.6.3
- Localization in Italian language added.
2010-03-02: Version 1.6.2
- Localization in French language added.
2010-01-30: Version 1.6.1
- Fixed the include/hierarchy issue
- ‘current_page_ancestor’ and ‘current_page_parent’ classes shown.
2010-01-09: Version 1.6
- New feature to show the items in the widget as dropdown.
- Core functions have been rewritten with a better logic (functionalities remain the same).
- Localization in Catalan and Dutch languages added.
2009-11-03: Version 1.5.10
- Minor fix (closing quote for ‘exinclude-values’ in line 408)
2009-10-01: Version 1.5.9
- Localization in Brazilian Portugese, Swedish and Turkish languages added.
2009-09-22: Version 1.5.7
- Ukrainian localization added
- Support for user defined widget arguments before_pagelist and after_pagelist
2009-09-14: Version 1.5.6
- German localization added.
2009-09-10: Version 1.5.5
- Support for localization added. Russian localization included.
- Roll back to `wp_list_pages()` function. Because `wp_page_menu()` seems not to work properly in some themes.
2009-08-03: Version 1.5.3
- Bug fix: Fixed the behaviour where the list won’t appear in the posts page if it’s chosen as a sub page (front page as static page)
2009-06-30: Version 1.5.2
- Bug fix (thanks to John J. Camilleri for the notification). Must upgrade.
2009-04-18: Version 1.5.1
- Bug fix. Title now doesn’t show when there is no items in the list.
- Frequently asked queries about private pages and password protected pages answered in FAQ.
2009-04-07: Version 1.5
- Unlimited instances of the Flexi Pages Widget can be added to the sidebar.
- New option to show date. This option, when selected displays creation or last modified date next to each page.
- The widgets options gets an overhaul. The list of options in the widget control page as of version 1.5.
- Title
- Sort column and sort order
- Exclude/Include a list of pages
- Show subpages (or list only top level pages). Show all subpages or only related subpages.
- List the pages in hierarchical or flat format. If hierarchical, choose depth.
- Show link to the home page
- Show date, and choose date format.
- The plugin references
wp_page_menu()function instead ofwp_list_pages(). Consequently, version 1.5 will work only with WordPress versions 2.7 and above.
2008-05-21: Version 1.4.1
- Bug fixes (issues regarding include/exclude sub-pages only with ‘List sub-pages only in parent and related pages in hierarchy’ option.)
2008-04-06: Version 1.4
- Fixed the odd behaviour when the widget is placed below the recent posts widget.
- Removed the redundant check box for home page link in widget controls
- Tested with WordPress 2.5; widget control box styling compatible with WP 2.5
2008-02-19: Version 1.3
- Multiple instances of the widget
- Added ‘Include pages’ option
flexipages()template function- Other minor improvements
2007-08-31: Version 1.2
- Added option to provide a custom text for the home page link
- Custom depth of ‘-3′ will display only parents, siblings and children along with top level pages. Parents’ siblings wont be displayed.
- Few other improvements and some optimization.
- Tested with WordPress 2.3-beta1.
2007-08-22: Version 1.1.2
- Fixed the missing
</li>tag for home link - Added class name (page_item, current_page_item) for home link
2007-08-17: Version 1.1.1
- bug fix
- tested with WordPress 2.2.2
2007-08-12: Version 1.1
- bug fix
2007-08-08: Version 1.0
- Initial release
Hi,
I have a horizontal navigation with some items having a drop down menu with sub items.
The parent items that have sub items should not be clickable themselves, only the sub items should be clickable. Is there a way to achieve this?
And is it possible for the parent item to show as the current item when the sub items are selected?
Thanks You very much
Hi, thanks for the comment, but it’s not possible to customize which item is clickable and which is not. Also see this comment: http://srinig.com/wordpress/plugins/flexi-pages/comment-page-37/#comment-87954
I updated today and noticed that my menu subpages were indented before the update and it’s not now. What happened with the 1/9/10 update that would cause this?
Thanks, the issue is fixed with v1.6.1.
Great work on this plugin Srini! Been really helpful on a lot of the sites I build but I’ve encountered a situation where I’m a little stuck. I hope you can help:
I need to display sibling pages’ sub-pages to create a drop-down navigation menu for one of my sites. Is this possible? If not, is there a way for me to modify your plugin to make this happen?
Many thanks in advance
Well, that’s pretty complex. If you want a custom solution, please contact me. Thanks.
I’m having major trouble highlighting the current page in a nested list of pages generated by Flexi Pages Widget. If I use the standard WordPress “Pages” widget my styling works, but with Flexi Pages Widget I have a few pages where multiple list items get selected by my CSS.
I put both lists on my site to demonstrate the problem. On this page the 2 navigation lists match:
http://www.zachpoff.com/site2/instruction/projects-in-sound-art/introduction/
On these pages, Flexi Pages widget is highlighting multiple or incorrect list items but the default “Pages” widget is fine:
http://www.zachpoff.com/site2/instruction/projects-in-sound-art/soundasdocument/
http://www.zachpoff.com/site2/instruction/projects-in-sound-art/physicalsound/
http://www.zachpoff.com/site2/instruction/projects-in-sound-art/critiqueportrait/
I am using the following CSS rules to change the current page li background without effecting the backgrounds of its children. (this should apply equally to Flexi and the default widget):
.box-right .page_item a,
.box-right .page_item a:visited {
background: none;
}
.box-right .current_page_item a,
.box-right .current_page_item a:visited {
background: #E2E2E2;
}
.box-right .current_page_item ul li a,
.box-right .current_page_item ul li a:visited {
background: none;
}
Am I going crazy?
I couldn’t wait so I moved to Hierarchical Pages Widget. Thanks for your time.
Latest Version 1.6 can’t/don’t show changed menu labels
(with All-In-One-SEO-Pack or Page-Menu-Editor) with WP 2.9.1
Going back to an older Version of Flexi Pages bring back the
menu labels!
Upgraded my WP to 2.9.1 and your plugin to the latest version, and now my subpages no longer display… http://www.ep2.nl/dev/bob
I have no clue what’s up, so I have no idea what to write here, except for the fact that it doesnt work
Firt off, GREAT Plug-In you have done a great job. The navigation works, and very happy with it, the only thing is this.
I have a listing of pages, – Capabilities, Client List and Project Works. How my page is set up, is when I go to any of these pages, that link changes color, and works perfectly. So if I click on Project Works, that link has another color because of the “current_page_item”. And everything works great there. – HERE is the problem
I have Children and Children of Children pages. – The thing is I dont want to show these in the nav, which works fine, BUT I want the Parent or Grandparent link to have the “current_page_item” css attribute.
So to be more clear – lets say I have this Hierarchy.
Project Works
Category 1
Category 2
Sub Category 1
Sub Category 2
When I am on the Projects Works page, the link highlight works correctly – but when I go deeper, lets say go to Sub Category 2 – then the Projects Works link no longer has the “current_page_item” css attribute
Is there a way, that if a person decides not to list sub-pages that the parent link will always have the “current_page_item” css attribute?
Thanks
Corey
No, that’s not possible. But as of version 1.6.1, the parent page will have the class ‘current_page_parent’ and ‘current_page_ancestor’. I think you can make use of that.
Hi Srini
I have used your plugin for a while now. Until this last upgrade it worked great.
See swantowninn.com for how I use it. Then take a look and see what happens with sub-pages now…in this site under development: http://63.249.18.115/~eaglncom/guestrooms/
Do you have a workaround so it displays nicely like it use to?
Hi Bloke, I hope the update 1.6.1 fixes you problem. Thanks.
This is a great plugin, working just as expected.
I’d like to be able to show the parent page title for the group of subpages displayed – is there a way to dynamically add the parent page title?
This is not possible to dynamically show the parent page title, not with the current version. But you can anyway statically specify the title to be anything you want in the widget options.
Hi Srini,
I also love this widget, but I noticed with the new version 1.6 running on WordPress 2.9.1, that the page hierarchy isn’t working. The children pages are not longer displaying beneath the parent pages and they are not displaying indented. I’m having to remove the plugin from all the sites I’m using this on that have children pages. Would be willing to contribute for an update to return to the orignal functionality.
Regarding @Roseann — the Menu Order is the order specified on the page itself (see the Order field under QuickEdit for each page). You can quickly adjust this order using the My Page Order plugin. However, since Flexi Pages is not showing the parent and children pages in hierarchical order like it used to (even when checkbox is checked), you will need to manually modify the order on all children pages to get their Order value to be greater than their parent but less than the subsequent — in other words, it’s a pain in the butt since the My Page Order Plugin addresses children and parent orders separately (as it should and as should Flexi Pages as it used to).
Looking forward to update. Please keep me posted.
Hi Angela, thanks for the feeback. I hope v1.6.1 fixes the problem. Let me know if it doesn’t.