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

I've converted a client website from Joomla to WordPress. However, there is one aspect of the old site I haven't been able to replicate perfectly without modifying core WordPress.

The goal is to automatically create a tree navigation menu where each link in the menu links directly to a page similar to the way Drupal and Joomla created the menus for this site previously. Obviously, I could build each link by hand using the new "menu" feature. But for 500 pages, this is going to take a long time and it would result in losing one of WordPress' best features!

The only way I can think of to solve this is to make every blog post a 'page' so that articles can be children of parent pages. The drawback to this approach is that I can no longer create categories or tags which is a major setback. However, the main problem with this approach is that it changes the URL permalinks for the website which haven't been altered in over 7 years.

Rather than having a URL of example.com/my-keyword-phrase/ the URL would become example.com/parent-keyword-phrase/child-keyword-phase/

I need a solution to keep the URLs the same, yet still have a hierarchical CMS style menu. The only solution I've found online is one that requires breaking updates by modifying core!


Any ideas?

share|improve this question

You'll need to get around a custom walker. This answer by @toscho is detailed enough to help you get around it.

share|improve this answer

In case someone comes across this thread, the answer to my question is to use a filter to modify the URL via a plugin:


share|improve this answer

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.