Flexi Pages Widget

Download Latest version: 1.4.1 (updated on 21 May 2008)

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, text to be displayed for home page link, other display and depth options.
  • Multiple instances of the widget — upto nine 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 (more information).

Screenshots

Click on a thumbnail for full size image.

Flexi Pages Widget — screenshot 1
Flexi Pages Widget — screenshot 2Flexi Pages Widget — screenshot 3

  1. Controls for Flexi Pages Widget
  2. Pages listed on the home page when “List sub-pages only in parent and related pages in the hierarchy” option is selected.
  3. Pages listed on a page having sub pages. You can see the sub-pages expand here while only top level pages are listed in the home page on screenshot 2. Same settings as screenshot 2.

Download

Requires atleast WordPress version 2.1. Tested upto WordPress 2.5

Download Flexi Pages Widget plugin for WordPress Version 1.4.1

Downloaded a total of 4566 times

You are free to use the plugin under terms specified by GPL.

Installation

  1. Unzip the compressed file and upload ‘flexi-pages.php’ file (or ‘flexi-pages’ directory) directory to the ‘/wp-content/plugins/’ directory
  2. Activate the plugin ‘Flexi Pages Widget’ through the ‘Plugins’ menu in WordPress admin
  3. Go to WP Admin » Presentation » Widgets, drag ‘Flexi Pages 1′ widget into the sidebar and choose your options
  4. An option to select multiple instances of the widget is available in the widgets page. You can have upto 9 instances of the widget

Contact me for suggestions/questions/feature requests/bug reports. You can also leave your message here as a comment.

The flexipages() template function

Instead of using the sidebar widget, the function flexipages() can be used as a template function to display the list of pages. All options available for wp_list_pages() can also be used for flexipages(). Additionally in flexipages(), the depth parameter has two more choices (-2 and -3), and there is an extra parameter to display a link to the blog home page.

depth (integer)

This parameter controls how many levels in the hierarchy of pages are to be included in the list generated by flexipages. The default value is -2.

  • 0 - All pages and sub-pages displayed in hierarchical (indented) form.
  • -1 - All pages in sub-pages displayed in flat (no indent) form.
  • -2 (Default) - List sub-pages only in parent and related pages in hierarchy.
  • -3 - Similar to ‘-2′ above, but siblings of parent pages won’t be displayed. Only top level pages and pages in the hierarchy will show up.
  • 1 - Show only top level Pages
  • 2 - Value of 2 (or greater) specifies the depth (or level) to descend in displaying Pages.

home_link (string)

If a value is specified for this parameter, a link to the home page of the blog will be displayed on top of the list of pages. The link text will be the value specified. For example, flexipages('home_link=Home') will display a link to the home page with link text as ‘Home’.

In addition to the above two, all other parameters used with wp_list_pages() can also be used with flexipages(). Refer WordPress documentation for more details about the wp_list_pages() function and to know about how to pass the parameters into the function.

Frequently Asked Questions

  1. After selecting a few pages for exclusion, isn’t it possible to deselect all pages? There is always one page selected for exclusion.
    • It is possible to deselect all pages. Hold the ‘Ctrl’ key in your keyboard and click on the name of the page that’s not getting deselected.
  2. When the option “List sub-pages only in parent and related pages in hierarchy” is selected, top level pages, children and siblings of the current page, and siblings of the parent page get listed. Is it possible to get rid of siblings of parent page on a subpage while using this option?
    • Yes. But you have to select the ‘Custom depth level’ option to achieve this. Enter the number ‘-3′ for custom depth. This way only top level pages and pages in the hierarchy will show up.
  3. Is there an option to list only sub pages and hide the parent pages?
    • Although such an option does not exist, the ‘Include’ option can be used to achieve this. Select ‘Include’ instead of ‘Exclude’ and select all the pages you want to be listed. Pages left out won’t be displayed.

Change Log

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
Share / Bookmark: These icons link to social bookmarking sites where readers can share and discover new web pages.
  • Digg
  • del.icio.us
  • Furl
  • Ma.gnolia
  • NewsVine
  • Reddit
  • StumbleUpon

191 Comments

Pages: « 2014 13 12 11 10 [9] 8 7 6 5 41 » Show All

  1. #81: voodoo says:

    Hi !
    Great widget, but i’ve got problems with multiple instances. i’ve two sidebars ,each with one widget as navigation. when i click on a page on the left side pages on the right side will unfold, too. strange. how can i fix it ?

  2. #80: ScorpAL says:

    Hi!
    Thanks for update.

    I realy need feature for Multiple instances of the widget.

    :)

  3. #79: Berend says:

    styling the .current-page-item does not work here.
    Added the following code to my CSS.

    .current-page-item {
    font-weight:bold;
    color: #DB0000;
    }
    Indenting child pages with:

    li#flexi-pages ul ul {
    margin-left:10px;
    }
    works correct.

  4. #78: Srini says:

    Mattz, did you recieve the email I sent you? Anyway, the next version will be out pretty soon!

    calvin, thanks very much. :)

    Carter, there is no custom level number for what you mention. It’s pretty complex coding for this condition, and I currently have no plans for this.

  5. #77: Carter says:

    Hi, Is there a custom level number that allows me to show only the parent and sibling pages related to the page being displayed (or children pages if it is a parent page)?

  6. #76: calvin says:

    Great Plugin! I use in my site and i love it.

    Thank you very much for your work!

    Best regards.

  7. #75: Mattz says:

    Hi,

    Is there already some info about a Beta we can test ?

    We are willing to help I think ;)

  8. #74: Srini says:

    Skitzo, I did recieve your email, but couldn’t reply you as I was a little busy. I will see if I can solve your problem and then get back to you.

    @ idearius: I currently have no plans of including an ‘Include pages’ option, but what you suggest could be a pretty useful feature. I will see if this can be implemented easily. Thanks for the suggestion anyway.

    @ B.Asher: The exclude pages data is stored in the database table wp_options under the option name flexipages, array key ‘exclude’. But I recommend you not edit this manually unless you are very comfortable editing database tables.

  9. #73: B.Asher says:

    Love the plugin!! Keep up the great work! One question, when you select a page to be excluded with the Plugin, what file does it actually change or where in the database does it save the pages to be excluded? I’d like to make pages excluded manually if possible.

    thanks!

  10. #72: idearius says:

    Hi. Thanks for the plugin, Srini.

    Have you thought about making the Exclude section work the other way around, to Include pages?

    In the config screen, where the Exclude word is currently placed, you could fit a small a drop-down list to select between Exclude and Include, so as the user could choose to list all the current and future children of a selected page.

    IE: You select the Members page, and then all member-pages would be listed automatically. As of today, the user can exclude all the pages of a site, except the member-pages, but if an unrelated pages is added, it would be listed too, until the user expressly excludes it.

    Best regards.

    PS: I join the others regarding multiple flexi widgets, but as a second priority :-/

Pages: « 2014 13 12 11 10 [9] 8 7 6 5 41 » Show All

Leave a Reply