__('A widget that shows Pricing Table', 'gaga-lite') ) ); } /** * Helper function that holds widget fields * Array is used in update and form functions */ private function widget_fields() { $fields = array( // This widget has no title // Other fields 'pricing_plan' => array( 'gaga_lite_widgets_name' => 'pricing_plan', 'gaga_lite_widgets_title' => __('Price', 'gaga-lite'), 'gaga_lite_widgets_field_type' => 'text', ), 'pricing_plan_sub_text' => array( 'gaga_lite_widgets_name' => 'pricing_plan_sub_text', 'gaga_lite_widgets_title' => __('Status', 'gaga-lite'), 'gaga_lite_widgets_field_type' => 'text', ), 'pricing_feature1' => array( 'gaga_lite_widgets_name' => 'pricing_feature1', 'gaga_lite_widgets_title' => __('Feature 1', 'gaga-lite'), 'gaga_lite_widgets_field_type' => 'text', ), 'pricing_feature2' => array( 'gaga_lite_widgets_name' => 'pricing_feature2', 'gaga_lite_widgets_title' => __('Feature 2', 'gaga-lite'), 'gaga_lite_widgets_field_type' => 'text', ), 'pricing_feature3' => array( 'gaga_lite_widgets_name' => 'pricing_feature3', 'gaga_lite_widgets_title' => __('Feature 3', 'gaga-lite'), 'gaga_lite_widgets_field_type' => 'text', ), 'pricing_feature4' => array( 'gaga_lite_widgets_name' => 'pricing_feature4', 'gaga_lite_widgets_title' => __('Feature 4', 'gaga-lite'), 'gaga_lite_widgets_field_type' => 'text', ), 'pricing_feature5' => array( 'gaga_lite_widgets_name' => 'pricing_feature5', 'gaga_lite_widgets_title' => __('Feature 5', 'gaga-lite'), 'gaga_lite_widgets_field_type' => 'text', ), 'pricing_feature6' => array( 'gaga_lite_widgets_name' => 'pricing_feature6', 'gaga_lite_widgets_title' => __('Feature 6', 'gaga-lite'), 'gaga_lite_widgets_field_type' => 'text', ), 'pricing_feature7' => array( 'gaga_lite_widgets_name' => 'pricing_feature7', 'gaga_lite_widgets_title' => __('Feature 7', 'gaga-lite'), 'gaga_lite_widgets_field_type' => 'text', ), 'pricing_feature8' => array( 'gaga_lite_widgets_name' => 'pricing_feature8', 'gaga_lite_widgets_title' => __('Feature 8', 'gaga-lite'), 'gaga_lite_widgets_field_type' => 'text', ), 'button_text' => array( 'gaga_lite_widgets_name' => 'button_text', 'gaga_lite_widgets_title' => __('Button Text', 'gaga-lite'), 'gaga_lite_widgets_field_type' => 'text', ), 'button_link' => array( 'gaga_lite_widgets_name' => 'button_link', 'gaga_lite_widgets_title' => __('Button Link', 'gaga-lite'), 'gaga_lite_widgets_field_type' => 'text', ), ); return $fields; } /** * 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) { extract($args); $pricing_plan = $instance['pricing_plan']; $pricing_plan_sub_text = $instance['pricing_plan_sub_text']; $pricing_feature1 = $instance['pricing_feature1']; $pricing_feature2 = $instance['pricing_feature2']; $pricing_feature3 = $instance['pricing_feature3']; $pricing_feature4 = $instance['pricing_feature4']; $pricing_feature5 = $instance['pricing_feature5']; $pricing_feature6 = $instance['pricing_feature6']; $pricing_feature7 = $instance['pricing_feature7']; $pricing_feature8 = $instance['pricing_feature8']; $button_text = $instance['button_text']; $button_link = $instance['button_link']; echo $before_widget; ?>
/m
widget_fields(); // Loop through fields foreach ($widget_fields as $widget_field) { extract($widget_field); // Use helper function to get updated field values $instance[$gaga_lite_widgets_name] = gaga_lite_widgets_updated_field_value($widget_field, $new_instance[$gaga_lite_widgets_name]); } return $instance; } /** * Back-end widget form. * * @see WP_Widget::form() * * @param array $instance Previously saved values from database. * * @uses gaga_lite_widgets_show_widget_field() defined in widget-fields.php */ public function form($instance) { $widget_fields = $this->widget_fields(); // Loop through fields foreach ($widget_fields as $widget_field) { // Make array elements available as variables extract($widget_field); $gaga_lite_widgets_field_value = !empty($instance[$gaga_lite_widgets_name]) ? esc_attr($instance[$gaga_lite_widgets_name]) : ''; gaga_lite_widgets_show_widget_field($this, $widget_field, $gaga_lite_widgets_field_value); } } }