"; //here $output .= "
\n"; } /** * Custom walker. Add the widgets into the menu. * * @see Walker::start_el() * * * @param string $output Passed by reference. Used to append additional content. * @param object $item Menu item data object. * @param int $depth Depth of menu item. Used for padding. * @param array $args An array of arguments. @see wp_nav_menu() * @param int $id Current item ID. */ function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) { if (is_array($args)) { echo "WP Megamenu Notice: You haven\'t set Menu locations in menu settings or menu you selected as megamenu is not available."; die(); } $indent = ( $depth ) ? str_repeat("\t", $depth) : ''; if (!get_option('apmega_settings')) { $ap_menu = new APMM_Class(); $general_settings = $ap_menu->apmm_default_settings(); } else { $general_settings = get_option('apmega_settings'); } if (property_exists($item, 'wpmegamenu_settings')) { $settings = $item->wpmegamenu_settings; } else { $settings = AP_Menu_Settings::wpmm_menu_item_defaults(); } // Item Class passed classes $classes = empty($item->classes) ? array() : (array) $item->classes; $classes[] = 'menu-item-' . $item->ID; $classes[] = 'menu-item-depth-' . $depth; if (isset($args->has_children) && $args->has_children == true) { $classes[] = "has-dropdown"; } else { $classes[] = "no-dropdown"; } if (isset($settings['upload_image_settings']['use_custom_settings']) && $settings['upload_image_settings']['use_custom_settings'] == 'true' && $depth > 0) { $classes[] = "wpmm-custom-post-settings"; if (isset($settings['upload_image_settings']['text_position'])) { $classes[] = APMM_CSS_PREFIX . 'image-' . $settings['upload_image_settings']['text_position']; } } $class = join(' ', apply_filters('wpmm_nav_menu_css_class', array_filter($classes), $item, $args)); // strip widget classes back to how they're intended to be output $class = str_replace("wp_mega_menu_widget_wrap-", "", $class); // Item ID $itemid = esc_attr(apply_filters('wpmegamenu_nav_menu_item_id', "wp_nav_menu-item-{$item->ID}", $item, $args)); // build html $output .= $indent . "";
// print_r($item);
// output the widgets
if ($item->type == 'widget' && $item->content) {
$item_output = $item->content;
} else {
$sub_attrs = array();
$sub_attrs['title'] = !empty($item->attr_title) ? $item->attr_title : '';
$sub_attrs['target'] = !empty($item->target) ? $item->target : '';
$sub_attrs['class'] = '';
$sub_attrs['rel'] = !empty($item->xfn) ? $item->xfn : '';
if (isset($settings['general_settings']['active_link']) && $settings['general_settings']['active_link'] == 'true') {
$sub_attrs['href'] = !(empty($item->url) && $item->url != '#') ? esc_url($item->url) : '';
}
if (isset($general_settings['hide_icons']) && $general_settings['hide_icons'] == '1') {
$sub_attrs['class'] = "hide_main_icons";
}
$sub_attrs = apply_filters('wp_mega_menu_nav_menu_link_attributes', $sub_attrs, $item, $args);
if (strlen($sub_attrs['class'])) {
$sub_attrs['class'] = $sub_attrs['class'] . ' wp-mega-menu-link';
} else {
$sub_attrs['class'] = 'wp-mega-menu-link';
}
if (isset($settings['mega_menu_settings']['choose_menu_type']) && $settings['mega_menu_settings']['choose_menu_type'] == 'search_type') {
$choose_style = isset($settings['mega_menu_settings']['custom_content']) ? $settings['mega_menu_settings']['custom_content'] : '';
$out = $this->wpmm_get_all_attributes('wp_megamenu_search_form', $choose_style);
$template_type = $out['template_type'];
// $style = $out['style'];
if ($template_type == "inline-search") {
$classtype = "wpmega-searchinline";
} else {
$classtype = "wpmega-searchdown";
}
$sub_attrs['class'] = 'wpmm-search-type ' . $classtype;
}
/* Custom Single Menu Item Link Such as for social links */
if (isset($settings['general_settings']['active_single_menu']) && $settings['general_settings']['active_single_menu'] == 'enabled') {
$sub_attrs['class'] = 'wpmm-csingle-menu';
}
if (isset($settings['general_settings']['disable_text']) && $settings['general_settings']['disable_text'] == 'true') {
$sub_attrs['class'] .= ' wpmm-disable-text';
}
$attributes = '';
foreach ($sub_attrs as $attr => $value) {
if (!empty($value)) {
$value = ( 'href' === $attr ) ? esc_url($value) : esc_attr($value);
$attributes .= ' ' . $attr . '="' . $value . '"';
}
}
/* Case 1: Show Menu label */
$menu_label = (isset($settings['general_settings']['top_menu_label']) && $settings['general_settings']['top_menu_label'] != "") ? esc_attr($settings['general_settings']['top_menu_label']) : '';
$item_output = $args->before;
$item_output .= '';
if (isset($settings['upload_image_settings']['use_custom_settings']) && $settings['upload_image_settings']['use_custom_settings'] != 'true') {
if (!empty($menu_label)) {
if ($depth == 0) {
$depthclass = "wpmm_depth_first";
} else {
$depthclass = "wpmm_depth_last";
}
$mlabel = (isset($general_settings['mlabel_animation_type']) ? $general_settings['mlabel_animation_type'] : 'none');
if ($mlabel != 'none') {
$item_output .= '';
} else {
$item_output .= '';
}
}
}
// echo "";
// print_r($settings);
// echo '
';
/* check menu icons */
/* Case 2: To show icons menu is equal to 1 */
if (isset($general_settings['hide_icons']) && $general_settings['hide_icons'] != '1') {
if (!isset($settings['general_settings']['menu_icon']) && $settings['general_settings']['menu_icon'] != 'disabled' || $settings['general_settings']['menu_icon'] != '') {
if (isset($settings['icons_settings']['icon_choose'])) {
$attr_class = $settings['icons_settings']['icon_choose'];
$split = explode('|',$attr_class,2);
$v1 = empty($split[0]) ? '' : $split[0];
$v2 = empty($split[1]) ? '' : $split[1];
$icon_class = $v1 . " " . $v2;
if (isset($settings['mega_menu_settings']['choose_menu_type']) && $settings['mega_menu_settings']['choose_menu_type'] == 'search_type' && $depth == 0) {
$choose_style = $settings['mega_menu_settings']['custom_content'];
$out = $this->wpmm_get_all_attributes('wp_megamenu_search_form', $choose_style);
$template_type = $out['template_type'];
// $style = $out['style'];
if ($template_type == "inline-search") {
$classtype = "wpmm-search-inline";
} else {
$classtype = "";
}
$item_output .= '';
if ($template_type == "inline-search") {
$item_output .= '' . do_shortcode($choose_style) . '';
}
} else {
if ($attr_class != '') {
$item_output .= '';
}
}
}
}
}
//} // check if second level custom settings is enable or not , if enable dont display menu icon and label here.
/* Case 3: To display menu title if enable */
/* menu icons check end */
if (isset($settings['general_settings']['disable_text']) && $settings['general_settings']['disable_text'] == 'true') {
/** This filter is documented in wp-includes/post-template.php */
} else {
if (isset($settings['upload_image_settings']['use_custom_settings']) && $settings['upload_image_settings']['use_custom_settings'] == 'true') {
//dont show menu text here for custom settings
} else {
//display menu title
if (!isset($settings['general_settings']['disable_text'])) {
$item_output .= '';
} else {
if (isset($settings['general_settings']['disable_text']) && $settings['general_settings']['disable_text'] == "false") {
$item_output .= '';
}
}
if (isset($item->description) && $item->description != '') {
$item_output .= '';
$item_output .= '';
$item_output .= $item->description;
$item_output .= '';
}
}
}
$item_output .= '';
$item_output .= $args->after;
/* Display Top Content for megamenu */
if ($depth == 0) {
if (isset($settings['menu_type']) && $settings['menu_type'] == "megamenu" && isset($settings['mega_menu_settings']['choose_menu_type']) && $settings['mega_menu_settings']['choose_menu_type'] != 'search_type') {
$item_output .= "";
$output .= $item_output;
$output .= "