This plugin hasn’t been tested with the latest 3 major releases of WordPress. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.

BU Navigation


BU Navigation provides key tools you need to manage large numbers of pages.

  • Replaces the built-in “Page Parent” and “Menu Order” dropdowns with an intuitive drag and drop interface for managing your page hierarchy
  • The “Edit Order” screen presents you with a holistic view of your site’s structure for bulk ordering operations
  • The Content Navigation widget presents a customizable sidebar navigation list fed from your natural page hierarchy
  • The Navigation Block provides a navigation menu based on a customizeable parent post
  • Add external links to navigation lists with the “Add a Link” tool

Additionally, themes that support the primary navigation feature gain the ability to display a primary navigation list fed from page order. With two lines of code any theme can benefit from this feature-rich custom menu alternative.

  • Display a primary navigation menu using the natural page hierarchy, eliminating the need for end-users to manage navigation lists separately from page order
  • Navigation labels give you the ability to vary your page’s navigation label from their title
  • Easily toggle the visibility of specific pages or sections of pages from your navigation menus
  • Customize primary navigation settings through the “Primary Navigation” screen

For more information check out


For developer documentation, feature roadmaps and more visit the plugin repository on Github.

Build Status


  • Manage your site’s page hierarchy with an easy to use drag and drop interface
  • The “Add a Link” tool allows you to add external links to your navigation lists
  • The “Content Navigation” widget presents a configurable sidebar navigation list
  • The “Navigation Attributes” metabox replaces the built-in “Page Parent” and “Menu Order” dropdowns
  • The same drag and drop view is available to move pages while editing them


This plugin provides 1 block.

  • BU Navigation Block


This plugin can be installed automatically through the WordPress admin interface, or by clicking the download link on this page and installing manually.

Manual Installation

  1. Upload the bu-navigation plugin folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ menu in WordPress


I don’t see the “Primary Navigation” menu! How do I enable it?

The “Primary Navigation” menu item will only appear if the current theme supports it.

Please see this page for more information:
Adding Theme Support for Primary Navigation Menus

How do I hide a page from my navigation lists?

While editing your page, uncheck the “Display in navigation lists” checkbox next to the “Visibility” label inside the “Placement in Navigation” metabox. If the metabox is not visible, expand the “Screen Options” panel at the upper right hand corner of the screen and make sure the “Placement in Navigation” checkbox is checked.

My post title is too long for my navigation lists. Is there a way to pick a different label for navigation lists?

While editing your page, enter an alternate navigation label in the “Label” text field inside the “Placement in Navigation” metabox. If the metabox is not visible, expand the “Screen Options” panel at the upper right hand corner of the screen and make sure the “Placement in Navigation” checkbox is checked.

Is there a way to prevent my users from adding top level content to the primary navigation menu?

Visit the “Appearance > Primary Navigation” screen and uncheck the “Allow Top-Level Pages” checkbox. Be sure to click “Save Changes” to save the setting. With this option unchecked, post authors will not be allowed to publish a top level page if the “Display in navigation lists” checkbox is checked.

I’m a theme / plugin developer that would like to take advantage of the navigation library, but I don’t want any of the administrative interface enhancements. Is there a way to disable them?

Yes! The navigation manager interface, content navigation widget, and other plugin features can be disabled on a per-install or theme-by-theme basis.

Please see this page for the details:
Configuring Plugin Features


January 12, 2018
Hi, I loved this Plugin earlier, but unfortunately it is not possible to use any more. The reason is that the editing/text area does not receive key strokes with this Plugin activated. Thereby editing of pages is not possible in WordPress 4.9.1.
September 3, 2016
There are some issues with the z-indexing of the drag-and-drop interface. Also, sometimes moved page “bubbles” don’t rearrange the page tree in real time like they should.
Read all 9 reviews

Contributors & Developers

“BU Navigation” is open source software. The following people have contributed to this plugin.


“BU Navigation” has been translated into 1 locale. Thank you to the translators for their contributions.

Translate “BU Navigation” into your language.

Interested in development?

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



  • Adds a Navigation Block that can display the same output as the widget. It can also display a navigation tree from any specified parent post.
  • Adds a wp-scripts build setup for building the block assets.


  • Removes deprecated jQuery browser check.


  • Restores the widget_bu_pages_args filter.


  • Adds Github action, and removes redundant code.


  • Moves core methods to a Composer package that is then imported back into the plugin. This is to allow for other plugins to also import the core data and widget code.
  • Uses a new namespace for the core data methods.
  • Global stubs for the namespaced functions are still available for functions that are in use outside of the plugin. If a function doesn’t appear to be in use outside of the plugin, the global function was removed.


  • Refactor library query functions for code standards and maintainability.


  • Initial refactor of includes/library.php to improve code standards. Also renames the widget file.


  • Refactor bu-navigation-widget.php to improve code standards.


  • Updates npm dependencies and Grunt toolchain
  • Additions and changes to related to PHP code standards


  • Fix for jQuery bug in the “Add Link” functionality.


  • Update deprecated jQuery methods for 5.5 compatibility. (For 5.5, there is still a known bug with the “Add Link” functionality that adds external links to the navigation tree, which will be patched in a future release.)


  • Fix phpunit test setup scripts.


  • Add styling to override Yoast SEO Thickbox styles.


  • Enqueues thickbox explicitly so that the nav modal will open in the block editor and hides the Block Page Attributes panel when BU Navigation is active.


  • Add hash comparison before saving changes to post hierarchy in Change Order page.


  • Add missing parameter to the_title filter call. Part 2.


  • Add missing parameter to the_title filter call.
  • Update unit test scripts.
  • Setup Code Climate.


  • Add before/after attributes to support wrapping title/labels. Fixes #12.
  • Fix adaptive nav section title calculation. Fixes #22.


  • Fix hierarchical custom post type support. Fixes #20.


  • Fixes redundant title attributes
  • Corrects invalid unit tests


  • Fixes an issue affecting section titles in the navigation widget when using Adaptive Mode
  • Corrects invalid unit tests


  • Fixed WP4.3 widget init issues — props nobleclem
  • Fixed PHP4 style constructors


  • Confirmed 4.2 compatibility


  • JSON Ajax callbacks now return correct HTTP response headers
  • Fixed cache issue with bu_navigation_load_sections
  • Updated unit tests to work with current test suite using WP CLI test scaffolding
  • Added Grunt for script compilation
  • Added TravisCI integration


  • 4.0 Compatibility – Fixes style conflicts
  • IE8 style fixes


  • Added buwp-smoketests integration (lettuce)


  • 3.9 Compat: Fixed z-index issue with “Move page” modal caused by r27532


  • Added support for editing of HTML entities in navigation label input field
  • Added filter: bu_navigation_format_page_label
  • Added WP title filters to bu_navigation_format_page_label


  • Added support for HTML in navigation labels
  • Bug Fix: “View” links on “Edit Order” screen corrected for non-root posts
  • Added caching to optimize loading of navigation sections
  • For Developers: Added several functions for calculating permalinks efficiently for hierarchical post types
  • For Developers: Removed the bu_navigation_pull_page() function from the navigation library


  • Added Swedish translation (props almhorn)
  • Bug Fix: Fix issue where bu_navigation_breadcrumbs() was not restoring excluded post filter
  • Bug Fix: Only display replacement page template metabox for pages
  • Bug Fix: jQuery UI-related issues in 3.6+


  • release


  • Add support for privately published posts in navigation management views
  • Fix for bug that was preventing links from saving
  • Assorted cleanup


  • Initial release
  • Increased test coverage
  • Added constant for setting default post exclude value


  • Fix for navigation exclude filter


  • Added localization support
  • Added feature configuration through the Theme Features API and PHP constants
  • Added navigation links as a true custom post type
  • Assorted cleanup and optimizations