esc_html__( 'Add about me section', 'aari' ) ) // Args ); add_action( 'admin_footer', array( $this, 'media_fields' ) ); add_action( 'customize_controls_print_footer_scripts', array( $this, 'media_fields' ) ); } private $widget_fields = array( array( 'id' => 'imageupload_media', 'type' => 'media', ), array( 'id' => 'description_textarea', 'type' => 'textarea', ), ); public function widget( $args, $instance ) { echo wp_kses_post( $args['before_widget'] ); if ( ! empty( $instance['title'] ) ) { echo wp_kses_post( $args['before_title'] . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $args['after_title'] ); } $author_image = wp_get_attachment_image_src( $instance['imageupload_media'], 'thumbnail' ); // Output generated fields echo '
'; if ( $author_image[0] ) { echo '' . esc_attr__( 'About Me', 'aari' ) . ''; } echo '

' . esc_html( $instance['description_textarea'] ) . '

'; echo '
'; echo wp_kses_post( $args['after_widget'] ); } public function media_fields() { ?> widget_fields as $widget_field ) { $default = ''; if ( isset( $widget_field['default'] ) ) { $default = $widget_field['default']; } $widget_value = ! empty( $instance[ $widget_field['id'] ] ) ? $instance[ $widget_field['id'] ] : $default; switch ( $widget_field['type'] ) { case 'media': $media_url = ''; if ( $widget_value ) { $media_url = wp_get_attachment_url( $widget_value ); } $output .= '

'; $output .= ' '; $output .= ''; $output .= ''; $output .= ''; $output .= ''; $output .= '

'; break; case 'textarea': $output .= '

'; $output .= ' '; $output .= ''; $output .= '

'; break; default: $output .= '

'; $output .= ' '; $output .= ''; $output .= '

'; } } echo $output; } public function form( $instance ) { $title = ! empty( $instance['title'] ) ? $instance['title'] : esc_html__( 'About Me', 'aari' ); ?>

field_generator( $instance ); } public function update( $new_instance, $old_instance ) { $instance = array(); $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? sanitize_text_field( $new_instance['title'] ) : ''; foreach ( $this->widget_fields as $widget_field ) { switch ( $widget_field['type'] ) { default: $instance[ $widget_field['id'] ] = ( ! empty( $new_instance[ $widget_field['id'] ] ) ) ? sanitize_text_field( $new_instance[ $widget_field['id'] ] ) : ''; } } return $instance; } } function aari_aboutme_widget_register() { register_widget( 'Aari_Aboutme_Widget' ); } add_action( 'widgets_init', 'aari_aboutme_widget_register' );