__( 'A widget To Display Feature Posts', 'aglee-lite' ) ) ); } /** * Helper function that holds widget fields * Array is used in update and form functions */ private function widget_fields() { $fields = array( 'feature_post_1' => array( 'aglee_widgets_name' => 'feature_post_1', 'aglee_widgets_title' => __('Page','aglee-lite'), 'aglee_widgets_field_type' => 'selectpage' ), 'feature_post_2' => array( 'aglee_widgets_name' => 'feature_post_2', 'aglee_widgets_title' => __('Page','aglee-lite'), 'aglee_widgets_field_type' => 'selectpage' ), 'feature_post_3' => array( 'aglee_widgets_name' => 'feature_post_3', 'aglee_widgets_title' => __('Page','aglee-lite'), 'aglee_widgets_field_type' => 'selectpage' ) ); 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 ) { //print_r($args); extract( $args ); global $aglee_options; //$aglee_settings = get_option('aglee_options',$aglee_options); $features_readmore_text = get_theme_mod('home_page_translation'); $feature_posts = array_values($instance); if(!empty($feature_posts)) : echo $before_widget; $args = array( 'posts_per_page' => -1, 'post_type' => array('page'), 'post__in' => $feature_posts, 'orderby' => 'post__in' ); $feat_query = new WP_Query($args); $count = 1; if($feat_query->have_posts()) : ?>
widget_fields(); // Loop through fields foreach( $widget_fields as $widget_field ) { extract( $widget_field ); // Use helper function to get updated field values $instance[$aglee_widgets_name] = aglee_lite_widgets_updated_field_value( $widget_field, $new_instance[$aglee_widgets_name] ); echo $instance[$aglee_widgets_name]; } return $instance; } /** * Back-end widget form. * * @see WP_Widget::form() * * @param array $instance Previously saved values from database. * * @uses aglee_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 ); $aglee_widgets_field_value = isset( $instance[$aglee_widgets_name] ) ? esc_attr( $instance[$aglee_widgets_name] ) : ''; aglee_lite_widgets_show_widget_field( $this, $widget_field, $aglee_widgets_field_value ); } } }