YooTheme
YooTheme3
In this example we will replace the theme “Navbar” menu location with Max Mega Menu.
To display Max Mega Menu in YooTheme3, first go to Mega Menu > Menu Locations and create a new Menu Location. Name the location “Max Mega Menu Navbar”.
Next go to Appearance > Menus. Create a new menu (or select an existing one) and assign it to the new “Max Mega Menu Navbar” location. Make sure the menu is not assigned to the existing “Navbar” location.
To display the menu location, go to Appearance > Widgets and add the Max Mega Menu widget to the “Navbar” widget area. Select “Max Mega Menu Navbar” as the location to display:
If required, you can repeat the same technique to replace other menu locations with Max Mega Menu.
Widgets do not display within sub menus
YooThemes alters the way widgets are processed by WordPress, which prevents widgets from displaying within sub menus.
Unfortunately there is currently no correct solution for this, as it requires editing the theme files directly.
Temporary Workaround
Step 1
Edit vendor/yootheme/theme-wordpress-widgets/src/WidgetsListener.php , find:
1 2 |
public function displayWidget(Config $config, $instance, $widget, $args) { |
Replace with:
1 2 3 4 5 |
public function displayWidget(Config $config, $instance, $widget, $args) { if ( in_array( $args['id'], apply_filters("yootheme_exclude_sidebars", array() ) ) ) { return $instance; } |
Please note you will need to reapply this change each time the theme is updated. We are attempting to work with YooTheme in order to get this change added directly to the theme itself. If you are reading this and are in contact with YooTheme support, please link them to this page and request they make this change to the theme.
Step 2
In your Child Themes functions.php file, add the following:
1 2 3 4 5 |
function megamenu_enable_widgets_in_menu($sidebars) { $sidebars[] = 'mega-menu'; return $sidebars; } add_filter("yootheme_exclude_sidebars", "megamenu_enable_widgets_in_menu"); |