Laboratory WordPress Menus Rest API

Laboratory WordPress Menus Rest API

Generate API Endpoints for WordPress menus.

Author:Ricardo Fearing (profile at wordpress.org)
WordPress version required:4.7.1
WordPress version tested:4.9.25
Plugin version:1.0.0
Added to WordPress repository:30-11-2018
Last updated:30-11-2018
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
Rating, %:0
Rated by:0
Plugin URI:https://github.com/chiedolabs/laboratory-menu...
Total downloads:689
plugin download
Click to start download

Laboratory WordPress Menus Rest API

Generate API Endpoints for WordPress menus.

Available Endpoints

Get Menu Items Endpoint: /wp-json/lab-menus/v1/menu/{menu(string | int)}

Params:

  • menu – Either the slug (string) or ID (int) of a menu e.g.

    • http://example.com/wp-json/lab-menus/v1/menu/main-menu
    • http://example.com/wp-json/lab-menus/v1/menu/2

Return: Array of menu item objects, otherwise false.

[{
  "ID": 48,
  "menu_item_parent": "0",
  "object_id": "46",
  "object": "page",
  "type": "post_type",
  "type_label": "Page",
  "url": "http:\/\/localhost:8888\/example\/test\/",
  "title": "Academics",
  "target": "",
  "attr_title": "",
  "description": "",
  "classes": [""],
  // Rest of the details...,
}]

Get Available Menus Endpoint: /wp-json/lab-menus/v1/menu-options

e.g. http://example.com/wp-json/lab-menus/v1/menu-options

Return: Array of available menus objects.

[{
 "term_id": 3,
  "name": "Example Navigation",
  "slug": "example-navigation",
  "term_group": 0,
  "term_taxonomy_id": 3,
  "taxonomy": "nav_menu",
  "description": "",
  "parent": 0,
  "count": 6,
  "filter": "raw"
}]

Get Registered Menu Locations Endpoint: /wp-json/lab-menus/v1/menu-locations

e.g. http://example.com/wp-json/lab-menus/v1/menu-locations

Return: (Associative Array) Array of menus registered by the theme.

[
  "example-nav": 3,
  "main-navigation": 2,
  "footer-nav": 4
]