Skip to main content
  1. All Posts/


Tools Open Source PHP WordPress

BU Navigation

Contributors: ntk, mgburns, gcorne, jtwiest, awbauer, inderpreet99
Tags: navigation, hierarchical, post type, boston university, bu
Requires at least: 3.1
Tested up to: 5.7
Stable tag: 1.3.4
License: GPLv2 or later
License URI:
Robust tools for managing hierarchical page content in WordPress. Ideal for blogs with large page counts.


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.

To get started developing with BU Navigation, run npm install to initialize Nodejs dependencies. Run gulp to compile the JavaScript files locally.
Run npm run wp-env to start a local Docker instance of WordPress for local development.
For running local phpunit tests, there is a docker-compose setup. Run

docker-compose up

to launch the php and mysql containers. To download WordPress and setup the phpunit test, obtain a shell on the wp-phpunit-xdebug container and run the setup script from the container:

bash bin/ wordpress_test root '' mysql latest

After setup, running inside the container phpunit will run the tests.


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

Frequently Asked Questions

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


1. Manage your site’s page hierarchy with an easy to use drag and drop interface

2. The “Add a Link” tool allows you to add external links to your navigation lists

3. The “Content…