defaults = array( 'title' => esc_html__( 'Latest Articles', 'blogz' ), 'title_length' => 6, 'number' => 4, 'type' => 'latest', 'category' => -1, ); parent::__construct( 'gt-addons-recent-posts', esc_html__( 'Gt Addons: Recent Posts', 'blogz' ), array( 'classname' => 'gt-addons_recent_posts', 'description' => 'A widget that displays your recent posts from all categories or a category', ) ); } /** * Widget form. * * @param array $instance Widget instance. * * @return void */ public function form( $instance ) { $instance = wp_parse_args( (array) $instance, $this->defaults ); $title = $instance['title']; $title_length = $instance['title_length']; $number = $instance['number']; $type = $instance['type']; $category = $instance['category']; ?>

id="get_field_id( 'type' ) ); ?>" name="get_field_name( 'type' ) ); ?>" value="latest"/>
id="get_field_id( 'type' ) ); ?>" name="get_field_name( 'type' ) ); ?>" value="category"/>

' ', 'name' => $this->get_field_name( 'category' ), 'selected' => $category, ) ); ?>

defaults ); $title = $instance['title']; $title_length = $instance['title_length']; $number = $instance['number']; $type = $instance['type']; $category = $instance['category']; $query_args = array( 'posts_per_page' => $number, 'post_type' => 'post', 'ignore_sticky_posts' => true, ); if ( 'category' === $type ) { $query_args['category__in'] = $category; } $query = new WP_Query( $query_args ); echo wp_kses_post( $args['before_widget'] ); if ( $title ) { echo wp_kses_post( $args['before_title'] ), $title , $args['after_title']; // WPCS: XSS OK. } while ( $query->have_posts() ) : $query->the_post(); ?>
>