Directory / plugin

Laboratory WordPress Menus Rest API

v1.0.0 · by cardofearing

Laboratory WordPress Menus Rest API Generate API Endpoints for WordPress menus.

About this plugin

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
]

Plugin tags