'widget-beginner-random widget_posts_thumbnail', 'description' => __( 'Display random posts with thumbnails.', 'beginner' ) ); // Create the widget. parent::__construct( 'beginner-random', // $this->id_base __( '» Random Posts Thumbnails', 'beginner' ), // $this->name $widget_options // $this->widget_options ); } /** * Outputs the widget based on the arguments input through the widget controls. * * @since 1.0.0 */ function widget( $args, $instance ) { extract( $args ); // Output the theme's $before_widget wrapper. echo $before_widget; // If the title not empty, display it. if ( $instance['title'] ) { echo $before_title . apply_filters( 'widget_title', $instance['title'], $instance, $this->id_base ) . $after_title; } // Posts query arguments. $args = array( 'post_type' => 'post', 'posts_per_page' => $instance['limit'], 'orderby' => 'rand' ); // The post query $random = new WP_Query( $args ); global $post; if ( $random->have_posts() ) { echo ''; } // Reset the query. wp_reset_postdata(); // Close the theme's widget wrapper. echo $after_widget; } /** * Updates the widget control options for the particular instance of the widget. * * @since 1.0.0 */ function update( $new_instance, $old_instance ) { $instance = $new_instance; $instance['title'] = strip_tags( $new_instance['title'] ); $instance['limit'] = (int) $new_instance['limit']; $instance['show_date'] = isset( $new_instance['show_date'] ) ? (bool) $new_instance['show_date'] : false; return $instance; } /** * Displays the widget control options in the Widgets admin screen. * * @since 1.0.0 */ function form( $instance ) { // Default value. $defaults = array( 'title' => esc_html__( 'Random Posts', 'beginner' ), 'limit' => 5, 'show_date' => false ); $instance = wp_parse_args( (array) $instance, $defaults ); ?>

id="get_field_id( 'show_date' ); ?>" name="get_field_name( 'show_date' ); ?>" />