Elementor\Controls_Manager::add_control_to_stack PHP Method

add_control_to_stack() public method

public add_control_to_stack ( Element_Base $element, $control_id, $control_data )
$element Element_Base
    public function add_control_to_stack(Element_Base $element, $control_id, $control_data)
    {
        $default_args = ['default' => '', 'type' => self::TEXT, 'tab' => self::TAB_CONTENT];
        $control_data['name'] = $control_id;
        $control_data = array_merge($default_args, $control_data);
        $stack_id = $element->get_name();
        if (isset($this->_controls_stack[$stack_id]['controls'][$control_id])) {
            _doing_it_wrong(__CLASS__ . '::' . __FUNCTION__, 'Cannot redeclare control with same name. - ' . $control_id, '1.0.0');
            return false;
        }
        $available_tabs = self::_get_available_tabs_controls();
        if (!isset($available_tabs[$control_data['tab']])) {
            $control_data['tab'] = $default_args['tab'];
        }
        $this->_controls_stack[$stack_id]['tabs'][$control_data['tab']] = $available_tabs[$control_data['tab']];
        $this->_controls_stack[$stack_id]['controls'][$control_id] = $control_data;
        return true;
    }