Removing Submenu from Menu

Thesis appears to automatically add the sub-menus (sub-menu ul) to menu parents if childs exists. I have a specific need to remove this html from a particular menu.

The menu name is: second_level

Not sure if there a hook to do this.

I'm trying to remove these from the menu name above.

ul class="sub-menu".../ul

I'm not trying to remove the class but the UL's.

Topic theme-thesis sub-menu hooks menus themes Wordpress

Category Web


You can change nav menu args via the wp_nav_menu_args filter.

So let's say you have a theme that does something like this...

<?php
wp_nav_menu(array(
    'theme_location'   => 'second_level',
    'depth'            => 2, // how many levels to show
    // prolly some other stuff here
));

You can hook into wp_nav_menu_args, check for the theme location, and set depth to be 1 and remove submenus.

<?php
add_filter('wp_nav_menu_args', 'wpse87565_change_depth');
function wpse87565_change_depth($args)
{
    if (!empty($args['theme_location']) && 'second_level' === $args['theme_location']) {
        $args['depth'] = 1;
    }

    return $args;
}

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.