WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Question - How can one utilize the wordpress 3.0 Menu system to automatically have new pages from a custom post type included within the menu (I am referring to the Menu Management area of wordpress for the public website).

I believe this currently works for the regular "pages" if you check the automatically incude box but is there a way to also hard code it to work for pages from a custom post type?

share|improve this question
up vote 3 down vote accepted

This is accomplished by _wp_auto_add_pages_to_menu() (in \wp-includes\nav-menu.php) function that is hooked to transition_post_status hook.

Unfortunately it is hardcoded for page post type and is not easy to extend.

On other hand since it works through generic hook it isn't hard (relatively, menus internal code is pain) to engineer analogue for custom post type.

share|improve this answer
Thank you very much for your answer. Could you please take a moment and provide the code I would need to add which would allow me to achieve these goals? – NetConstructor.com Sep 17 '10 at 17:45
Unfortunately I do not have any custom post types set up, so it would me extremely hard for me to write this piece of code theoretically, without being able to test<->refine in process. – Rarst Sep 17 '10 at 17:53
If I send you a complete code to add to your functions.php file which essentially creates everything for you would you possibly be able to test it? – NetConstructor.com Sep 17 '10 at 21:19
I suggest you update your question with whatever code you have. There are plenty of people around here who do work with custom posts. – Rarst Sep 18 '10 at 7:47

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.