function widget($args, $instance) { extract($args); $page_id = !empty($instance['page_id']) ? $instance['page_id'] : NULL; echo $before_widget; if ($instance['title']) { echo $before_title . $instance['title'] . $after_title; } if (!$page_id) { echo '<!-- Page not set in widget. Defaulting to current page / post -->'; global $post; $page_id = $post->ID; } $wpim_categories = new WPIMCategory(); $categories = $wpim_categories->get_all(array('order' => $instance['sort_order'])); $list = $instance['display_as'] != 'list' ? FALSE : TRUE; echo $list ? '<ol>' : '<select name="inventory_category_list" onchange="if (this.value) window.location.href=this.value"><option value="">' . WPIMCore::__('Choose Category...') . '</option>'; foreach ($categories as $category) { $category_link = $wpim_categories->get_category_permalink($page_id, $category->category_id, $category->category_name); if ($list) { echo '<li class="category_' . $category->category_id . ' category_' . $wpim_categories->get_class($category->category_name) . '">'; echo '<a href="' . $category_link . '">' . $category->category_name . '</a>'; echo '</li>'; } else { echo '<option value="' . $category_link . '">' . $category->category_name . '</option>'; } } echo $list ? '</ol>' : '</select>'; echo $after_widget; }