astra_dropdown_icon_to_menu_link( string $title, WP_Post $item, stdClass $args, int $depth )
Add dropdown icon if menu item has children.
Description
Parameters
- $title
-
(string) (Required) The menu item title.
- $item
-
(WP_Post) (Required) All of our menu item data.
- $args
-
(stdClass) (Required) All of our menu item args.
- $depth
-
(int) (Required) Depth of menu item.
Return
(string) The menu item.
Source
File: inc/extras.php
function astra_dropdown_icon_to_menu_link( $title, $item, $args, $depth ) { $role = 'presentation'; $tabindex = '0'; $icon = ''; /** * These menus are not overriden by the 'Astra_Custom_Nav_Walker' class present in Addon - Nav Menu module. * * Hence skipping these menus from getting overriden by blank SVG Icons and adding the icons from theme. * * @since 3.3.0 */ $astra_menu_locations = array( 'ast-hf-menu-1', // Builder - Primary menu. 'ast-hf-menu-2', // Builder - Secondary menu. 'ast-hf-menu-3', 'ast-hf-menu-4', 'ast-hf-menu-5', 'ast-hf-menu-6', 'ast-hf-menu-7', 'ast-hf-menu-8', 'ast-hf-menu-9', 'ast-hf-menu-10', // Cloned builder menus. 'ast-hf-mobile-menu', // Builder - Mobile Menu. 'ast-hf-account-menu', // Builder - Login Account Menu. 'primary-menu', // Old header - Primary Menu. 'above_header-menu', // Old header - Above Menu. 'below_header-menu', // Old header - Below Menu. ); $load_svg_menu_icons = false; if ( defined( 'ASTRA_EXT_VER' ) ) { // Check whether Astra Pro is active + Nav menu addon is deactivate + menu registered by Astra only. if ( ! Astra_Ext_Extension::is_active( 'nav-menu' ) && in_array( $args->menu_id, $astra_menu_locations ) ) { $load_svg_menu_icons = true; } } else { // Check menu registered by Astra only. if ( in_array( $args->menu_id, $astra_menu_locations ) ) { $load_svg_menu_icons = true; } } if ( $load_svg_menu_icons ) { // Assign icons to only those menu which are registered by Astra. $icon = Astra_Icons::get_icons( 'arrow' ); } foreach ( $item->classes as $value ) { if ( 'menu-item-has-children' === $value ) { $title = $title . '<span role="' . esc_attr( $role ) . '" class="dropdown-menu-toggle" tabindex="' . esc_attr( $tabindex ) . '" >' . $icon . '</span>'; } } if ( 0 < $depth ) { $title = $icon . $title; } return $title; }
Expand full source code Collapse full source code View on Trac
Changelog
Version | Description |
---|---|
3.3.0 | Introduced. |