Walker_Nav_Menu::start_lvl() WordPress Method

The Walker_Nav_Menu::start_lvl() method is used to start the display of a submenu. This method is called when a menu item is active and the current menu item has children.

Walker_Nav_Menu::start_lvl( string $output, int $depth, stdClass $args = null ) #

Starts the list before the elements are added.


Description

Top ↑

See also


Top ↑

Parameters

$output

(string)(Required)Used to append additional content (passed by reference).

$depth

(int)(Required)Depth of menu item. Used for padding.

$args

(stdClass)(Optional)An object of wp_nav_menu() arguments.

Default value: null


Top ↑

Source

File: wp-includes/class-walker-nav-menu.php

	public function start_lvl( &$output, $depth = 0, $args = null ) {
		if ( isset( $args->item_spacing ) && 'discard' === $args->item_spacing ) {
			$t = '';
			$n = '';
		} else {
			$t = "\t";
			$n = "\n";
		}
		$indent = str_repeat( $t, $depth );

		// Default class.
		$classes = array( 'sub-menu' );

		/**
		 * Filters the CSS class(es) applied to a menu list element.
		 *
		 * @since 4.8.0
		 *
		 * @param string[] $classes Array of the CSS classes that are applied to the menu `<ul>` element.
		 * @param stdClass $args    An object of `wp_nav_menu()` arguments.
		 * @param int      $depth   Depth of menu item. Used for padding.
		 */
		$class_names = implode( ' ', apply_filters( 'nav_menu_submenu_css_class', $classes, $args, $depth ) );
		$class_names = $class_names ? ' class="' . esc_attr( $class_names ) . '"' : '';

		$output .= "{$n}{$indent}<ul$class_names>{$n}";
	}


Top ↑

Changelog

Changelog
VersionDescription
3.0.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.