'', 'menu' => '', ); /* Widget setup */ function __construct() { /* Widget settings. */ $widget_ops = array( 'description' => _x( 'Custom menu style 2', 'widget', 'the7mk2' ) ); /* Create the widget. */ parent::__construct( 'presscore-custom-menu-2', DT_WIDGET_PREFIX . _x( 'Custom menu style 2', 'widget', 'the7mk2' ), $widget_ops ); } /* Display the widget */ function widget( $args, $instance ) { extract( $args ); $instance = wp_parse_args( (array) $instance, self::$widget_defaults ); /* Our variables from the widget settings. */ $title = apply_filters( 'widget_title', $instance['title'] ); // Get menu $nav_menu = ! empty( $instance['menu'] ) ? wp_get_nav_menu_object( $instance['menu'] ) : false; if ( !$nav_menu ) return; $args = array( 'menu' => $nav_menu, 'container' => false, 'menu_id' => false, 'fallback_cb' => '', 'menu_class' => false, 'container_class' => false, 'dt_item_wrap_start' => '
  • %ITEM_TITLE%', 'dt_item_wrap_end' => '
  • ', 'dt_submenu_wrap_start' => '', 'items_wrap' => '', 'walker' => new Dt_Inc_Classes_WidgetsCustomMenu_Walker() ); $before_widget = str_replace('widget_presscore-custom-menu-2', 'widget_presscore-custom-menu-2 widget-custom-nav' , $before_widget); echo $before_widget ; // title if ( $title ) echo $before_title . $title . $after_title; wp_nav_menu( $args ); echo $after_widget; } /* Update the widget settings */ function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance['title'] = $new_instance['title']; $instance['menu'] = $new_instance['menu']; return $instance; } /** * Displays the widget settings controls on the widget panel. * Make use of the get_field_id() and get_field_name() function * when creating your form elements. This handles the confusing stuff. */ function form( $instance ) { /* Set up some default widget settings. */ $instance = wp_parse_args( (array) $instance, self::$widget_defaults ); // Get menus $menus = get_terms( 'nav_menu', array( 'hide_empty' => false ) ); ?>