Skip to content
Easily add custom fields to nav menu items
Branch: develop
Clone or download
Latest commit 9cfb359 Feb 5, 2017

Menu Item Custom Fields

Easily add custom fields to nav menu items.

Contributors: kucrut
Tags: menu, nav-menu, custom-fields, metadata
Requires at least: 3.8
Tested up to: 4.7.2
Stable tag: 1.0.0
License: GPLv2
Donate Link:

Build Status


Breaking Change

Since version 1.0.0, the first parameter passed to the wp_nav_menu_item_custom_fields is the menu item ID, instead of the nav menu ID. This should not have a big impact, since the nav menu ID passed was always 0 (not used by core).

This is a library plugin. It doesn't do anything visible on its own. It was written to allow other plugins/themes to add custom fields to menu items easily. See Installation.

Development of this plugin is done on GitHub. Pull requests welcome. Please see issues reported there before going to the plugin forum.


As regular plugin

  1. Upload menu-item-custom-fields to the /wp-content/plugins/ directory
  2. Activate the plugin through the 'Plugins' menu in WordPress

As library in your plugin/theme

Simply copy menu-item-custom-fields to your plugin directory and require the main plugin file, eg: require_once dirname( __FILE__ ) . '/menu-item-custom-fields/menu-item-custom-fields.php';


Copy (and customize) and include the menu-item-custom-fields-example.php file found in the doc/ directory of this plugin into your plugin/theme.



  • Pass correct parameters to the wp_nav_menu_item_custom_fields hook, props @helgatheviking.



  • Use wp_nav_menu_item_custom_fields as walker hook. See this blog post.
  • Update example plugin


  • Update compatibility info


  • Improve walker class loader


  • Move custom fields up (before <p.field-move />)


  • Initial public release
You can’t perform that action at this time.