= 8.5
*
* Based on Soil NavWalker
* @url https://github.com/roots/soil
*
*
* Walker_Nav_Menu (WordPress default) example output:
*
*
* NavWalker example output:
*
*
* @package Roots\Sage\Nav
*/
class NavWalker extends \Walker_Nav_Menu {
/**
* @var bool
*/
private $cpt; // Boolean, is current post a custom post type
/**
* @var false|string
*/
private $archive; // Stores the archive page for current URL
/**
* NavWalker constructor.
*/
public function __construct() {
add_filter( 'nav_menu_css_class', array( $this, 'cssClasses' ), 10, 2 );
add_filter( 'nav_menu_item_id', '__return_null' );
$cpt = get_post_type();
$this->cpt = in_array( $cpt, get_post_types( array( '_builtin' => false ) ) );
$this->archive = get_post_type_archive_link( $cpt );
}
/**
* Check item classes for current or active
*
* @param $classes
*
* @return int
*/
public function checkCurrent( $classes ) {
return preg_match( '/(current[-_])|active/', $classes );
}
// @codingStandardsIgnoreStart
/**
* Add dropdown menu class to dropdown UL
*
* @param string $output
* @param int $depth
* @param array $args
*/
function start_lvl( &$output, $depth = 0, $args = [] ) {
$output .= "\n