Пример #1
0
function shiftnav_get_menu_items_data($menu_id = -1)
{
    if ($menu_id == -1) {
        global $nav_menu_selected_id;
        $menu_id = $nav_menu_selected_id;
    }
    if ($menu_id == 0) {
        return array();
    }
    $shiftnav_menu_data = array();
    $menu_items = wp_get_nav_menu_items($menu_id, array('post_status' => 'any'));
    foreach ($menu_items as $item) {
        $_item_settings = shiftnav_get_menu_item_data($item->ID);
        if ($_item_settings != '') {
            $shiftnav_menu_data[$item->ID] = $_item_settings;
        }
    }
    //shiftp( $shiftnav_menu_data );
    return $shiftnav_menu_data;
}
Пример #2
0
 /**
  * Traverse elements to create list from elements.
  *
  * Calls parent function in UberMenuWalker.class.php
  */
 function display_element($element, &$children_elements, $max_depth, $depth = 0, $args, &$output)
 {
     if (!$element) {
         return;
     }
     $id_field = $this->db_fields['id'];
     $id = $element->{$id_field};
     $data = shiftnav_get_menu_item_data($id);
     //If the item is disabled, kill its children, Lannister-style
     if (isset($data['disable_item']) && $data['disable_item'] == 'on') {
         $this->clear_children($children_elements, $id);
         return;
     }
     //UberMenu Conditionals
     if (shiftnav_op('inherit_ubermenu_conditionals', 'general') == 'on') {
         if (function_exists('ubermenu')) {
             $has_children = !empty($children_elements[$element->{$id_field}]);
             if (isset($args[0]) && is_array($args[0])) {
                 $args[0]['has_children'] = $has_children;
             }
             $cb_args = array_merge(array(&$output, $element, $depth), $args);
             $umitem_obect_class = apply_filters('ubermenu_item_object_class', 'UberMenuItemDefault', $element, $id, $this->auto_child);
             $umitem = new $umitem_obect_class($output, $element, $depth, $cb_args[3], $id, $this, $has_children);
             //The $args that get passed to start_el are $cb[3] -- i.e. the 4the element in the array merged above
             $display_on = apply_filters('ubermenu_display_item', true, $this, $element, $max_depth, $depth, $args, $umitem);
         } else {
             $display_on = apply_filters('uberMenu_display_item', true, $this, $element, $max_depth, $depth, $args);
         }
         if (!$display_on) {
             $this->clear_children($children_elements, $id);
             return;
         }
     }
     Walker_Nav_Menu::display_element($element, $children_elements, $max_depth, $depth, $args, $output);
 }