Ever wanted to be able to automatically have category and pages children automatically added to your menus? I’m sure I did and was disappointed to not find something that dead simple that works and doesn’t mess up with the theme or other plugins.
Now bear with me on this one as it is my first WP plugin for like a decade and the first ever to be shared so i kept it quite basic.
How it works:
- On each menu item that is either a category or a page you get an option to automatically append their children as a submenu
- You get to decide how many children to show and how they’re gonna be ordered (Title or Date)
- And that’s it, all you have to do is create content and never worry about your menu again.
- As promised, it doesn’t mess with the theme or other plugins, it just injects the children found in the corresponding place of the nav menu array when that is triggered in the frontend
There is no settings page for the plugin but you can change a couple default behaviours from the code itself
Changing the default maximum children number when the field is empty
$item->automatic_max = 5; just change the number at line 220
Bring only direct children of Pages and not all ascendants
$children = get_pages( array( 'child_of' => $item->object_id, 'number' => $item->automatic_max, 'sort_column' => 'post_'.$ordering, 'sort_order' => strtoupper( $ordering ) ) ); just change 'child_of' to 'parent' at line 226
Due to lack of time i will implement the following features upon demand. Please post your requests in the forum.
- Settings Page
- Submenu items ordering
- Support for custom post types and taxonomies
- I have used the menu walker created by zviryatko (https://plugins.trac.wordpress.org/browser/menu-image/trunk/menu-image.php)
Plain and simple
- Installation Instructions
Plain and simple
- Is there a limit on the submenus I can have the children automatically populated
No, you can have it enabled on whatever category or page manu you like, no matter how many or how deep they are in your menu structure
- I saved my menu but I don’t see the children added in the menu editor
Yes that is correct, the children are shown only in the front-end of your website else you would have problems when saving your menu.
- Can I change the ordering of the added children regarding manually added submenu items?
No, currently you cannot. All automatic children will be appended (added to the end) of the submenu. Leave a request on the forum if you would like this feature.
- Can I use this plugin with custom post types and taxonomies?
No, currently you cannot. It works with pages and posts assigned to a category. Leave a request on the forum if you would like this feature.
- Can i use this plugin along with another menu altering plugin (e.g. megamenu) ?
Yes, all this plugin does is inject items to the nav menu array for the front-end. It doesn’t affect the rendering of the menu. Nonetheless; I cannot guarantee the behaviour of third-party menu plugins which rely on custom post types other than nav_menu_item.
Contributors & Developers
“Automatic Submenu for Categories & Pages” is open source software. The following people have contributed to this plugin.