nekojira / wp-api-menus
Extends WordPress WP API with menu routes.
Installs: 1 477
Dependents: 0
Suggesters: 0
Security: 0
Stars: 140
Watchers: 13
Forks: 59
Open Issues: 23
Type:wordpress-plugin
Requires
- php: >=5.3.2
- composer/installers: ~1.0
This package is not auto-updated.
Last update: 2024-10-26 17:29:47 UTC
README
WordPress plugin that extends the JSON REST WP API with new routes pointing to WordPress registered menus. Read the WP API documentation.
New routes available:
/menus
list of every registered menu./menus/<id>
data for a specific menu./menu-locations
list of all registered theme locations./menu-locations/<location>
data for menu in specified menu in theme location.
Currently, the menu-locations/<location>
route for individual menus will return a tree with full menu hierarchy, with correct menu item order and listing children for each menu item. The menus/<id>
route will output menu details and a flat array of menu items. Item order or if each item has a parent will be indicated in each item attributes, but this route won't output items as a tree.
You can alter the V1 data arrangement of each individual menu items and children using the filter hook json_menus_format_menu_item
.
WP API V2
In V1 of the REST API the routes are located by default at wp-json/menus/
etc.
In V2 the routes by default are at wp-json/wp-api-menus/v2/
(e.g. wp-json/wp-api-menus/v2/menus/
, etc.) since V2 encourages prefixing and version namespacing.
You can alter the V2 data arrangement of the REST response using the filter hooks
rest_menus_format_menus
to alter the list of menu items returned (e.g fromwp-json/wp-api-menus/v2/menus/
)rest_menus_format_menu
to alter a single menu returned (e.gwp-json/wp-api-menus/v2/menus/<id>
)rest_menus_format_menu_item
to alter the menu items returned (e.gwp-json/wp-api-menus/v2/menus/<id>
items
property)
Contributing
- Submit a pull request or open a ticket here on GitHub.