Nav Menu Trim


This WordPress plugin trim html id/class attributes of Nav Menu.

Test Matrix

For operation compatibility between PHP version and WordPress version, see below Github Actions.


Patches and Bug Fixes

Small patches and bug reports can be submitted a issue tracker in Github. Forking on Github is another good way. You can send a pull request.


  • Appearance > Customize > Menus
  • Nav Menu Trim options


  1. Download and unzip files. Or install Nav Menu Trim using the WordPress plugin installer. In that case, skip 2.
  2. Upload nav-menu-trim to the “/wp-content/plugins/” directory.
  3. Activate the plugin through the ‘Plugins’ menu in WordPress.
  4. Configure settings through the Appearance > Customize > Menus > Nav Menu Trim menu in WordPress.
  5. Have fun!

Filter hooks

  • nav_menu_trim_get_options
  • nav_menu_trim_get_option


There are no reviews for this plugin.

Contributors & Developers

“Nav Menu Trim” is open source software. The following people have contributed to this plugin.


Translate “Nav Menu Trim” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.



  • add composer script
  • remove makepot:php composer script
  • change makepot from php script to wp cli
  • change plugin initialization to plugins_loaded hook
  • replace assert from assertEquals to assertSame


  • fix wp-plugin-unit-test.yml
  • add Upgrade Notice
  • change requires at least to wordpress 4.9
  • change requires to PHP 5.6
  • bump up yoast/phpunit-polyfills version
  • update wp-plugin-unit-test.yml
  • change os to ubuntu-20.04 for ci
  • add wp-plugin-unit-test-matrix.yml


  • add test case for customizer
  • update composer dependencies
  • change from protected variable to public variable for unit test
  • add timeout-minutes to workflows
  • add phpunit-polyfills
  • tested up to 5.8.0


  • tested up to 5.7.0
  • add composer scripts
  • update japanese translation
  • update pot
  • add test case
  • change constant name
  • add sponsor link
  • add FUNDING.yml
  • add donate link
  • update wordpress-test-matrix
  • add GitHub actions for CI/CD, remove .travis.yml


  • rename sanitize_callback function from sanitize_checkbox to sanitize_boolean
  • fix indent and reformat with phpcs and phpcbf
  • add composer.json for test
  • add static code analysis config


  • fix access modifier
  • fix tests
  • fix PHPDoc comment
  • fix filter nav_menu_trim_get_options and nav_menu_trim_get_option
  • change to add_action with load_textdomain
  • add sanitize_checkbox


  • update screenshot
  • fix PHPDoc comment
  • remove $languages_path
  • fix .travis.yml
  • fix tests
  • add nav_menu_submenu_css_class function
  • fix get_options function
  • add default_options
  • fix load_textdomain


  • fix tests
  • fix data validation via wp_kses
  • change output css to here document
  • fix option detect
  • change add_filter from plugin_action_links to plugin_action_links_{$plugin_file}
  • add init function
  • fix codesniffer.ruleset.xml


  • fixed: fix .travis.yml
  • fixed: fix trim_css_class function
  • fixed: check exists class


  • initial release