本文档介绍了 WordPress REST API 中 Nav_Menus 端点的数据结构与操作方法。核心内容包括菜单记录的字段定义、CRUD 操作的端点定义及参数说明,适用于开发者通过 API 管理导航菜单。
// 列出所有菜单的示例请求
$ curl https://example.com/wp-json/wp/v2/menus
// 删除特定菜单的示例请求
$ curl -X DELETE https://example.com/wp-json/wp/v2/menus/<id> The schema defines all the fields that exist within a nav_menu record. Any response from these endpoints can be expected to contain the fields below unless the `_filter` query parameter is used or the schema field only appears in a specific context.
id
|
Unique identifier for the term.
JSON data type: integer Read only Context: |
description
|
HTML description of the term.
JSON data type: string Context: |
name
|
HTML title for the term.
JSON data type: string Context: |
slug
|
An alphanumeric identifier for the term unique to its type.
JSON data type: string Context: |
meta
|
Meta fields.
JSON data type: object Context: |
locations
|
The locations assigned to the menu.
JSON data type: array Context: |
auto_add
|
Whether to automatically add top level pages to this menu.
JSON data type: boolean Context: |
Query this endpoint to retrieve a collection of nav_menus. The response you receive can be controlled and filtered using the URL query parameters below.
GET /wp/v2/menus
$ curl https://example.com/wp-json/wp/v2/menus
context
|
Scope under which the request is made; determines fields present in response.
Default: One of: |
page
|
Current page of the collection.
Default: |
per_page
|
Maximum number of items to be returned in result set.
Default: |
search
|
Limit results to those matching a string. |
exclude
|
Ensure result set excludes specific IDs. |
include
|
Limit result set to specific IDs. |
offset
|
Offset the result set by a specific number of items. |
order
|
Order sort attribute ascending or descending.
Default: One of: |
orderby
|
Sort collection by term attribute.
Default: One of: |
hide_empty
|
Whether to hide terms not assigned to any posts. |
post
|
Limit result set to terms assigned to a specific post. |
slug
|
Limit result set to terms with one or more specific slugs. |
<a href="#schema-description">description</a>
|
HTML description of the term. |
<a href="#schema-name">name</a>
|
HTML title for the term.
Required: 1 |
<a href="#schema-slug">slug</a>
|
An alphanumeric identifier for the term unique to its type. |
<a href="#schema-meta">meta</a>
|
Meta fields. |
<a href="#schema-locations">locations</a>
|
The locations assigned to the menu. |
<a href="#schema-auto_add">auto_add</a>
|
Whether to automatically add top level pages to this menu. |
POST /wp/v2/menus
GET /wp/v2/menus/<id>
Query this endpoint to retrieve a specific nav_menu record.
$ curl https://example.com/wp-json/wp/v2/menus/<id>
id
|
Unique identifier for the term. |
context
|
Scope under which the request is made; determines fields present in response.
Default: One of: |
<a href="#schema-id">id</a>
|
Unique identifier for the term. |
<a href="#schema-description">description</a>
|
HTML description of the term. |
<a href="#schema-name">name</a>
|
HTML title for the term. |
<a href="#schema-slug">slug</a>
|
An alphanumeric identifier for the term unique to its type. |
<a href="#schema-meta">meta</a>
|
Meta fields. |
<a href="#schema-locations">locations</a>
|
The locations assigned to the menu. |
<a href="#schema-auto_add">auto_add</a>
|
Whether to automatically add top level pages to this menu. |
POST /wp/v2/menus/<id>
id
|
Unique identifier for the term. |
force
|
Required to be true, as terms do not support trashing. |
DELETE /wp/v2/menus/<id>
$ curl -X DELETE https://example.com/wp-json/wp/v2/menus/<id>