__( 'A widget To Display Featured Page', 'blogger' ) ) ); } /** * Helper function that holds widget fields * Array is used in update and form functions */ private function widget_fields() { $fields = array( 'feat_page_title' => array( 'blogger_widgets_name' => 'feat_page_title', 'blogger_widgets_title' => __('Page Title','blogger'), 'blogger_widgets_field_type' => 'text', 'blogger_widgets_description' => __('Displays the Page Title if left empty','blogger'), ), 'feat_page_id' => array( 'blogger_widgets_name' => 'feat_page_id', 'blogger_widgets_title' => __('Feature Page','blogger'), 'blogger_widgets_field_type' => 'selectpage' ), 'feat_page_autograph' => array( 'blogger_widgets_name' => 'feat_page_autograph', 'blogger_widgets_title' => __('Autograph Image','blogger'), 'blogger_widgets_field_type' => 'upload' ), 'facebook_link' => array( 'blogger_widgets_name' => 'facebook_link', 'blogger_widgets_title' => __('Facebook Link','blogger'), 'blogger_widgets_field_type' => 'text', ), 'twitter_link' => array( 'blogger_widgets_name' => 'twitter_link', 'blogger_widgets_title' => __('Twitter Link','blogger'), 'blogger_widgets_field_type' => 'text', ), 'youtube_link' => array( 'blogger_widgets_name' => 'youtube_link', 'blogger_widgets_title' => __('Youtube Link','blogger'), 'blogger_widgets_field_type' => 'text', ), 'pinterest_link' => array( 'blogger_widgets_name' => 'pinterest_link', 'blogger_widgets_title' => __('Pinterest Link','blogger'), 'blogger_widgets_field_type' => 'text', ), 'instagram_link' => array( 'blogger_widgets_name' => 'instagram_link', 'blogger_widgets_title' => __('Instagram Link','blogger'), 'blogger_widgets_field_type' => 'text', ), 'linkedin_link' => array( 'blogger_widgets_name' => 'linkedin_link', 'blogger_widgets_title' => __('linkedin Link','blogger'), 'blogger_widgets_field_type' => 'text', ), 'googleplus_link' => array( 'blogger_widgets_name' => 'googleplus_link', 'blogger_widgets_title' => __('GooglePlus Link','blogger'), 'blogger_widgets_field_type' => 'text', ), 'flickr_link' => array( 'blogger_widgets_name' => 'flickr_link', 'blogger_widgets_title' => __('Flickr Link','blogger'), 'blogger_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); if($instance!=null){ $feat_page_id = $instance['feat_page_id']; $autograph = $instance['feat_page_autograph']; if($feat_page_id){ $feat_page_query = new WP_Query('page_id='.$feat_page_id); $feat_page_title = empty($instance['feat_page_title']) ? false : $instance['feat_page_title']; $facebook = $instance['facebook_link']; $twitter = $instance['twitter_link']; $youtube = $instance['youtube_link']; $pinterest = $instance['pinterest_link']; $instagram = $instance['instagram_link']; $linkedin = $instance['linkedin_link']; $googleplus = $instance['googleplus_link']; $flickr = $instance['flickr_link']; echo $before_widget; ?> have_posts()) : ?> have_posts()) : $feat_page_query->the_post(); ?>
widget_fields(); // Loop through fields foreach( $widget_fields as $widget_field ) { extract( $widget_field ); // Use helper function to get updated field values $instance[$blogger_widgets_name] = blogger_widgets_updated_field_value( $widget_field, $new_instance[$blogger_widgets_name] ); echo $instance[$blogger_widgets_name]; } return $instance; } /** * Back-end widget form. * * @see WP_Widget::form() * * @param array $instance Previously saved values from database. * * @uses accesspress_pro_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 ); $blogger_widgets_field_value = isset( $instance[$blogger_widgets_name] ) ? esc_attr( $instance[$blogger_widgets_name] ) : ''; blogger_widgets_show_widget_field( $this, $widget_field, $blogger_widgets_field_value ); } } }