'agency_ecommerce_widget_advance_posts', 'description' => esc_html__('Widget to dispaly posts with thumbnail.', 'agency-ecommerce'), ); parent::__construct('agency-ecommerce-advance-posts', esc_html__('AE - Advance Posts', 'agency-ecommerce'), $opts); } function widget_fields() { $fields = array( 'title' => array( 'name' => 'title', 'title' => esc_html__('Title', 'agency-ecommerce'), 'type' => 'text', 'default' => esc_html__('Advance Posts', 'agency-ecommerce'), ), 'post_category' => array( 'name' => 'post_category', 'title' => esc_html__('Post Category', 'agency-ecommerce'), 'type' => 'dropdown_categories', 'args' => array( 'taxonomy' => 'category', 'hide_empty' => true, 'orderby' => 'name', ) ), 'exclude_categories' => array( 'name' => 'exclude_categories', 'title' => esc_html__('Exclude Categories', 'agency-ecommerce'), 'description' => 'Enter category id seperated with comma. Posts from these categories will be excluded from latest post listing.', 'type' => 'text', 'default' => __('View Details', 'agency-ecommerce') ), 'excerpt_length' => array( 'name' => 'excerpt_length', 'title' => esc_html__('Excerpt Length', 'agency-ecommerce'), 'type' => 'number', 'default' => 15, ), 'disable_date' => array( 'name' => 'disable_date', 'title' => esc_html__('Disable Date', 'agency-ecommerce'), 'type' => 'checkbox', ) ); return $fields; } function widget($args, $instance) { $valid_widget_instance = Agency_Ecommerce_Widget_Validation::instance()->validate($instance, $this->widget_fields()); $title = apply_filters('widget_title', empty($valid_widget_instance['title']) ? '' : $valid_widget_instance['title'], $valid_widget_instance, $this->id_base); echo $args['before_widget']; $is_carousel_init = false; $class = 'advance-posts-widget ae-advance-posts-section'; if ($is_carousel_init) { $class .= ' ae-slick-init'; } ?>