Exclude Pages now hides child pages where appropriate

Exclude Pages (my WordPress plugin which allows you to remove pages from site navigation) now handles child pages more gracefully. Previously, when you excluded a page any child page would drop down a level, taking it’s place… not what I wanted, and not something I’d noticed because I was only dealing with single level navigation when I wrote the plugin.

A short wrestle with the concept of recursion later, and Exclude Pages now handles the situation better: Child pages of an excluded parent (or any descendant page, e.g. grandchild pages, etc) are also excluded.

Exclude Pages 1.2, screenshotThis change created a user experience problem. The WordPress site editor could find a page excluded, but not easily see why. When they went to edit this excluded page, the owner would see that the “include this page in menus” checkbox was checked… so why was the page not included? To fix this, and prevent the necessity of trawling through the ancestor pages manually, I’ve added a little notice into the control when the page is indirectly hidden and a link taking the site editor directly to the relevant ancestor page.

I’ve also, I think, enabled the plugin for translation; however I’ve not ever used the WordPress translation features before… so here’s hoping I’ve got it right. There’s only four phrases used in the plugin, so if you can provide translated versions, step over and let me know.

9 thoughts on “Exclude Pages now hides child pages where appropriate”

  1. Hi Simon,

    Awesome plugin, I’ve used it in a couple projects and worked great… Now I’m working on a project where I also installed bbpress and included wordpress wp-load.php to benefit of WP codex in bbpress… the problem is your plugin seems to stop working in bbpress and results in messing the website’s layout :) any idea how I could make it work? I prefer your plugin over excluding manually pages via wp_list_pages…

    Any advice highly appreciated :)

    Cheers,
    Alex Mos

  2. Hi,

    Great plugin, I use it on pretty much every WP site I create!

    A site I have just finished is a members site where I’ve created a custom post type called MembersPages where the content is only visible to subscribed members.

    As you’re probably aware your plugin only adds the meta box to the page admin screen so it’s not possible for me to use your plugin to exclude the custom post type from the navigation menu even though the custom post type is setup with page capabilities.

    I have modified the plugin by duplicating your add_meta_box statement and making it do the same for my custom post type.

    I’m just saying, in the future it would be great if you could expand the plugin to cover custom post types.

    1. It’s a common request, and when I have some time (or someone pays me to) then I will definitely do this.

      Cheers,

      Simon

  3. Hello Kevin–I posted this question in the wordpress.org forum a few days ago but so far no response. So I got the idea to come directly to you. Here is my question:

    I’ve installed the exclude pages from navigation plugin to regulate how many pages are listed in my top, horizontal nav bar. It works perfectly. What I want to know is how do I get the pages I’m excluding from the nav bar to still show up in the sidebar? I want ALL my pages listed in the sidebar.

    I have a total of 8 pages, 5 of which are shown in the navbar. Is there anyway to get all 8 listed in the sidebar?

    I thought the exclude pages plugin ONLY excluded pages from the navbar NOT from the sidebar.

    Thanks ever, Ellie

    1. Hi Ellie,

      Exclude Pages is built to operate on all automatic page listings shown in your website, navigation, sidebars, etc; however, don’t despair! If you have WordPress 3.0 or greater you can achieve what you want through use of Menus and the menu widget.

      Here’s an article on creating a custom menu: http://codex.wordpress.org/Appearance_Menus_SubPanel

      Here’s an article on using a custom menu in a widget (it’s for the WordPress.com service, but will apply equally to a self-hosted WordPress website): http://en.support.wordpress.com/widgets/custom-menu-widget/

      Good luck!

      Regards,

      Simon

      1. Simon (my apoligies for calling you Kevin in my previous email) I set up a menu as you suggested and now all my pages are showing in the sidebar. Thank you so much for your help and expertise.
        Ellie

Leave a Reply

Your email address will not be published. Required fields are marked *