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
Excellent widget, Srini! I do have one quick question for you. Are there any plans to include current_page_ancestor/current_page_parent classes on parent and grandparent list items? Or is this already in there and I have to enable it somehow? I’m using the flexipages template function call.
Thanks for your help!
Thanks for the feedback. current_page_ancestor/current_page_parent classes appear in update 1.6.1.
Perfect! Thanks for adding that into the latest version.
Is there a way to use the flexipages() function in the template to pull pages and their custom field information?
No, not with the current version.
I often use this plugin but 1.6 doesn’t work properly
(with WP 2.9.1), 1.5.10 does.
It will not use the Menu Label from AllInOneSeoPack or
other rewrite Menu Label Plugins.
It also do not create menu item classes for more than two
levels. I miss the class current_page_ancestor.
Bernd
Bernd, you can still use 1.5.10 if it works for you with the latest WP version. You can get it here: http://wordpress.org/extend/plugins/flexi-pages-widget/download/
Hi,
Great plugin!
There is a bug which I believe you already know about.
I wish to show (include) all subpages and exclude all 1st level pages, but when I exclude 1st level page it excludes all its subpages as well.
When do you think you will fix it? can I fix it on my own?
Thanks a lot,
Daniel
Thanks Daniel, the issue is fixed in v1.6.1. I suggest you ‘include’ the subpages you want to show, and uncheck the ‘Show hierarchy’ option. Hope that helps.
Hi,
thank you for the plugin. Just what I looked for. Just a question: is this possible to make it work with the Page Menu Editor ( http://www.stuffbysarah.net/wordpress-plugins/page-menu-editor/ ) by Sarah Anderson? I find that giving a “short name” to the page is really useful a lot of time…
Thanks!
Hi, the current version won’t work with the Page Menu Editor plugin because we don’t use the wp_list_pages() function anymore. You can download and use v1.5.10 of flexi pages if that works for you. http://wordpress.org/extend/plugins/flexi-pages-widget/download/
[...] called the ’squeeze page’. So I’ll hook that up now… I use a plugin called flexipages that lets me control the way my pages display in my sidebar, so I can suppress this squeeze page [...]
The flexi-page menu is has different formatting characteristics than the normal page menu, se the above website. Personally, I don’t like the extra indentation of the flexi-page menu. Can this be fixed?
Extra indentation? Can you provide more details?
Well, I’m confused… seriously. That ‘include’ issue is an intended behaviour and everybody else complains. The plugin and its options has become so complex that if I make something work for somebody it breaks for everybody else. I think the plugin has reached a saturation point. I’ll try and do my best to make it work for most people and then freeze, after that no more updates or new features.
And those for whom v1.6 is ‘broken’ can always downgrade to a lower version. version 1.5.10 can be downloaded from here: http://wordpress.org/extend/plugins/flexi-pages-widget/download/
I hope the update to v1.6.1 fixes the bugs and issues with 1.6 faced by many users. If not, please let me know. Thanks for all the feedback on version 1.6.
[...] Flexi Pages Widget [...]
Hi Srini !
Congratulations for such a great and useful plugin !
I was just wondering if a small improvement could be made in the widget design?
When we have quite a few pages/posts to include/exlude, we need to scroll a lot as the window is a bit small.
But just below there is a lot of free space. Could it be used to increase the size of this window?
As I’m not sure I’m very clear, here is a link with an image explaining my meaning:
http://www.ningbohotelreview.com/flexipages.gif
THANK YOU and keep on the GREAT work!
Jamy
Ok I found a simple way to increase the window.
I just changed the following in flexi-pages-widget.php.
THIS:
<select name="flexipages_widget[][exinclude_values][]” id=”flexipages-exinclude_values-” class=”widefat” style=”height:auto;max-height:6em” multiple=”multiple” size=”4″>
BY THIS:
<select name="flexipages_widget[][exinclude_values][]” id=”flexipages-exinclude_values-” class=”widefat” style=”height:400px;max-height:40em” multiple=”multiple” size=”4″>
Look carefully and see that only the ‘style-height’ and ‘max-height’ values have been changed.
I just copied here the full paragraph to make it easy for users to locate the 2 parameters.
If you use WP as a CMS and have quite a few pages like me, this might help.
Cheers !
Jamy