Auto Submenu

WordPress can only automatically add new top-level pages to menus. With Auto Submenu, new child pages will also be automatically added to menus.

Author:Diana van de Laarschot (profile at wordpress.org)
WordPress version required:5.4
WordPress version tested:6.5.2
Plugin version:1.0.0
Added to WordPress repository:26-04-2012
Last updated:25-03-2024
Rating, %:78
Rated by:24
Plugin URI:https://wordpress.telodelic.nl/auto-submenu
Total downloads:33 551
Active installs:2 000+
plugin download
Click to start download

The default custom menu in WordPress only allows checking the “Automatically add new top-level pages” (Appearance > Menus) or adding a Navigation block with all pages and all child pages (Appearance > Editor).

With Auto Submenu you get extra functionality to automatically include child pages into the menu.

NEW: ASM now provides support for the Customizer via Appearance > Customize
NEW: ASM now provides support for Full Site Editing with the Gutenberg Block Editor via Appearance > Editor

Using it

Enable the plugin and go to Appearance > Editor.

For each Page in your menu, you now have the following extra configuration options:

  • Add child pages as submenu y/n;
  • child pages are ordered ascending by Menu Order;
  • specify the (maximum) nesting depth of children you want to show (max 3);
  • specify the title for the child pages. For this you can use %post_title, %post_author and other wildcards, see ‘Other Notes > Wildcards’. Default value: %post_title

Via Appearance > Menus and Appearance > Customize you also get the following option:

  • Check the “Automatically add new top-level and all its child pages to this menu (Auto Submenu)”-checkbox.
  • If this option is checked, all top-level pages will automatically be added and will automatically have all child pages added as submenu.

With the Free version you cannot control the nesting depth of the child pages, all subpages are added, regardless the depth of the page tree.

Wildcards

You can control the title of the menu items generated by the plug-in with the following wildcards:

  • %post_title
  • %post_author
  • %post_date for the unformatted post date: 2012-11-10 18:14:23
  • %post_date() for a formatted post date with the following default formatting: November 10th, 2012
  • %post_date(<your formatting here>) for custom date formatting. Example: %post_date(l jS \of F Y, h:i:s A). See https://codex.wordpress.org/Formatting_Date_and_Time for formatting options.
  • %post_date_gmt
  • %post_date_gmt()
  • %post_date_gmt(<your formatting here>)

Screenshots
FAQ
ChangeLog