Here are screenshots of the Menu page, Menu page edit screen, and the Menu posts: https://cloudup.com/ctR49DeQW9I
You can see that despite using the default template, the items appears.
I looked and see that the reason for this is that the theme does a big no-no of invoking the Template Hierarchy with a custom page template file name: page-menu.php
. Named that way, the page gets used not just when the template is selected but when the page slug is “menu”.
So this actually causes two problems, the second of which might actually be easier to solve:
- Page’s with the slug menu that use the default template display menu items.
- Pages with the slug menu that use the default template display poorly formatted menu items.
The style.css
uses a body_class
that’s only there when the template is set for the page, so you get poorly formatted content for that slug-but-no-template issue. Short of including an update script to migrate people’s already-set templates, I’m not sure how you can solve this, but please let this be a lesson for the Automattic themers to be more careful with their template file names in the future!
And even if you can’t fix #1, I’d consider fixing #2 (maybe register a custom body class if the slug is “menu” and add that to style.css) to support newer users that stumble into making the theme work without setting the Template. I suspect this group may be even larger than my edge-case client that doesn’t want the menu items shown on the “Menu” page.