'Widget description', 'classname' => 'XXX-signup' ); // Set some control options (width, height etc) $control_options = array( 'xxx_width' => 300 ); // Actually create the widget (widget id, widget name, options...) parent::WP_Widget(false, $name = 'XXX Widget', $widget_options, $control_options); } /** @see WP_Widget::widget -- do not rename this */ function widget($args, $instance) { extract( $args ); $title = apply_filters('widget_title', $instance['title']); $message = $instance['message']; ?> 'Example', 'message' => 'Subscribe to our newsletter using the form below.', 'code' => '' ); // This overwrites any default values with saved values $instance = wp_parse_args( (array) $instance, $defaults ); $title = esc_attr($instance['title']); $message = esc_attr($instance['message']); ?>