Skip to content

Background Group Control

Elementor Core Basic

Elementor background group control displays input fields to define the background including the background color, background image, background gradient or background video.

The control is defined in Group_Control_Background class which extends Group_Control_Base class.

When using this group control, the type should be set to Group_Control_Background::get_type() method.

Arguments

NameTypeDefaultDescription
typestringbackgroundThe type of the control.
separatorstringdefaultSet the position of the control separator. Available values are default, before and after. default will hide the separator, unless the control type has specific separator settings. before / after will position the separator before/after the control.
typesarrayThe specific background types to use. Available types are classic, gradient, video and slideshow. Default is an empty array, including all the types.
includearrayInclude specific controls from the group control. Example: ['image']
excludearrayExclude some controls from the group control. Example: ['image']
fields_optionsarrayA multi dimensional array containing data that overrides control settings.

Return Value

(array) An array containing the background values.

Usage

php
<?php
class Elementor_Test_Widget extends \Elementor\Widget_Base {

	protected function register_controls(): void {

		$this->start_controls_section(
			'content_section',
			[
				'label' => esc_html__( 'Content', 'textdomain' ),
				'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
			]
		);

		$this->add_group_control(
			\Elementor\Group_Control_Background::get_type(),
			[
				'name' => 'background',
				'types' => [ 'classic', 'gradient', 'video' ],
				'selector' => '{{WRAPPER}} .your-class',
			]
		);

		$this->end_controls_section();

	}

	protected function render(): void {
		$settings = $this->get_settings_for_display();
		?>
		<div class="your-class">
			...
		</div>
		<?php
	}

	protected function content_template(): void {
		?>
		<div class="your-class">
			...
		</div>
		<?php
	}

}

Notes

Video and slideshow types are supported only at section/container level, not widget level.