'widget_fvplayer', 'description' => __('FV Player widget.')); $control_ops = array('width' => 400, 'height' => 350); parent::__construct('widget_fvplayer', __('FV Player'), $widget_ops, $control_ops); } function widget_init() { register_widget('FV_Player_widget'); add_action('admin_footer', array($this, 'formFooter'), 0 ); } /** * Outputs the content for the current Text widget instance. * * @since 2.8.0 * @access public * * @param array $args Display arguments including 'before_title', 'after_title', * 'before_widget', and 'after_widget'. * @param array $instance Settings for the current Text widget instance. */ public function widget($args, $instance) { /** This filter is documented in wp-includes/widgets/class-wp-widget-pages.php */ $title = apply_filters('widget_title', empty($instance['title']) ? '' : $instance['title'], $instance, $this->id_base); $widget_text = !empty($instance['text']) ? $instance['text'] : ''; /** * Filter the content of the Text widget. * * @since 2.3.0 * @since 4.4.0 Added the `$this` parameter. * * @param string $widget_text The widget content. * @param array $instance Array of settings for the current widget. * @param WP_Widget_Text $this Current Text widget instance. */ $text = apply_filters('widget_text', $widget_text, $instance, $this); echo $args['before_widget']; if (!empty($title)) { echo $args['before_title'] . $title . $args['after_title']; } ?>
'', 'text' => '')); $filter = isset($instance['filter']) ? $instance['filter'] : 0; $title = sanitize_text_field($instance['title']); $number = intval( $this->number ); // When the widget loads for Elementor, it does not replace REPLACE_TO_ID instead of widget number if ( ! empty( $_POST['action'] ) && 'elementor_ajax' == $_POST['action'] ) { $number = 'REPLACE_TO_ID'; } ?>

  

base != 'widgets' ) return; } fv_wp_flowplayer_edit_form_after_editor(); fv_player_shortcode_editor_scripts_enqueue(); } } $FV_Player_Widget = new FV_Player_Widget(); endif;