__( 'Embed external content.', 'generatewp' ), 'classname' => 'widget_embed', ) ); } public function widget( $args, $instance ) { $title = apply_filters( 'widget_title', empty( $instance['generatewp_title'] ) ? '' : $instance['generatewp_title'], $instance, $this->id_base ); $oembed = apply_filters( 'widget_oembed', empty( $instance['generatewp_oembed'] ) ? '' : $instance['generatewp_oembed'], $instance ); // Before widget tag echo $args['before_widget']; // Title if ( ! empty( $title ) ) { echo $args['before_title'] . $title . $args['after_title']; } // Embedded Content echo '
'; // After widget tag echo $args['after_widget']; } public function form( $instance ) { // Set default values $instance = wp_parse_args( (array) $instance, array( 'generatewp_title' => '', 'generatewp_oembed' => '', ) ); // Retrieve an existing value from the database $generatewp_title = !empty( $instance['generatewp_title'] ) ? $instance['generatewp_title'] : ''; $generatewp_oembed = !empty( $instance['generatewp_oembed'] ) ? $instance['generatewp_oembed'] : ''; // Form fields echo ''; echo ' '; echo ' '; echo '
'; echo ''; echo ' '; echo ' '; echo wp_oembed_get( $generatewp_oembed, array( 'width' => 400 ) ); echo ' ' . __( 'Embedded content URL.', 'generatewp' ) . ''; echo '
'; } public function update( $new_instance, $old_instance ) { $instance = $old_instance; $instance['generatewp_title'] = !empty( $new_instance['generatewp_title'] ) ? strip_tags( $new_instance['generatewp_title'] ) : ''; $instance['generatewp_oembed'] = !empty( $new_instance['generatewp_oembed'] ) ? strip_tags( $new_instance['generatewp_oembed'] ) : ''; return $instance; } } function generatewp_register_widgets() { register_widget( 'GenerateWP_Embed_Widget' ); } add_action( 'widgets_init', 'generatewp_register_widgets' );