wp menu <command>

Lists, creates, assigns, and deletes the active theme's navigation menus.

$ wp menu <command>


wp menu create
Creates a new menu.
wp menu delete
Deletes one or more menus.
wp menu item
List, add, and delete items associated with a menu.
wp menu list
Gets a list of menus.
wp menu location
Assigns, removes, and lists a menu's locations.

See the Navigation Menus reference in the Theme Handbook.


# Create a new menu
$ wp menu create "My Menu"
Success: Created menu 200.

# List existing menus
$ wp menu list
| term_id | name     | slug     | locations | count |
| 200     | My Menu  | my-menu  |           | 0     |
| 177     | Top Menu | top-menu | primary   | 7     |

# Create a new menu link item
$ wp menu item add-custom my-menu Apple http://apple.com --porcelain

# Assign the 'my-menu' menu to the 'primary' location
$ wp menu location assign my-menu primary
Success: Assigned location to menu.


--path=<path> Path to the WordPress files.

--url=<url> Pretend request came from given URL. In multisite, this argument is how the target site is specified.

--ssh=[<scheme>:][<user>@]<host|container>[:<port>][<path>] Perform operation against a remote server over SSH (or a container using scheme of "docker", "docker-compose", "vagrant").

--http=<http> Perform operation against a remote WordPress installation over HTTP.

--user=<id|login|email> Set the WordPress user.

--skip-plugins[=<plugins>] Skip loading all plugins, or a comma-separated list of plugins. Note: mu-plugins are still loaded.

--skip-themes[=<themes>] Skip loading all themes, or a comma-separated list of themes.

--skip-packages Skip loading all installed packages.

--require=<path> Load PHP file before running the command (may be used more than once).

--[no-]color Whether to colorize the output.

--debug[=<group>] Show all PHP errors and add verbosity to WP-CLI output. Built-in groups include: bootstrap, commandfactory, and help.

--prompt[=<assoc>] Prompt the user to enter values for all command arguments, or a subset specified as comma-separated values.

--quiet Suppress informational messages.