Download the PHP package wp-bootstrap/wp-bootstrap-navwalker without Composer

On this page you can find all versions of the php package wp-bootstrap/wp-bootstrap-navwalker. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package wp-bootstrap-navwalker

WP Bootstrap Navwalker

Code Climate Test Coverage Issue Count Build Status Scrutinizer Code Quality Code Coverage Build Status

This code in the main repo branch is undergoing a big shakeup to bring it in line with recent standards and to merge and test the backlog of PRs I have left for too long. Please use the v4.3.0 tag for stable version while this process happens. https://github.com/wp-bootstrap/wp-bootstrap-navwalker/releases/tag/v4.3.0

A custom WordPress Nav Walker Class to fully implement the Bootstrap 4 navigation style in a custom theme using the WordPress built in menu manager.

NOTES

This is a utility class that is intended to format your WordPress theme menu with the correct syntax and CSS classes to utilize the Bootstrap dropdown navigation. It does not include the required Bootstrap JS and CSS files - you will have to include them manually.

WordPress.org Theme Compliance

This walker is fully compliant with all Theme Review guidelines for wordpress.org theme submission. It requires no modification to be compliant but you can optionally replace the wp-bootstrap-navwalker text domain (which appears twice in the fallback function) with the text domain of your theme.

Upgrade Notes

Between version 3 and version 4 of the walker there have been significant changes to the codebase. Version 4 of the walker is built to work with Bootstrap 4 and has not been tested for backwards compatibility with Bootstrap 3. A separate branch for Bootstrap 3 is maintained here: https://github.com/wp-bootstrap/wp-bootstrap-navwalker/tree/v3-branch

Here is a list of the most notable changes:

Installation

Place class-wp-bootstrap-navwalker.php in your WordPress theme folder /wp-content/themes/your-theme/

Open your WordPress themes functions.php file - /wp-content/themes/your-theme/functions.php - and add the following code:

If you encounter errors with the above code use a check like this to return clean errors to help diagnose the problem.

You will also need to declare a new menu in your functions.php file if one doesn't already exist.

Usage

Add or update any wp_nav_menu() functions in your theme (often found in header.php) to use the new walker by adding a 'walker' item to the wp_nav_menu args array.

Your menu will now be formatted with the correct syntax and classes to implement Bootstrap dropdown navigation.

Typically the menu is wrapped with additional markup, here is an example of a fixed-top menu that collapse for responsive navigation at the md breakpoint.

To change your menu style add Bootstrap nav class names to the menu_class declaration.

Review options in the Bootstrap docs for more information on nav classes.

Displaying the Menu

To display the menu you must associate your menu with your theme location. You can do this by selecting your theme location in the Theme Locations list while editing a menu in the WordPress menu manager.

Making this Walker the Default Walker for Nav Menus

There has been some interest in making this walker the default walker for all menus. That could result in some unexpected situations but it can be achieved by adding this function to your functions.php file.

Simply updating the walker may not be enough to get menus working right, you may need to add wrappers or additional classes, you can do that via the above function as well.

Usage with Bootstrap 5

Bootstrap 5 uses namespaced data attributes. All data attributes now include bs as an infix. The new attributes work just like the old ones. Here’s the menu toggle button from the example above with the renamed data attributes.

The walker also adds a data attribute for dropdown toggles via the start_el() method. Paste this to your functions.php to make the walker use the infixed data attibute.

Menu Caching

On some sites generating a large menu that rarely ever changes on every page request is an overhead that you may want to avoid. In those cases I can suggest you look at storing menu results in a transient.

The biggest drawback to caching nav menus with this method is that it cannot easily apply the .current-menu-item or the .active class to the currently active item as WP decides what is currently active on page load - and since the menu is cached it only knows the active page that it was cached on originally.

You can decide yourself if you want to put up with those drawbacks for the benefit of removing the menu generation time on most page loads. You can follow this article by Dave Clements to see how we cached nav menus that were generated by this walker: https://www.doitwithwp.com/use-transients-speed-wordpress-menus/

Be sure to set the echo argument to FALSE in the wp_nav_menu() call when doing this so that the results can be stored instead of echoed to the page.

See also:

Extras

This script included the ability to use Bootstrap nav link mods in your menus through the WordPress menu UI. Disabled links, dropdown headers and dropdown dividers are supported. Additionally icon support is built-in for Glyphicons and Font Awesome (note: you will need to include the icon stylesheets or assets separately).

Icons

To add an Icon to your link simply enter Glyphicons or Font Awesome class names in the links CSS Classes field in the Menu UI and the walker class will do the rest. IE glyphicons glyphicons-bullhorn or fa fa-arrow-left or fas fa-arrow-left.

Icon-Only Items

To make an item appear with the icon only apply the bootstrap screen reader class sr-only to the item alongside any icon classnames. This will then hide only the text that would appear as the link text.

Disabled Links

To set a disabled link simply add disabled to the CSS Classes field in the Menu UI and the walker class will do the rest. Note: In addition to adding the .disabled class this will change the link href to # as well so that it is not a follow-able link.

Dropdown Headers, Dropdown Dividers & Dropdown Item Text

Headers, dividers and text only items can be added within dropdowns by adding a Custom Link and adding either dropdown-header, dropdown-divider or dropdown-item-text into the CSS Classes input. Note: This will remove the href on the item and change it to either a <span> for headers or a <div> for dividers.

Missing Edit Shortcut in Customizer Preview

According to the documentation for wp_nav_menu() one has to provide an instance of the custom walker class in order to apply the custom walker to the menu. As the instance is not JSON serializable this will cause the menu edit shortcut to not appear in the Customizer preview. To fix this do the following:

  1. Provide the class name string instead of the class instance as value for the 'walker' key in the array of wp_nav_menu's arguments,

  2. re-add the class instance by adding this filter to your functions.php

Changelog

Please see the Changelog.


All versions of wp-bootstrap-navwalker with dependencies

PHP Build Version
Package Version
Requires composer/installers Version ~1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package wp-bootstrap/wp-bootstrap-navwalker contains the following files

Loading the files please wait ....