AFFILIATE_PROMOTIONS_PREFIX.'latest_promotions_widget', 'description' => esc_html__( 'Affiliate promotions widget', AFFILIATE_PROMOTIONS_PLUG ), ); parent::__construct( AFFILIATE_PROMOTIONS_PREFIX.'latest_promotions' , esc_html__( 'Aff-Promos: Latest Promotions', AFFILIATE_PROMOTIONS_PLUG ), $opts ); $this->include_third_parties(); } function include_third_parties(){ if (!wp_style_is(AFFILIATE_PROMOTIONS_PREFIX.'latest_promotions_widget','queue')) wp_enqueue_style( AFFILIATE_PROMOTIONS_PREFIX.'latest_promotions_widget', plugins_url('public/assets/css/affpromos_latest_promotions_widget.css',dirname(dirname(__FILE__)) )); } function widget( $args, $instance ) { $title = apply_filters( 'widget_title', empty( $instance['title'] ) ? '' : $instance['title'], $instance, $this->id_base ); $promotion_category = ! empty( $instance['promotion_category'] ) ? $instance['promotion_category'] : 0; $promotion_vendor = ! empty( $instance['promotion_vendor'] ) ? $instance['promotion_vendor'] : ''; $promotion_count = ! empty( $instance['promotion_count'] ) ? $instance['promotion_count'] : 8; $promotion_per_row = ! empty( $instance['promotion_per_row'] ) ? $instance['promotion_per_row'] : 4; if ( !in_array( $promotion_per_row, array(3,4)) ){ $promotion_per_row = 4; } echo $args['before_widget']; ?>
'', 'promotion_category' => '', 'promotion_vendor' => '', 'promotion_count' => 8, 'promotion_per_row' => 4, ) ); ?>
'name', 'hide_empty' => 0, 'class' => 'widefat', 'taxonomy' => AFFILIATE_PROMOTIONS_PREFIX.'category', 'name' => $this->get_field_name( 'promotion_category' ), 'id' => $this->get_field_id( 'promotion_category' ), 'selected' => absint( $instance['promotion_category'] ), 'show_option_all' => esc_html__( 'All Categories',AFFILIATE_PROMOTIONS_PLUG ), ); wp_dropdown_categories( $cat_args ); ?>
dropdown_promotion_vendor( array( 'id' => $this->get_field_id( 'promotion_vendor' ), 'name' => $this->get_field_name( 'promotion_vendor' ), 'selected' => $instance['promotion_vendor'] , ) ); ?>
get_field_name( 'promotion_per_row' ) ) . "' id='" . esc_attr( $this->get_field_id( 'promotion_per_row' ) ) . "' class='widefat'>\n"; $choices = array(3,4); foreach ( $choices as $choice ) { $output .= '
AFFILIATE_PROMOTIONS_PREFIX.'vendor', 'post_status' => 'publish', 'numberposts' => -1, 'order' => 'ASC', 'orderby' => 'title' ]); $args['_func_map'] = function ($vendor){ return (object) array( 'value' => $vendor->ID, 'text' => ucfirst($vendor->post_title), ); }; $args['placeholder'] = __('Select Vendors',AFFILIATE_PROMOTIONS_PLUG); affpromos_dropdown_multi_select_render($args,$vendors); } } endif;