__( 'A widget To Display Featured Page', 'accesspress-basic' ) ) ); } /** * Helper function that holds widget fields * Array is used in update and form functions */ private function widget_fields() { $fields = array( 'feat_page_title' => array( 'apbasic_widgets_name' => 'feat_page_title', 'apbasic_widgets_title' => __('Page Title','accesspress-basic'), 'apbasic_widgets_field_type' => 'text', 'apbasic_widgets_description' => __('Displays the Page Title if left empty','accesspress-basic'), ), 'feat_page_id' => array( 'apbasic_widgets_name' => 'feat_page_id', 'apbasic_widgets_title' => __('Feature Page','accesspress-basic'), 'apbasic_widgets_field_type' => 'selectpage' ), 'feat_readmore_text' => array( 'apbasic_widgets_name' => 'feat_readmore_text', 'apbasic_widgets_title' => __('Read More Text','accesspress-basic'), 'apbasic_widgets_field_type' => 'text' ), 'feat_readmore_link' => array( 'apbasic_widgets_name' => 'feat_readmore_link', 'apbasic_widgets_title' => __('Read More Link','accesspress-basic'), 'apbasic_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); $feat_page_id = empty($instance['feat_page_id']) ? false : $instance['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']; $feat_readmore_text = empty($instance['feat_readmore_text']) ? false : $instance['feat_readmore_text']; $feat_readmore_link = empty($instance['feat_readmore_link']) ? false : $instance['feat_readmore_link']; echo wp_kses_post($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[$apbasic_widgets_name] = accesspress_basic_widgets_updated_field_value( $widget_field, $new_instance[$apbasic_widgets_name] ); echo esc_html($instance[$apbasic_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 ); $apbasic_widgets_field_value = isset( $instance[$apbasic_widgets_name] ) ? esc_attr( $instance[$apbasic_widgets_name] ) : ''; accesspress_basic_widgets_show_widget_field( $this, $widget_field, $apbasic_widgets_field_value ); } } }