Or, embed this snippet using GenerateWP WordPress Plugin.

Download

Clone

Simple Widget

class dgs_events_widget extends WP_Widget {

	public function __construct() {

		parent::__construct(
			'dgsevent',
			__( 'Simple Event Listing', 'text_domain' ),
			array(
				'classname'   => 'simple-event-list',
			)
		);

	}

	public function widget( $args, $instance ) {

		echo 'hello world!';

	}

	public function form( $instance ) {

		// Set default values
		$instance = wp_parse_args( (array) $instance, array( 
			'dgs_simpleeventlisting' => '',
		) );

		// Retrieve an existing value from the database
		$dgs_simpleeventlisting = !empty( $instance['dgs_simpleeventlisting'] ) ? $instance['dgs_simpleeventlisting'] : '';

		// Form fields
		echo '<p>';
		echo '	<label for="' . $this->get_field_id( 'dgs_simpleeventlisting' ) . '" class="dgs_simpleeventlisting_label">' . __( 'How many events to list?', 'text_domain' ) . '</label>';
		echo '	<select id="' . $this->get_field_id( 'dgs_simpleeventlisting' ) . '" name="' . $this->get_field_name( 'dgs_simpleeventlisting' ) . '" class="widefat">';
		echo '		<option value="event1" ' . selected( $dgs_simpleeventlisting, 'event1', false ) . '> ' . __( '1', 'text_domain' ) . '</option>';
		echo '		<option value="event2" ' . selected( $dgs_simpleeventlisting, 'event2', false ) . '> ' . __( '2', 'text_domain' ) . '</option>';
		echo '		<option value="event3" ' . selected( $dgs_simpleeventlisting, 'event3', false ) . '> ' . __( '3', 'text_domain' ) . '</option>';
		echo '		<option value="event4" ' . selected( $dgs_simpleeventlisting, 'event4', false ) . '> ' . __( '4', 'text_domain' ) . '</option>';
		echo '		<option value="event5" ' . selected( $dgs_simpleeventlisting, 'event5', false ) . '> ' . __( '5', 'text_domain' ) . '</option>';
		echo '		<option value="event6" ' . selected( $dgs_simpleeventlisting, 'event6', false ) . '> ' . __( '6', 'text_domain' ) . '</option>';
		echo '		<option value="event7" ' . selected( $dgs_simpleeventlisting, 'event7', false ) . '> ' . __( '7', 'text_domain' ) . '</option>';
		echo '		<option value="event8" ' . selected( $dgs_simpleeventlisting, 'event8', false ) . '> ' . __( '8', 'text_domain' ) . '</option>';
		echo '		<option value="event9" ' . selected( $dgs_simpleeventlisting, 'event9', false ) . '> ' . __( '9', 'text_domain' ) . '</option>';
		echo '		<option value="event10" ' . selected( $dgs_simpleeventlisting, 'event10', false ) . '> ' . __( '10', 'text_domain' ) . '</option>';
		echo '	</select>';
		echo '</p>';

	}

	public function update( $new_instance, $old_instance ) {

		$instance = $old_instance;

		$instance['dgs_simpleeventlisting'] = !empty( $new_instance['dgs_simpleeventlisting'] ) ? strip_tags( $new_instance['dgs_simpleeventlisting'] ) : '';

		return $instance;

	}

}

function dgs_register_widgets() {
	register_widget( 'dgs_events_widget' );
}
add_action( 'widgets_init', 'dgs_register_widgets' );