title: How to create a custom WordPress widget with widget options
body: <p>Trying to figure out the proper way of creating a very simple (reusable) WordPress Widget. Found this article by wpbeginner that seems to be the most comprehensive: <a href="http://goo.gl/7O8Izg" rel="nofollow">http://goo.gl/7O8Izg</a></p>
  
  <pre><code>// Creating the widget 
  class wpb_widget extends WP_Widget {
  
  function __construct() {
  parent::__construct(
  // Base ID of your widget
  'wpb_widget', 
  
  // Widget name will appear in UI
  __('WPBeginner Widget', 'wpb_widget_domain'), 
  
  // Widget description
  array( 'description' =&gt; __( 'Sample widget based on WPBeginner Tutorial', 'wpb_widget_domain' ), ) 
  );
  }
  
  // Creating widget front-end
  // This is where the action happens
  public function widget( $args, $instance ) {
  $title = apply_filters( 'widget_title', $instance['title'] );
  // before and after widget arguments are defined by themes
  echo $args['before_widget'];
  if ( ! empty( $title ) )
  echo $args['before_title'] . $title . $args['after_title'];
  
  // This is where you run the code and display the output
  echo __( 'Hello, World!', 'wpb_widget_domain' );
  echo $args['after_widget'];
  }
  
  // Widget Backend 
  public function form( $instance ) {
  if ( isset( $instance[ 'title' ] ) ) {
  $title = $instance[ 'title' ];
  }
  else {
  $title = __( 'New title', 'wpb_widget_domain' );
  }
  // Widget admin form
  ?&gt;
  &lt;p&gt;
  &lt;label for="&lt;?php echo $this-&gt;get_field_id( 'title' ); ?&gt;"&gt;&lt;?php _e( 'Title:' ); ?&gt;&lt;/label&gt; 
  &lt;input class="widefat" id="&lt;?php echo $this-&gt;get_field_id( 'title' ); ?&gt;" name="&lt;?php echo $this-&gt;get_field_name( 'title' ); ?&gt;" type="text" value="&lt;?php echo esc_attr( $title ); ?&gt;" /&gt;
  &lt;/p&gt;
  &lt;?php 
  }
  
  // Updating widget replacing old instances with new
  public function update( $new_instance, $old_instance ) {
  $instance = array();
  $instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
  return $instance;
  }
  } // Class wpb_widget ends here
  
  // Register and load the widget
  function wpb_load_widget() {
      register_widget( 'wpb_widget' );
  }
  add_action( 'widgets_init', 'wpb_load_widget' );
  </code></pre>
  
  <p>My question, how to include two widget options and their admin-form values (ex. custom number/text and it's font color) in the most proper way?</p>