esc_html__( 'Filters for WooCommerce products.', 'annasta-filters' ) ); parent::__construct( 'awf_widget', __( 'annasta Filters', 'annasta-filters' ), $settings ); add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) ); } /** * Output widget. * * @see WP_Widget * * @param array $args Arguments. * @param array $instance Widget instance. */ public function widget( $args, $instance ) { A_W_F::$front->display_widget( $instance['preset_id'], $args ); } /** * Back-end widget settings form. * * @see WP_Widget::form() * * @param array $instance Previously saved values from database. */ public function form( $instance ) { $presets = $this->get_presets(); $preset_id = isset( $instance['preset_id'] ) && isset( $presets[intval( $instance['preset_id'] )] ) ? $instance['preset_id'] : 'none'; ?>

'' ); $presets = $this->get_presets(); $new_preset = (int) $new_instance['preset_id']; if( isset( $presets[$new_preset] ) ) { $instance['preset_id'] = (string) $new_preset; } else { $instance['preset_id'] = 'none'; } return $instance; } private function get_presets() { $awf_presets['none'] = esc_attr__( 'Select preset for this widget', 'annasta-filters' ); foreach( A_W_F::$presets as $preset_id => $preset_data ) { $awf_presets[$preset_id] = esc_html__( get_option( 'awf_preset_' . $preset_id . '_name', '' ) ); } return $awf_presets; } public function enqueue_admin_scripts( $hook ) { wp_enqueue_style( 'awf-widget', A_W_F_PLUGIN_URL . '/styles/awf-widget.css', false, A_W_F::$plugin_version ); } } } ?>