'sophia_after_dark_author_info', 'description' => __( 'Select the user to display the author info.', 'sophia-after-dark' ), 'customize_selective_refresh' => true, ); parent::__construct( 'sophia_after_dark_author_info', __( 'MT: Author Info', 'sophia-after-dark' ), $widget_ops ); } /** * Helper function that holds widget fields * Array is used in update and form functions */ private function widget_fields() { $fields = array( 'widget_title' => array( 'sophia_after_dark_widgets_name' => 'widget_title', 'sophia_after_dark_widgets_title' => __( 'Widget title', 'sophia-after-dark' ), 'sophia_after_dark_widgets_field_type' => 'text' ), 'user_name' => array( 'sophia_after_dark_widgets_name' => 'user_name', 'sophia_after_dark_widgets_title' => __( 'User Name', 'sophia-after-dark' ), 'sophia_after_dark_widgets_field_type' => 'text' ), 'user_id' => array( 'sophia_after_dark_widgets_name' => 'user_id', 'sophia_after_dark_widgets_title' => __( 'Select Author', 'sophia-after-dark' ), 'sophia_after_dark_widgets_default' => '', 'sophia_after_dark_widgets_field_type' => 'user_dropdown' ), 'user_thumb' => array( 'sophia_after_dark_widgets_name' => 'user_thumb', 'sophia_after_dark_widgets_title' => __( 'Author Image', 'sophia-after-dark' ), 'sophia_after_dark_widgets_field_type' => 'upload' ), ); 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 ); if ( empty( $instance ) ) { return ; } $sophia_after_dark_widget_title = empty( $instance['widget_title'] ) ? '' : $instance['widget_title']; $sophia_after_dark_user_name = empty( $instance['user_name'] ) ? '' : $instance['user_name']; $sophia_after_dark_user_id = empty( $instance['user_id'] ) ? '' : $instance['user_id']; $sophia_after_dark_user_image = empty( $instance['user_thumb'] ) ? '' : $instance['user_thumb']; echo $before_widget; ?>
widget_fields(); // Loop through fields foreach ( $widget_fields as $widget_field ) { extract( $widget_field ); // Use helper function to get updated field values $instance[$sophia_after_dark_widgets_name] = sophia_after_dark_widgets_updated_field_value( $widget_field, $new_instance[$sophia_after_dark_widgets_name] ); } return $instance; } /** * Back-end widget form. * * @see WP_Widget::form() * * @param array $instance Previously saved values from database. * * @uses sophia_after_dark_widgets_show_widget_field() defined in sad-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 ); $sophia_after_dark_widgets_field_value = !empty( $instance[$sophia_after_dark_widgets_name] ) ? wp_kses_post( $instance[$sophia_after_dark_widgets_name] ) : ''; sophia_after_dark_widgets_show_widget_field( $this, $widget_field, $sophia_after_dark_widgets_field_value ); } } }