Base_Control()
Elementor base control.
Description
An abstract class for creating new controls in the panel.
Changelog
Version | Description |
---|---|
1.0.0 | Introduced. |
Methods
- __construct — Control base constructor.
- content_template — Control content template.
- enqueue — Enqueue control scripts and styles.
- get_default_settings — Get default control settings.
- get_features — Get features.
- get_settings — Get control settings.
- get_type — Get control type.
- print_template — Print control template.
- set_settings — Set control settings.
Source
includes/controls/base.php
abstract class Base_Control { private $_base_settings = [ 'label' => '', 'separator' => 'default', 'show_label' => true, 'label_block' => false, 'title' => '', 'placeholder' => '', 'description' => '', ]; private $_settings = []; public static function get_features() { return []; } abstract public function content_template(); abstract public function get_type(); public function __construct() { $this->_settings = array_merge( $this->_base_settings, $this->get_default_settings() ); $this->_settings['features'] = static::get_features(); } public function enqueue() {} /** * @param string $setting_key * * @return array * @since 1.0.0 */ final public function get_settings( $setting_key = null ) { if ( $setting_key ) { if ( isset( $this->_settings[ $setting_key ] ) ) { return $this->_settings[ $setting_key ]; } return null; } return $this->_settings; } /** * @param $key * @param $value * * @since 1.5.0 */ final public function set_settings( $key, $value ) { $this->_settings[ $key ] = $value; } /** * @return void * * @since 1.0.0 */ final public function print_template() { ?> <script type="text/html" id="tmpl-elementor-control-<?php echo esc_attr( $this->get_type() ); ?>-content"> <div class="elementor-control-content"> <?php $this->content_template(); ?> </div> </script> <?php } protected function get_default_settings() { return []; } }