Add icons to menu
add_filter( 'wp_nav_menu_objects', 'modify_mainv_menu_objects', 10, 2 );
function modify_mainv_menu_objects( $items, $args ) {
foreach ( $items as $object ) {
$icon = get_field('navigation_icons', $object );
$title_nav = '<span class="nav-text-box">'. $object->title.'</span>';
if( isset( $icon['sizes']['icon'] ) ){
$title_nav = '<span class="nav-icon-box"><img src="'.$icon['sizes']['icon'].'" alt="" role="presentation"></span>'.$title_nav;
}
$object->title = $title_nav;
}
return $items;
}
Add button to mobile menu

add_filter( 'walker_nav_menu_start_el', 'theme_add_button_to_mobile_menu', 10, 4 );
function theme_add_button_to_mobile_menu( $item_output, $menu_item, $depth, $args ){
if( in_array( 'menu-item-has-children', $menu_item->classes ) ){
$item_output = $item_output . '<button class="mobile-open-submenu" title="'.esc_html__('open submenu', 'greyowl').'" aria-label="'.esc_html__('open submenu', 'greyowl').'" aria-hidden="true" tabindex="-1"></button>';
}
return $item_output;
}
Дополнительные поля для меню WP_Nav_MenuДополнительные поля для меню WP_Nav_Menu