This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

Custom Post Type Auto Menu


Custom Post Type Auto Menu allows the user to choose a custom post type, a menu, and a menu parent item to which new custom post type posts
will be added automatically. This simplifies the menu process for users who may not be comfortable adding items to menus, or
for sites that have a large number of custom post type additions, such as products.

The plugin supports multiple custom post types.


  • The custom post type you wish to use must be have both ‘public’ and ‘show_in_nav_menus’ set to true.
  • Your theme must have menus.

Known Issues

  • Ampersands and other HTML entites in titles can sometimes have curious results, such as multiple menu items.
  • After a custom post type post has been published, if it is downgraded to ‘draft’ the item stays in the menu.
  • Bulk trashing custom post types will leave the menu items behind. Trash custom post types one at a time and it works fine.
  • Menu items can not have the same name, even if attached to different menus.
  • Known to conflict with Anything Order plugin:


  • Thanks to all who have made suggestions for features to this plugin. I will try to put aside some time to work on it.
  • Many thanks to codbox for the bug fixes and the new class. Much appreciated!
  • Thanks to Andrew Kurtis of WebHostingHub for the Spanish translation
  • There are various urls in the code from developers whose solutions I used to solve problems. Thanks everyone!


  • Custom Post Type Settings page. Choose at least one.
  • Menu Settings page. Choose which menu and which menu item the automated cpt post should appear in.


  1. Upload the plugin to your site and activate.
  2. CPT Auto Menus page is now in main admin menu under Settings.
  3. Use checkbox to select which Custom Post Types you want an automated menu for, then Save Changes.
  4. You will be redirected to Menu Settings tab. Select which menu and which parent menu item where you wish the CPT to display.


How many custom post types can I use?

The plugin now supports multiple custom post types. Use as many as you like.

Can I create sub-sub menu items?

Currently the plugin works for top-level menu items only.

What about categories and pages?

There are other available solutions for that, but if there is demand I could incorporate it in future releases.

Can I add existing custom post type posts to the menu?

Some users have many existing cpt’s and want to change them to a new menu. This can be done by selecting all your custom post types
and setting them to ‘draft’ status, then back to ‘publish’. The plugin will detect them as new, and they will be added.

Why do post types have to be public?

Custom post types must be set to public for the plugin to see them. This is because one of the assumptions of not setting a post type
to public is that ‘show_in_nav_menus’ will be false. Obviously this is not the desired outcome of a plugin that automatically adds items
to a menu.


སྤྱི་ཟླ་བཞི་པ། 7, 2022 1 reply
I just tested this plugin because of so many bad reviews. Still after years, this little helper just does its job as it intended to be. Amazing. I love those great tools. Thank you!
སྤྱི་ཟླ་བཞི་པ། 19, 2020 1 reply
Does not auto add new menu items nor change the parent item
Read all 17 reviews

Contributors & Developers

“Custom Post Type Auto Menu” is open source software. The following people have contributed to this plugin.




  • tested up to WP 5.7


  • tested up to WP 5.4
  • refactored the codebase and reorganized the directories
  • fixed get_terms to new requirement according to the Codex


  • tested with WP 5.0


  • tested with WP 4.9 on multisite


  • test for public post types and give warning if not set. Removed deprecated screen icon function.


  • very minor version changes and a new deploy test


  • A few small bug tweaks


  • SVN did not upload the new classes directory. Going to re-do the whole commit


  • some kind of SVN error. Attempted fix.


  • Fixed bulk trash error
  • Fixed publish to draft error
  • Broke up main function into new class


  • Fixed current screen error that gave a php warning
  • Fixed editing error where titles with an ampersand would create multiple menu items


  • Fixed bug that sometimes prevented page redirects and caused ‘headers already sent’ error
  • Improved error message for empty custom post type list
  • Fixed intermittent ajax bug
  • Added proper sanitization to callbacks


  • Fixed translation strings to WordPress I18n standards
  • Formatted code to WordPress standards
  • Added a few missing empty variable checks
  • Added missing exits after redirect functions


  • Added German translation. Thanks Dad!
  • Updated Spanish translation. Thanks Andrew!


  • Now able to select multiple custom post types
  • Moved CPT Auto Menu to its own menu page
  • Added Spanish, French and Italian translations


  • Fixed bug where saving draft created menu item


  • First upload of working plugin.