Module — 6 operations
Navigation menus, their items, their order, and which theme location each one is assigned to.
Nothing extra to install. This module runs on core WordPress alone.
menu-items-reorder takes the whole tree in one call, because reordering navigation one item at a time leaves the menu briefly wrong in a way a visitor can see.
Theme locations are read and written explicitly. An agent never guesses which menu is the header.
A read still asks WordPress for a capability against the object. There is no anonymous read anywhere in the surface.
menu-read
Lists menus with their theme location assignments
needs edit_theme_options
menu-read
Reads one menu's full item tree
needs edit_theme_options
Every one of these is previewed before it runs, snapshotted before it changes anything, and verified afterwards by reading the site back. The chips are the policies the operation itself declares.
menu-write
Adds an item to a menu
needs edit_theme_options
menu-write
Updates an item's label, target, or attributes
needs edit_theme_options
menu-write
Reorders and re-parents a menu tree
needs edit_theme_options
menu-write
Assigns a menu to a theme location
needs edit_theme_options