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.
This 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.