function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) { $item_output = ''; parent::start_el($item_output, $item, $depth, $args); // inject $new_fields before: <div class="menu-item-actions description-wide submitbox"> if ($new_fields = Willow_Custom_Menu::instance()->render_fields($item, $depth, $args)) { $item_output = preg_replace('/(?=<div[^>]+class="[^"]*submitbox)/', $new_fields, $item_output); } $output .= $item_output; }
$fields['icon_class'] = array('name' => 'icon_class', 'label' => 'Icon Class', 'container_classes' => '', 'type' => 'textbox'); return $fields; } add_filter('nav_menu_link_attributes', 'willow_nav_menu_link_attributes', 10, 3); function willow_nav_menu_link_attributes($atts, $item, $args) { if (isset($item->section_id) && !empty($item->section_id)) { $atts['href'] = trailingslashit($atts['href']) . "#" . $item->section_id; } return $atts; } add_filter('the_title', 'willow_nav_menu_title', 10, 2); function willow_nav_menu_title($title, $ID) { $type = get_post_type($ID); if ($type === 'nav_menu_item') { $icon_class = get_post_meta($ID, "_menu_item_icon_class", true); if ($icon_class) { $title = '<i class="' . $icon_class . '"></i>' . $title; } } return $title; } /** * Instantiate willow's custom menu */ Willow_Custom_Menu::instance(); } /** * EOF */