'.__( 'WpStream Player', 'wpstream' ).''; } /** * Retrieve the widget icon. * * @since 1.0.0 * * @access public * * @return string Widget icon. */ public function get_icon() { return 'eicon-play-o'; } /** * Retrieve the list of scripts the widget depended on. * * Used to set scripts dependencies required to run the widget. * * @since 1.0.0 * * @access public * * @return array Widget scripts dependencies. */ public function get_script_depends() { return [ '' ]; } /** * Register the widget controls. * * Adds different input fields to allow the user to change and customize the widget settings. * * @since 1.0.0 * * @access protected */ public function elementor_transform($input){ $output=array(); if( is_array($input) ){ foreach ($input as $key=>$tax){ $output[$tax['value']]=$tax['label']; } } return $output; } protected function _register_controls() { global $all_tax; $this->start_controls_section( 'section_content', [ 'label' => __( 'Content', 'wpstream' ), ] ); $this->add_control( 'item_id', [ 'label' => __( 'Product/Free Product id', 'wpstream' ), 'label_block'=>true, 'type' => Controls_Manager::TEXT, ] ); $this->add_control( 'user_id', [ 'label' => __( 'User Id', 'wpstream' ), 'label_block'=>true, 'type' => Controls_Manager::TEXT, 'description' => esc_html__( "We will use the first channel of this user id(product id will be ignored.).","wpestate") ] ); $this->end_controls_section(); } /** * Render the widget output on the frontend. * * Written in PHP and used to generate the final HTML. * * @since 1.0.0 * * @access protected */ public function wpresidence_send_to_shortcode($input){ $output=''; if($input!==''){ $numItems = count($input); $i = 0; foreach ($input as $key=>$value){ $output.=$value; if(++$i !== $numItems) { $output.=', '; } } } return $output; } protected function render() { $settings = $this->get_settings_for_display(); $attributes['id'] = $settings['item_id'] ; $attributes['user_id'] = $settings['user_id'] ; global $wpstream_plugin; echo $wpstream_plugin->wpstream_insert_player_elementor($attributes); } /** * Render the widget output in the editor. * * Written as a Backbone JavaScript template and used to generate the live preview. * * @since 1.0.0 * * @access protected */ protected function _content_template() { ?>