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
upgraded to the new version and everything disappeared, unable to get any of the sidebar items to display unless I check Show Homepage and then I only see the homepage link. Using WordPress 2.9.1.
restored back to Flexi Page Version 1.5.10 and all is working again, please let me know what the problem is as I would love to upgrade to use the dropdown feature.
Let me know if you need more info
Thanks Sabine
Updated to 1.6.1. Widget disappeared.
Went through the differences between 1.6 and 1.6.1 one section at a time. http://plugins.trac.wordpress.org/changeset/199724
The widget didn’t disappear until lines 230-241 were added to the 1.6 code. So the issue has to do with the include/exclude page business. With that in mind I started playing around and I discovered a weird instance.
Table of Contents page with three sections and each section has 10-20 sub-pages. If I want to include only A, B and C — the widget disappears entirely, however, if I include the Table of Contents along with A, B and C, the widget appears.
I. Table of Contents
A. Section 1
…
B. Section 2
…
C. Section 3
…
While I can’t tell you if there’s anything wrong with those lines of code, if you’re having problems with 1.6.1, make sure you have the top-most parent parent page included.
Hello,
You can no longer have subpages show and exclude main pages in this version.
Really? That is such a shame! How can I get this to work again? And if not, is there another widget that can show subpages while excluding the top level?
Hello,
I’d like to offer the following to try as a solution. It’s a small edit to the script to remove the page ID and then successively each parent page ID from the list of exclusions.
(In flexi-pages-widget.php 1.6.3) where you have lines 291-4:
if($exinclude == 'include')
$include = $exinclude_values;
else
$exclude = $exinclude_values;
Replace that last line (294) with:
{
$exclude = $exinclude_values;
$exclude_elts = explode(",", $exclude);
$hierarchy=flexipages_get_currpage_hierarchy();
foreach ($hierarchy as $inc_page_id)
{
$exclude_elts=array_diff($exclude_elts,array($inc_page_id));
}
$exclude=implode(",",$exclude_elts);
}
Hopefully menus will reappear and then all being well Srini G can release an updated version.
(I’ve also posted this on the WordPress.org forum).
This is the very great plugins, I’m very thankful to the author of this plugins.
I use this plugin in every website I made that have many menus, for including and excluding the pages in my menus.
BUT I have a suggestion that can made this plugin most usable and more great function.
Can You please made this compatible with the menu label of All in One SEO Plugin so that I can Specify menu label than the title.
Thanks very much….
PS: Only suggestion…
First of all, thanks for a great widget.
My structure at my site is like this:
Page 1
-page 1.1
-page 1.2
Page 2
-page 2.1
-page 2.2
Is it possible to show only the subpages in the widget?
when I’m at Page 1 is shows:
-page 1.1
-page 1.2
and when I go to Page 2 it shows:
-page 2.1
-page 2.2
The older version alowed to show subpages selected without the parent page selected, it seems this is no longer possible in the newest version. Please advise.
It’s odd, i seem to be able to get all the pages EXCEPT the pages I want to appear, to appear. Either by excluding or including, they disappear until I am showing almost all the pages, and then they are there. I tried turning off other plugins, to no avail. The only thing different about some of these pages is that they use the no sidebar template, but why wouldn’t they appear on the parent’s list? In fact, I can’t even get the parent to show up. It’s a child. I’m trying to show the children of a child, basically, does this not do that? Using most recent version and WP 2.9.2…I’m giving up and going another route, but would love to hear this has been fixed, it looks like an awesome plugin.
I love the flexi page widget! However, I have a question. The widget currently puts a square/rectangle block next to each page link, and if there are sub-pages the parent’s rectangle grows longer. I have two questions:
1. Is there a way to change this square/rectangle to an image or other character.
2. Is there a way for the rectangle not to grow longer when the child pages are shown?
Thanks!!
Hello, is it possible to call the function inside a post?
Thanks
I LOOOOVE YOUUU
The latest version no longer picks up on the “custom menu names” option in Allinoneseo pack.
Before this update your plugin picked it up ok but now it just shows the post title. I used this to embed a tag around the menu name to highlight this option in the menu.