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
See also
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
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}";
}
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
| Version | Description |
|---|---|
| 3.0.0 | Introduced. |