'widget-beginner-video video-widget',
'description' => __( 'Easily to display any type of video.', 'beginner' )
);
// Create the widget.
parent::__construct(
'beginner-video', // $this->id_base
__( '» Video', '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;
}
// Display the video.
if ( !empty( $instance['video_url'] ) ) {
global $wp_embed;
echo '
' . $wp_embed->run_shortcode( '[embed]' . stripslashes( $instance['video_url'] ) . '[/embed]' ) . '
';
} elseif ( !empty( $instance['video_code'] ) ) {
echo '' . stripslashes( $instance['video_code'] ) . '
';
}
// 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['video_url'] = esc_url_raw( $new_instance['video_url'] );
$instance['video_code'] = stripslashes( $new_instance['video_code'] );
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__( 'Video', 'beginner' ),
'video_url' => '',
'video_code' => ''
);
$instance = wp_parse_args( (array) $instance, $defaults );
?>