Astra_Header_Menu_Component::menu_markup( int $index, string $device = 'desktop' )
Secondary navigation markup
Description
Parameters
- $index
-
(int) (Required) index.
- $device
-
(string) (Optional) device.
Default value: 'desktop'
Source
File: inc/builder/type/header/menu/class-astra-header-menu-component.php
public static function menu_markup( $index ) { switch ( $index ) { case 1: $theme_location = 'primary'; break; case 2: $theme_location = 'secondary_menu'; break; default: $theme_location = 'menu_' . $index; break; } $_prefix = 'menu' . $index; $submenu_class = apply_filters( 'secondary_submenu_border_class', ' submenu-with-border' ); $stack_on_mobile_class = 'inline-on-mobile'; if ( astra_get_option( 'header-' . $_prefix . '-menu-stack-on-mobile' ) ) { $stack_on_mobile_class = 'stack-on-mobile'; } // Menu Animation. $menu_animation = astra_get_option( 'header-menu' . $index . '-submenu-container-animation' ); if ( ! empty( $menu_animation ) ) { $submenu_class .= ' astra-menu-animation-' . esc_attr( $menu_animation ) . ' '; } // Menu hover animation. $menu_hover_animation = astra_get_option( 'header-' . $_prefix . '-menu-hover-animation' ); if ( '' !== $menu_hover_animation ) { $submenu_class .= ' ast-menu-hover-style-' . esc_attr( $menu_hover_animation ) . ' '; } /** * Filter the classes(array) for Menu (<ul>). * * @since 3.0.0 * @var Array */ $menu_classes = apply_filters( 'astra_' . $theme_location . '_menu_classes', array( 'main-header-menu', 'ast-nav-menu', 'ast-flex', $submenu_class, $stack_on_mobile_class ) ); $items_wrap = '<nav '; $items_wrap .= astra_attr( 'site-navigation', array( 'id' => 'site-navigation', 'class' => 'ast-flex-grow-1 navigation-accessibility site-header-focus-item', 'aria-label' => esc_attr__( 'Site Navigation', 'astra' ), ) ); $items_wrap .= '>'; $items_wrap .= '<div class="main-navigation ast-inline-flex">'; $items_wrap .= '<ul id="%1$s" class="%2$s">%3$s</ul>'; $items_wrap .= '</div>'; $items_wrap .= '</nav>'; // Fallback Menu if primary menu not set. $fallback_menu_args = array( 'theme_location' => $theme_location, 'menu_id' => 'ast-hf-menu-' . $index, 'menu_class' => 'main-navigation ast-inline-flex', 'container' => 'div', 'before' => '<ul class="' . esc_attr( implode( ' ', $menu_classes ) ) . '">', 'after' => '</ul>', 'walker' => new Astra_Walker_Page(), ); // To add default alignment for navigation which can be added through any third party plugin. // Do not add any CSS from theme except header alignment. echo '<div ' . astra_attr( 'ast-main-header-bar-alignment' ) . '>'; if ( is_customize_preview() ) { Astra_Builder_UI_Controller::render_customizer_edit_button(); } if ( has_nav_menu( $theme_location ) ) { wp_nav_menu( array( 'menu_id' => 'ast-hf-menu-' . $index, 'menu_class' => esc_attr( implode( ' ', $menu_classes ) ), 'container' => 'div', 'container_class' => 'main-header-bar-navigation', 'items_wrap' => $items_wrap, 'theme_location' => $theme_location, ) ); } else { echo '<div class="main-header-bar-navigation ast-flex-1">'; echo '<nav '; echo astra_attr( 'site-navigation', array( 'id' => 'site-navigation', ) ); echo ' class="ast-flex-grow-1 navigation-accessibility" aria-label="' . esc_attr__( 'Site Navigation', 'astra' ) . '">'; wp_page_menu( $fallback_menu_args ); echo '</nav>'; echo '</div>'; } echo '</div>'; }
Expand full source code Collapse full source code View on Trac