html.php (2241B)
1 <?php 2 namespace Elementor; 3 4 if ( ! defined( 'ABSPATH' ) ) { 5 exit; // Exit if accessed directly. 6 } 7 8 /** 9 * Elementor HTML widget. 10 * 11 * Elementor widget that insert a custom HTML code into the page. 12 * 13 * @since 1.0.0 14 */ 15 class Widget_Html extends Widget_Base { 16 17 /** 18 * Get widget name. 19 * 20 * Retrieve HTML widget name. 21 * 22 * @since 1.0.0 23 * @access public 24 * 25 * @return string Widget name. 26 */ 27 public function get_name() { 28 return 'html'; 29 } 30 31 /** 32 * Get widget title. 33 * 34 * Retrieve HTML widget title. 35 * 36 * @since 1.0.0 37 * @access public 38 * 39 * @return string Widget title. 40 */ 41 public function get_title() { 42 return esc_html__( 'HTML', 'elementor' ); 43 } 44 45 /** 46 * Get widget icon. 47 * 48 * Retrieve HTML widget icon. 49 * 50 * @since 1.0.0 51 * @access public 52 * 53 * @return string Widget icon. 54 */ 55 public function get_icon() { 56 return 'eicon-code'; 57 } 58 59 /** 60 * Get widget keywords. 61 * 62 * Retrieve the list of keywords the widget belongs to. 63 * 64 * @since 2.1.0 65 * @access public 66 * 67 * @return array Widget keywords. 68 */ 69 public function get_keywords() { 70 return [ 'html', 'code' ]; 71 } 72 73 /** 74 * Register HTML widget controls. 75 * 76 * Adds different input fields to allow the user to change and customize the widget settings. 77 * 78 * @since 3.1.0 79 * @access protected 80 */ 81 protected function register_controls() { 82 $this->start_controls_section( 83 'section_title', 84 [ 85 'label' => esc_html__( 'HTML Code', 'elementor' ), 86 ] 87 ); 88 89 $this->add_control( 90 'html', 91 [ 92 'label' => '', 93 'type' => Controls_Manager::CODE, 94 'default' => '', 95 'placeholder' => esc_html__( 'Enter your code', 'elementor' ), 96 'show_label' => false, 97 ] 98 ); 99 100 $this->end_controls_section(); 101 } 102 103 /** 104 * Render HTML widget output on the frontend. 105 * 106 * Written in PHP and used to generate the final HTML. 107 * 108 * @since 1.0.0 109 * @access protected 110 */ 111 protected function render() { 112 $this->print_unescaped_setting( 'html' ); 113 } 114 115 /** 116 * Render HTML widget output in the editor. 117 * 118 * Written as a Backbone JavaScript template and used to generate the live preview. 119 * 120 * @since 2.9.0 121 * @access protected 122 */ 123 protected function content_template() { 124 ?> 125 {{{ settings.html }}} 126 <?php 127 } 128 }