-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Nav block use slug to reference Navigation Menu #45512
Comments
Related Issue about the ultimate goal and why we need slugs #56247 |
Noting that this came up on a WordPress Freelancer meetup as a current big pain point and blocker for using the site editor. |
Thanks for recording this. Let me know if there's anything outside the above recorded reasons as to why this is a blocker. |
This is something we are currently really struggling with, despite general embrace of block themes and the site editor. |
Hi all 👋 Just wanted to share a bit of my personal experience with this. Because of the struggles around using the ID as the connector of Navigation blocks to navigation posts we have actually build a custom version of the navigation block that does exactly what this issue proposes. It uses the After having used that on several client builds there are a few workflow things that I would say I'm sill not really convinced by which make me believe that using the Here are the issues we still run into:
There are some workarounds that we have started to use that do make it less painful but at the end of the day are only light helpers. Mainly we wrap every navigation block inside a template part. That way we can safely update any settings of the navigation block on every environment individually without causing the main template / template part the navigation block is in to get read from the DB. I know that the Navigation block at one point actually did support the concept of From my perspective that is a true and valid issue that I think we could address differently however. What if we for example did something similar to Figma when a font is not installed. When a new theme gets activated we could showcase a similar modal which would allow a user to map their navigation menus to the menu locations of the new theme. |
This Issue specifically tracks the ongoing effort to use a
slug
to reference a Navigation Menu (wp_navigation
Post) instead of the current postID based setup.This is required because IDs are not consistent across environments. Moreover, it opens the way to improve auto-selection of menus based on location with a site template part hierarchy.
Routes
Currently there are two routes open for exploration:
(Preferred) Key by ID, fetch using existing Data APIs and don't modify REST API
PR: #45443.
This route does not modify the REST API and instead utilises an alternative approach using the existing "collection" endpoint alongside
getEntityRecords
(plural) to retrieve a Navigation Post byslug
.This route was explored due to push back on the attempt to modify the REST API to handle slugs.
Pros:
Cons:
Key by slug and modify REST API to accept slug
PR: #42809.
This route updates the REST API to allow for looking up up menus by
slug
as the unique identifier.Pros:
Cons:
The text was updated successfully, but these errors were encountered: