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; } $number = (int) $instance['number']; $number = max(1, min(10, $number)); $args = array('category_id' => $instance['category_id'], 'page_size' => $number, 'order' => 'inventory_date_added DESC'); $custom_loop = new WPIMLoop(); $custom_loop->set_single(TRUE); $custom_loop->load_items($args); wpinventory_set_loop($custom_loop); wpinventory_get_template_part('widget-latest-items-loop'); echo $after_widget; }