# Complex Example
Elementor Core IntermediateIn Elementor 3.0, the limited Schemes mechanism had been replaced with Globals which allows users to define limitless colors and typographies. Addons using schemes in their widgets controls should update their code.
# Schemes to Globals
To migrate from deprecated Schemes to the new Globals, developers should look for color and typography group controls, and changes them.
# Typography
Replace the following:
\Elementor\Core\Schemes\Typography::TYPOGRAPHY_1
\Elementor\Core\Schemes\Typography::TYPOGRAPHY_2
\Elementor\Core\Schemes\Typography::TYPOGRAPHY_3
\Elementor\Core\Schemes\Typography::TYPOGRAPHY_4
With:
\Elementor\Core\Kits\Documents\Tabs\Global_Typography::TYPOGRAPHY_PRIMARY
\Elementor\Core\Kits\Documents\Tabs\Global_Typography::TYPOGRAPHY_SECONDARY
\Elementor\Core\Kits\Documents\Tabs\Global_Typography::TYPOGRAPHY_TEXT
\Elementor\Core\Kits\Documents\Tabs\Global_Typography::TYPOGRAPHY_ACCENT
Here is an example:
$this->add_group_control(
\Elementor\Group_Control_Typography::get_type(),
[
'name' => 'heading_typography',
- 'scheme' => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_1,
+ 'global' => [
+ 'default' => \Elementor\Core\Kits\Documents\Tabs\Global_Typography::TYPOGRAPHY_PRIMARY,
+ ],
'selector' => '{{WRAPPER}} .heading-class',
]
);
$this->add_group_control(
\Elementor\Group_Control_Typography::get_type(),
[
'name' => 'subheading_typography',
- 'scheme' => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_2,
+ 'global' => [
+ 'default' => \Elementor\Core\Kits\Documents\Tabs\Global_Typography::TYPOGRAPHY_SECONDARY,
+ ],
'selector' => '{{WRAPPER}} .subheading-class',
]
);
$this->add_group_control(
\Elementor\Group_Control_Typography::get_type(),
[
'name' => 'text_typography',
- 'scheme' => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_3,
+ 'global' => [
+ 'default' => \Elementor\Core\Kits\Documents\Tabs\Global_Typography::TYPOGRAPHY_TEXT,
+ ],
'selector' => '{{WRAPPER}} .text-class',
]
);
$this->add_group_control(
\Elementor\Group_Control_Typography::get_type(),
[
'name' => 'accent_typography',
- 'scheme' => \Elementor\Core\Schemes\Typography::TYPOGRAPHY_4,
+ 'global' => [
+ 'default' => \Elementor\Core\Kits\Documents\Tabs\Global_Typography::TYPOGRAPHY_ACCENT,
+ ],
'selector' => '{{WRAPPER}} .accent-class',
]
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# Colors
Replace the following:
\Elementor\Core\Schemes\Color::COLOR_1
\Elementor\Core\Schemes\Color::COLOR_2
\Elementor\Core\Schemes\Color::COLOR_3
\Elementor\Core\Schemes\Color::COLOR_4
With:
\Elementor\Core\Kits\Documents\Tabs\Global_Colors::COLOR_PRIMARY
\Elementor\Core\Kits\Documents\Tabs\Global_Colors::COLOR_SECONDARY
\Elementor\Core\Kits\Documents\Tabs\Global_Colors::COLOR_TEXT
\Elementor\Core\Kits\Documents\Tabs\Global_Colors::COLOR_ACCENT
Here is an example:
$this->add_control(
'heading_color',
[
'label' => esc_html__( 'Heading Color', 'textdomain' ),
'type' => \Elementor\Controls_Manager::COLOR,
- 'scheme' => [
- 'type' => \Elementor\Core\Schemes\Color::get_type(),
- 'value' => \Elementor\Core\Schemes\Color::COLOR_1,
- ],
+ 'global' => [
+ 'default' => \Elementor\Core\Kits\Documents\Tabs\Global_Colors::COLOR_PRIMARY,
+ ],
'selectors' => [
'{{WRAPPER}} .heading-class' => 'color: {{VALUE}};',
],
]
);
$this->add_control(
'subheading_color',
[
'label' => esc_html__( 'Subheading Color', 'textdomain' ),
'type' => \Elementor\Controls_Manager::COLOR,
- 'scheme' => [
- 'type' => \Elementor\Core\Schemes\Color::get_type(),
- 'value' => \Elementor\Core\Schemes\Color::COLOR_2,
- ],
+ 'global' => [
+ 'default' => \Elementor\Core\Kits\Documents\Tabs\Global_Colors::COLOR_SECONDARY,
+ ],
'selectors' => [
'{{WRAPPER}} .subheading-class' => 'color: {{VALUE}};',
],
]
);
$this->add_control(
'text_color',
[
'label' => esc_html__( 'Text Color', 'textdomain' ),
'type' => \Elementor\Controls_Manager::COLOR,
- 'scheme' => [
- 'type' => \Elementor\Core\Schemes\Color::get_type(),
- 'value' => \Elementor\Core\Schemes\Color::COLOR_3,
- ],
+ 'global' => [
+ 'default' => \Elementor\Core\Kits\Documents\Tabs\Global_Colors::COLOR_TEXT,
+ ],
'selectors' => [
'{{WRAPPER}} .text-class' => 'color: {{VALUE}};',
],
]
);
$this->add_control(
'accent_color',
[
'label' => esc_html__( 'Accent Color', 'textdomain' ),
'type' => \Elementor\Controls_Manager::COLOR,
- 'scheme' => [
- 'type' => \Elementor\Core\Schemes\Color::get_type(),
- 'value' => \Elementor\Core\Schemes\Color::COLOR_4,
- ],
+ 'global' => [
+ 'default' => \Elementor\Core\Kits\Documents\Tabs\Global_Colors::COLOR_ACCENT,
+ ],
'selectors' => [
'{{WRAPPER}} .accent-class' => 'color: {{VALUE}};',
],
]
);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71