Custom Post Type Auto Menu
Custom Post Type Auto Menu
Description
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.
Requirements
- 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: https://wordpress.org/plugins/anything-order/
Acknowledgements
- 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!
Installation
- Upload the plugin to your site and activate.
- CPT Auto Menus page is now in main admin menu under Settings.
- Use checkbox to select which Custom Post Types you want an automated menu for, then Save Changes.
- You will be redirected to Menu Settings tab. Select which menu and which parent menu item where you wish the CPT to display.
Screenshots
Faq
The plugin now supports multiple custom post types. Use as many as you like.
Currently the plugin works for top-level menu items only.
There are other available solutions for that, but if there is demand I could incorporate it in future releases.
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.
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.
Reviews
Does not work
By humantheory on July 1, 2024
Tested with Toolset custom post type.
still works perfectly fine
By somagfx on April 7, 2022
Does not work
By Hani Guda (gudahani) on April 19, 2020
Works perfectly
By degroeifabriek on April 3, 2020
Could be good if an option would been added
By whappe on July 18, 2019
Very useful but lacks taxonomy filtering
By smatzis on April 11, 2019
Not working
By netgui on November 15, 2018
Worked perfectly
By MaryMak (maxms) on April 5, 2018
Works!
By Andrew (andrewjohnstrong) on March 19, 2018
Could be great but not finished
By tombyrom16 on September 3, 2016
Works great... but incomplete.
Very simple to use but unfortunately you can only add new items automatically underneath top level menu items, to add to child or grandchild menu items isn't possible.
Because of these I cannot give it more then 3 stars as it only does half the job, the site I am working on needs to auto add posts to both top level and child menu so full functionality has not been implemented.
I'll change my review to 5 stars if this changes for sure!
Changelog
1.3.1
- tested up to WP 5.7
1.3.0
- tested up to WP 5.4
- refactored the codebase and reorganized the directories
- fixed get_terms to new requirement according to the Codex
1.2.2
- tested with WP 5.0
1.2.1
- tested with WP 4.9 on multisite
1.2.0
- test for public post types and give warning if not set. Removed deprecated screen icon function.
1.1.9
- very minor version changes and a new deploy test
1.1.8
- A few small bug tweaks
1.1.7
- SVN did not upload the new classes directory. Going to re-do the whole commit
1.1.6
- some kind of SVN error. Attempted fix.
1.1.5
- Fixed bulk trash error
- Fixed publish to draft error
- Broke up main function into new class
1.1.4
- Fixed current screen error that gave a php warning
- Fixed editing error where titles with an ampersand would create multiple menu items
1.1.3
- 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
1.1.2
- 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
1.1.1
- Added German translation. Thanks Dad!
- Updated Spanish translation. Thanks Andrew!
1.1.0
- Now able to select multiple custom post types
- Moved CPT Auto Menu to its own menu page
- Added Spanish, French and Italian translations
1.0.1
- Fixed bug where saving draft created menu item
1.0.0
- First upload of working plugin.

