Elementor Code Reference
  • Developers
  • Code Reference
  • Docs
  • Blog
  • Account
  • Developers
  • Code Reference
  • Docs
  • Blog
  • Account

Base_Control

Base_Control()

Elementor base control.


Description

An abstract class for creating new controls in the panel.


Changelog

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 [];
	}
}
Elementor Code Reference
  • Code Reference
  • Elementor Hooks
    • PHP Hooks
    • JS Hooks
  • Elementor Classes
  • Elementor Methods
  • Elementor Functions
Developer Resources

Visit the official Developer Resources to learn how to extend Elementor.

Get Involved

Visit Elementor GitHub repository to contribute code or suggest new ideas.

  • Contact
  • About Us
  • Terms of Service
  • Privacy Policy
  • Template Library
  • Features
  • Theme Builder
  • Get Pro
Theme by Pojo.me
//Made in Elementor Page Builder
Enter your email and be the first to learn about new updates and features.
No thanks, I just want to download Elementor