text_fields = array('storecommerce-product-slider-title', 'storecommerce-product-slider-subtitle', 'storecommerce-product-slider-title-note', 'storecommerce-number-of-items'); $this->select_fields = array('storecommerce-select-category'); $widget_ops = array( 'classname' => 'storecommerce_product_carousel_widget grid-layout', 'description' => __('Displays products carousel from selected category.', 'storecommerce'), 'customize_selective_refresh' => true, ); parent::__construct('storecommerce_product_carousel', __('AFTSC Product Carousel', 'storecommerce'), $widget_ops); } /** * Front-end display of widget. * * @see WP_Widget::widget() * * @param array $args Widget arguments. * @param array $instance Saved values from database. */ public function widget($args, $instance) { $instance = parent::storecommerce_sanitize_data($instance, $instance); /** This filter is documented in wp-includes/default-widgets.php */ $title = apply_filters('widget_title', $instance['storecommerce-product-slider-title'], $instance, $this->id_base); $subtitle = isset($instance['storecommerce-product-slider-subtitle']) ? $instance['storecommerce-product-slider-subtitle'] : ''; $category = isset($instance['storecommerce-select-category']) ? $instance['storecommerce-select-category'] : '0'; // open the widget container echo $args['before_widget']; ?>

form_instance = $instance; $categories = storecommerce_get_terms('product_cat'); if (isset($categories) && !empty($categories)) { // generate the text input for the title of the widget. Note that the first parameter matches text_fields array entry echo parent::storecommerce_generate_text_input('storecommerce-product-slider-title', 'Title', 'Product Carousel'); echo parent::storecommerce_generate_text_input('storecommerce-product-slider-subtitle', 'Subtitle', 'Product Carousel Subtitle'); echo parent::storecommerce_generate_select_options('storecommerce-select-category', __('Select category', 'storecommerce'), $categories); } } } endif;