Skip to content
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

Open
getdave opened this issue Nov 3, 2022 · 1 comment
Open

Nav block use slug to reference Navigation Menu #45512

getdave opened this issue Nov 3, 2022 · 1 comment
Assignees
Labels
[Block] Navigation Affects the Navigation Block [Type] Enhancement A suggestion for improvement.

Comments

@getdave
Copy link
Contributor

getdave commented Nov 3, 2022

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 by slug.

This route was explored due to push back on the attempt to modify the REST API to handle slugs.

Pros:

  • does not require REST API modifications. Retains existing shape.
  • likely more consensus between Editor and WP Core contributors.

Cons:

  • more complex to implement on the Gutenberg side
  • unique identifier as slug but requirement to still key by ID in state introduces complexity
  • permissions lookups are delayed until after a Post ID can be retrieved as REST requires ID.

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:

  • simpler on Gutenberg side
  • fetching permissions works seamlessly as REST API handles slug-based perms lookups.

Cons:

  • modifies shape of REST API
  • potential backwards compat issues with REST API (although non-identified yet)
@getdave
Copy link
Contributor Author

getdave commented Nov 17, 2023

Related Issue about the ultimate goal and why we need slugs #56247

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Block] Navigation Affects the Navigation Block [Type] Enhancement A suggestion for improvement.
Projects
None yet
Development

No branches or pull requests

2 participants