esc_html__('Displays author information.', 'bloggerpress')) ); $this->social_networks = apply_filters( 'bloggerpress_author_widget_social_networks', array( 'facebook', 'twitter', 'linkedin', 'instagram', 'pinterest', 'youtube', 'threads', 'tiktok', 'twitch', 'vk', 'whatsapp', 'amazon', 'codepen', 'dropbox', 'flickr', 'vimeo', 'spotify', 'github', 'reddit', 'skype', 'soundcloud', ) ); } /** * Outputs the content for the current widget instance. */ public function widget($args, $instance) { echo $args['before_widget']; echo '
'; // Closing wpmotif-author-widget echo $args['after_widget']; } /** * Display social links. */ private function display_social_links($instance) { $social_networks = $this->social_networks; if (empty($social_networks) || !is_array($social_networks)) { return; } $social_links = ''; foreach ($social_networks as $network) { if (!empty($instance[$network])) { $svg = BloggerPress_SVG_Icons::get_social_link_svg($instance[$network]); if ($svg) { $social_links .= sprintf( ''; echo '
'; break; case 'author_img': ?>
'; echo '
'; break; default: echo ''; echo '
'; break; } } /** * Render social network fields in the form. */ private function render_social_network_fields($instance) { foreach ($this->social_networks as $network) { $value = !empty($instance[$network]) ? $instance[$network] : ''; ?>esc_html__('Has Brand Background', 'bloggerpress'), 'has-default-color' => esc_html__('Theme Color', 'bloggerpress'), 'has-brand-color' => esc_html__('Has Brand Color', 'bloggerpress'), ); default: return array(); } } /** * Sanitize widget form values as they are saved. */ public function update($new_instance, $old_instance) { $instance = array(); $fields = array( 'title', 'author_name', 'author_pos', 'author_desc', 'author_img', ); foreach ($fields as $field) { $instance[$field] = !empty($new_instance[$field]) ? strip_tags($new_instance[$field]) : ''; } foreach ($this->social_networks as $network) { $instance[$network] = !empty($new_instance[$network]) ? esc_url_raw($new_instance[$network]) : ''; } return $instance; } }