WordPress

Show images on sub-menu navigation

Display the images on the sub-menu items on the navigation of the site. Add code to the functions.php file:

function add_images_to_special_submenu( $items ) {
    $special_menu_parent_ids = array();
    foreach ( $items as $item ) {
        if ( in_array( 'icon-dropdown-menu', $item->classes, true ) && isset( $item->ID ) ) {
            $special_menu_parent_ids[] = $item->ID;
        }
        if ( in_array( $item->menu_item_parent, $special_menu_parent_ids ) && has_post_thumbnail( $item->object_id ) ) {
            $item->title = sprintf(
                '%1$s %2$s',
                '<span class="menu-img">'. get_the_post_thumbnail( $item->object_id, 'carmodel-small-image', 
                                    array( 'alt' => esc_attr( $item->title ) ) ).'</span> <span class="menutag"> ' . get_post_meta($item->object_id, 'tag', true) .'</span>'
                ,
                '<span class="menutitle">'.$item->title.'</span>'
            );
        }
    }
    return $items;
}
add_filter( 'wp_nav_menu_objects', 'add_images_to_special_submenu' );

Note: Add icon-dropdown-menu class on parent menu.