Version Description
- New: Added Email Subscription and About Us section on the settings page.
- New: Renamed the plugin to Elementor Header & Footer Builder.
- Improvement: Added an option to hide + & - sign added by Twenty Twenty-One Theme.
- Fix: Navigation Menu - Border for dropdown is also applying to the menu trigger icon.
- Fix: Navigation Menu - Fix top distance option for dropdown adding a top-margin to sub-menu.
- Fix: Navigation Menu - Fixed active color issues in case of full-page anchor links used in nav links.
- Fix: Navigation Menu - Navigation schema not working.
Download this release
Release Info
Developer | Nikschavan |
Plugin | Header Footer Elementor |
Version | 1.6.0 |
Comparing to | |
See all releases |
Code changes from version 1.5.9 to 1.6.0
- admin/assets/css/ehf-admin.css +746 -33
- admin/assets/js/ehf-admin.js +492 -10
- admin/class-hfe-addons-actions.php +175 -0
- admin/class-hfe-admin.php +21 -20
- assets/images/settings/our-team.jpeg +0 -0
- assets/images/settings/plugin-astra.png +0 -0
- assets/images/settings/plugin-st.png +0 -0
- assets/images/settings/plugin-uae.png +0 -0
- header-footer-elementor.php +15 -5
- inc/class-header-footer-elementor.php +112 -25
- inc/class-hfe-settings-page.php +816 -0
- inc/js/frontend.js +78 -10
- inc/widgets-css/frontend.css +3 -1
- inc/widgets-manager/class-widgets-loader.php +1 -1
- inc/widgets-manager/widgets/class-menu-walker.php +1 -0
- inc/widgets-manager/widgets/class-navigation-menu.php +43 -10
- languages/header-footer-elementor.pot +528 -271
- readme.txt +38 -29
- themes/default/class-hfe-fallback-theme-support.php +0 -238
- themes/hello-elementor/class-hfe-hello-elementor-compat.php +3 -1
admin/assets/css/ehf-admin.css
CHANGED
@@ -7,18 +7,15 @@ span.hfe-shortcode-col-wrap > input {
|
|
7 |
padding: 4px 8px;
|
8 |
margin: 0;
|
9 |
}
|
10 |
-
|
11 |
input.hfe-large-text{
|
12 |
width: 99%;
|
13 |
}
|
14 |
-
|
15 |
.hfe-options-row-heading {
|
16 |
border-right: 1px solid #E1E1E1;
|
17 |
padding: 15px;
|
18 |
width: 45%;
|
19 |
vertical-align: middle;
|
20 |
}
|
21 |
-
|
22 |
.hfe-options-row td {
|
23 |
padding-left: 12px;
|
24 |
padding-right: 12px;
|
@@ -26,22 +23,14 @@ input.hfe-large-text{
|
|
26 |
zoom: 1;
|
27 |
vertical-align: middle;
|
28 |
}
|
29 |
-
|
30 |
.hfe-options-table .hfe-options-row-content {
|
31 |
padding: 15px 10px;
|
32 |
position: relative;
|
33 |
width: 55%;
|
34 |
}
|
35 |
-
|
36 |
-
.hfe-options-table.widefat{
|
37 |
border-width: 0;
|
38 |
}
|
39 |
-
|
40 |
-
#ehf-meta-box .inside {
|
41 |
-
margin: 0;
|
42 |
-
padding: 0;
|
43 |
-
}
|
44 |
-
|
45 |
.hfe-options-row-heading label {
|
46 |
display: inline-block;
|
47 |
font-size: 13px;
|
@@ -51,50 +40,774 @@ input.hfe-large-text{
|
|
51 |
margin: 0 0 3px;
|
52 |
color: #333;
|
53 |
}
|
54 |
-
|
55 |
.hfe-options-row-content select {
|
56 |
width: 95%;
|
57 |
}
|
58 |
-
|
59 |
.hfe_radio_options {
|
60 |
display: inline-block;
|
61 |
}
|
62 |
-
|
63 |
-
|
|
|
|
|
64 |
display: none;
|
65 |
}
|
66 |
-
|
67 |
-
.wp-admin #adminmenu .wp-submenu a[href="themes.php?page=hfe-settings"] {
|
68 |
-
display:none;
|
69 |
-
}
|
70 |
-
|
71 |
.appearance_page_hfe-settings #adminmenu .wp-submenu a[href ="edit.php?post_type=elementor-hf" ] {
|
72 |
-
color:
|
73 |
font-weight: 600;
|
74 |
}
|
75 |
-
|
76 |
-
.hfe-heading-inline{
|
77 |
font-size: 23px;
|
78 |
font-weight: 400;
|
79 |
margin: 0;
|
80 |
padding: 9px 0 4px 0;
|
81 |
line-height: 1.3;
|
82 |
}
|
83 |
-
|
|
|
|
|
84 |
.hfe-selected-template-type-custom .bsf-target-rules-row,
|
85 |
-
.hfe-selected-template-type-custom .enable-for-canvas
|
|
|
|
|
|
|
|
|
|
|
86 |
display: none;
|
87 |
}
|
88 |
-
|
89 |
-
|
90 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
}
|
92 |
-
.hfe-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
display: none;
|
94 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
95 |
|
96 |
-
.hfe-
|
97 |
-
|
98 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
display: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
}
|
7 |
padding: 4px 8px;
|
8 |
margin: 0;
|
9 |
}
|
|
|
10 |
input.hfe-large-text{
|
11 |
width: 99%;
|
12 |
}
|
|
|
13 |
.hfe-options-row-heading {
|
14 |
border-right: 1px solid #E1E1E1;
|
15 |
padding: 15px;
|
16 |
width: 45%;
|
17 |
vertical-align: middle;
|
18 |
}
|
|
|
19 |
.hfe-options-row td {
|
20 |
padding-left: 12px;
|
21 |
padding-right: 12px;
|
23 |
zoom: 1;
|
24 |
vertical-align: middle;
|
25 |
}
|
|
|
26 |
.hfe-options-table .hfe-options-row-content {
|
27 |
padding: 15px 10px;
|
28 |
position: relative;
|
29 |
width: 55%;
|
30 |
}
|
31 |
+
.hfe-options-table.widefat {
|
|
|
32 |
border-width: 0;
|
33 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
34 |
.hfe-options-row-heading label {
|
35 |
display: inline-block;
|
36 |
font-size: 13px;
|
40 |
margin: 0 0 3px;
|
41 |
color: #333;
|
42 |
}
|
|
|
43 |
.hfe-options-row-content select {
|
44 |
width: 95%;
|
45 |
}
|
|
|
46 |
.hfe_radio_options {
|
47 |
display: inline-block;
|
48 |
}
|
49 |
+
li#toplevel_page_Settings-page,
|
50 |
+
.wp-admin #adminmenu .wp-submenu a[href="themes.php?page=hfe-settings"],
|
51 |
+
.wp-admin #adminmenu .wp-submenu a[href="themes.php?page=hfe-guide"],
|
52 |
+
.wp-admin #adminmenu .wp-submenu a[href="themes.php?page=hfe-about"] {
|
53 |
display: none;
|
54 |
}
|
|
|
|
|
|
|
|
|
|
|
55 |
.appearance_page_hfe-settings #adminmenu .wp-submenu a[href ="edit.php?post_type=elementor-hf" ] {
|
56 |
+
color: #ffffff;
|
57 |
font-weight: 600;
|
58 |
}
|
59 |
+
.hfe-heading-inline {
|
|
|
60 |
font-size: 23px;
|
61 |
font-weight: 400;
|
62 |
margin: 0;
|
63 |
padding: 9px 0 4px 0;
|
64 |
line-height: 1.3;
|
65 |
}
|
66 |
+
.hfe-selected-template-type-custom .hfe-shortcode {
|
67 |
+
display: table-row;
|
68 |
+
}
|
69 |
.hfe-selected-template-type-custom .bsf-target-rules-row,
|
70 |
+
.hfe-selected-template-type-custom .enable-for-canvas,
|
71 |
+
.hfe-shortcode,
|
72 |
+
.hfe-selected-template-type-none .bsf-target-rules-row,
|
73 |
+
.hfe-selected-template-type-none .hfe-shortcode,
|
74 |
+
.hfe-selected-template-type-none .enable-for-canvas,
|
75 |
+
.hfe-guide-content .form-table th {
|
76 |
display: none;
|
77 |
}
|
78 |
+
/* Notice */
|
79 |
+
#header-footer-install-notice img.custom-logo {
|
80 |
+
height: 30px;
|
81 |
+
margin-right: 6px;
|
82 |
+
}
|
83 |
+
#header-footer-install-notice .notice-container {
|
84 |
+
display: flex;
|
85 |
+
align-items: center;
|
86 |
+
padding-top: 5px;
|
87 |
+
padding-bottom: 5px;
|
88 |
+
}
|
89 |
+
#header-footer-install-notice .notice-content {
|
90 |
+
margin-left: 0px;
|
91 |
+
}
|
92 |
+
#header-footer-install-notice .notice-dismiss {
|
93 |
+
height: 100%;
|
94 |
+
}
|
95 |
+
/* EHF Settings - Step by Step guide */
|
96 |
+
#ehf-meta-box .inside,
|
97 |
+
.hfe-admin-guide-section.hfe-admin-about-section {
|
98 |
+
padding: 0px;
|
99 |
+
}
|
100 |
+
.appearance_page_hfe-guide .nav-tab-wrapper,
|
101 |
+
.appearance_page_hfe-about .nav-tab-wrapper,
|
102 |
+
.appearance_page_hfe-settings .nav-tab-wrapper {
|
103 |
+
margin-right: 18px;
|
104 |
+
margin-bottom: 30px;
|
105 |
+
margin-top: 10px;
|
106 |
+
}
|
107 |
+
.post-type-elementor-hf .nav-tab-wrapper {
|
108 |
+
margin-bottom: 18px;
|
109 |
+
margin-top: 10px;
|
110 |
+
}
|
111 |
+
.post-type-elementor-hf .wrap h1.wp-heading-inline,
|
112 |
+
.hfe-heading-inline {
|
113 |
+
margin-top: 10px
|
114 |
+
}
|
115 |
+
.hfe-admin-about-section,
|
116 |
+
.hfe-subscription-row {
|
117 |
+
display: flex;
|
118 |
+
justify-content: center;
|
119 |
+
}
|
120 |
+
.hfe-subscription-row .hfe-input-container {
|
121 |
+
width: 50%;
|
122 |
+
text-align: left;
|
123 |
+
position: relative;
|
124 |
+
width: 100%;
|
125 |
+
}
|
126 |
+
.hfe-guide-modal-content .hfe-checkbox-container {
|
127 |
+
display: flex;
|
128 |
+
align-items: flex-start;
|
129 |
+
}
|
130 |
+
.hfe-guide-modal-content .hfe-admin-column-50:not(.hfe-admin-column-last) {
|
131 |
+
display: flex;
|
132 |
+
align-items: center;
|
133 |
+
}
|
134 |
+
/* Form CSS */
|
135 |
+
.hfe-subscription-row {
|
136 |
+
margin-bottom: 10px;
|
137 |
+
}
|
138 |
+
.hfe-subscription-row .hfe-subscribe-field:focus {
|
139 |
+
outline: none;
|
140 |
+
box-shadow: none;
|
141 |
+
}
|
142 |
+
.hfe-subscription-row .hfe-subscribe-field {
|
143 |
+
width: 100%;
|
144 |
+
max-width: 100%;
|
145 |
+
border-radius: 3px;
|
146 |
+
border: 1px solid #585F66;
|
147 |
+
padding: 10px 15px;
|
148 |
+
box-shadow: none;
|
149 |
+
min-height: 44px;
|
150 |
+
font-size: 15px;
|
151 |
+
font-weight: 400;
|
152 |
+
outline: none;
|
153 |
+
background-color: transparent;
|
154 |
+
background-position: right 10px top 55%;
|
155 |
+
margin: 0;
|
156 |
+
}
|
157 |
+
.hfe-subscription-row .subscription-label {
|
158 |
+
color: #585F66;
|
159 |
+
margin: 12px 10px;
|
160 |
+
position: absolute;
|
161 |
+
top: 0;
|
162 |
+
font-weight: 400;
|
163 |
+
padding: 0 5px;
|
164 |
+
font-size: 14px;
|
165 |
+
left: 0;
|
166 |
+
-webkit-transition: all 0.25s ease;
|
167 |
+
transition: all 0.25s ease;
|
168 |
+
pointer-events: none;
|
169 |
+
}
|
170 |
+
.hfe-subscription-row .hfe-input-container:not(.subscription-success, .subscription-error) .hfe-subscribe-field:hover {
|
171 |
+
border-color: #2271b1;
|
172 |
}
|
173 |
+
.hfe-subscription-row .hfe-subscribe-field:hover,
|
174 |
+
.hfe-subscription-row .hfe-subscribe-field:focus {
|
175 |
+
color: #2c3338;
|
176 |
+
}
|
177 |
+
.hfe-subscription-row .subscription-anim .subscription-label {
|
178 |
+
background-color: #fff;
|
179 |
+
font-size: 12px;
|
180 |
+
line-height: 12px;
|
181 |
+
margin-top: 0;
|
182 |
+
padding: 0 4px;
|
183 |
+
top: -5px;
|
184 |
+
transition: all 0.125s ease;
|
185 |
+
-webkit-transition: all 0.125s ease;
|
186 |
+
color: #2271b1;
|
187 |
+
}
|
188 |
+
.hfe-subscription-row .subscription-error .hfe-subscribe-field,
|
189 |
+
.hfe-subscription-row .subscription-error .hfe-subscribe-field:focus {
|
190 |
+
border-color: #ff0000;
|
191 |
+
}
|
192 |
+
.hfe-subscription-row .subscription-error .subscription-desc,
|
193 |
+
.hfe-subscription-row .subscription-anim.subscription-error .subscription-label {
|
194 |
+
color: #ff0000;
|
195 |
+
}
|
196 |
+
.hfe-subscription-row .subscription-success .hfe-subscribe-field,
|
197 |
+
.hfe-subscription-row .subscription-success .hfe-subscribe-field:focus {
|
198 |
+
border-color: #66a700;
|
199 |
+
}
|
200 |
+
.hfe-subscription-row .subscription-anim.subscription-success .subscription-label {
|
201 |
+
color: #66a700;
|
202 |
+
}
|
203 |
+
.hfe-input-container .subscription-desc {
|
204 |
+
padding-left: 2px;
|
205 |
+
opacity: 0;
|
206 |
+
visibility: hidden;
|
207 |
+
}
|
208 |
+
.hfe-input-container.subscription-error .subscription-desc {
|
209 |
+
opacity: 1;
|
210 |
+
visibility: visible;
|
211 |
+
}
|
212 |
+
input[type="text"].hfe-subscribe-field,
|
213 |
+
select.hfe-subscribe-field {
|
214 |
+
text-align: left;
|
215 |
+
width: 100%;
|
216 |
+
padding: 10px 15px;
|
217 |
+
outline: none;
|
218 |
+
margin-left: 0px;
|
219 |
+
}
|
220 |
+
.hfe-guide-content p.submit {
|
221 |
+
text-align: center;
|
222 |
+
margin-top: 0px;
|
223 |
+
padding-top: 0px;
|
224 |
+
padding-bottom: 0px;
|
225 |
+
margin-bottom: 0px;
|
226 |
+
}
|
227 |
+
.hfe-privacy-policy-container {
|
228 |
+
margin-top: 0;
|
229 |
+
text-align: center;
|
230 |
display: none;
|
231 |
}
|
232 |
+
.hfe-subscription-step-2-active ~ .hfe-privacy-policy-container {
|
233 |
+
display: block;
|
234 |
+
}
|
235 |
+
.hfe-privacy-policy-container .hfe-subscription-policy {
|
236 |
+
margin: 0;
|
237 |
+
padding-top: 15px;
|
238 |
+
font-size: 12px;
|
239 |
+
}
|
240 |
+
.button-subscription-skip:focus {
|
241 |
+
box-shadow: none;
|
242 |
+
}
|
243 |
+
.button-subscription-skip {
|
244 |
+
width: 100%;
|
245 |
+
text-align: center;
|
246 |
+
margin-top: .8em;
|
247 |
+
display: inline-block;
|
248 |
+
font-size: 14px;
|
249 |
+
}
|
250 |
+
.hfe-guide-content .button {
|
251 |
+
text-transform: uppercase;
|
252 |
+
padding: 10px 20px;
|
253 |
+
width: 100%;
|
254 |
+
font-size: 13px;
|
255 |
+
}
|
256 |
+
.hfe-guide-content .button.submitting {
|
257 |
+
margin-right: 3px;
|
258 |
+
}
|
259 |
+
/* EHF Settings - About Us */
|
260 |
+
.hfe-admin-about-section {
|
261 |
+
margin: 0px 19px 23px 0px;
|
262 |
+
padding: 40px;
|
263 |
+
line-height: 2;
|
264 |
+
}
|
265 |
+
.hfe-admin-about-section p,
|
266 |
+
.hfe-admin-addons .addon-item,
|
267 |
+
.hfe-admin-addons .addon-item p,
|
268 |
+
.hfe-admin-about-section ul {
|
269 |
+
font-size: 15px;
|
270 |
+
}
|
271 |
+
.hfe-admin-about-us {
|
272 |
+
background: #fff;
|
273 |
+
border: 1px solid #ddd;
|
274 |
+
}
|
275 |
+
.hfe-admin-about-section h1,
|
276 |
+
.hfe-admin-about-section h2,
|
277 |
+
.hfe-admin-about-section h3,
|
278 |
+
.hfe-admin-about-section h4,
|
279 |
+
.hfe-admin-about-section h5 {
|
280 |
+
margin-top: 0;
|
281 |
+
line-height: 1.3;
|
282 |
+
}
|
283 |
+
.hfe-clear:before {
|
284 |
+
content: " ";
|
285 |
+
display: table;
|
286 |
+
}
|
287 |
+
.hfe-clear:after,
|
288 |
+
.hfe-admin-columns:after {
|
289 |
+
clear: both;
|
290 |
+
content: " ";
|
291 |
+
display: table;
|
292 |
+
}
|
293 |
+
.hfe-admin-columns .hfe-admin-column-40 {
|
294 |
+
width: 40%;
|
295 |
+
}
|
296 |
+
.hfe-admin-columns .hfe-admin-column-50 {
|
297 |
+
width: 50%;
|
298 |
+
background: #fff;
|
299 |
+
border: 1px solid #ddd;
|
300 |
+
}
|
301 |
+
.hfe-admin-columns .hfe-admin-column-60 {
|
302 |
+
width: 60%;
|
303 |
+
}
|
304 |
+
.hfe-admin-columns .hfe-admin-column-last .hfe-guide-content {
|
305 |
+
width: 100%;
|
306 |
+
}
|
307 |
+
.hfe-admin-about-section figure {
|
308 |
+
margin: 0;
|
309 |
+
padding-top: 0px;
|
310 |
+
}
|
311 |
+
.hfe-admin-about-section figure img {
|
312 |
+
width: 100%;
|
313 |
+
box-shadow: 0 0 8px rgb(0 0 0 / 10%);
|
314 |
+
}
|
315 |
+
.hfe-admin-about-section figure figcaption {
|
316 |
+
font-size: 15px;
|
317 |
+
color: #686868;
|
318 |
+
margin-top: 5px;
|
319 |
+
text-align: center;
|
320 |
+
line-height: initial;
|
321 |
+
}
|
322 |
+
.hfe-admin-about-section .hfe-admin-column-40 {
|
323 |
+
padding-left: 15px;
|
324 |
+
}
|
325 |
+
.hfe-admin-about-section .hfe-admin-column-60 {
|
326 |
+
padding-right: 15px;
|
327 |
+
}
|
328 |
+
.hfe-admin-about-section *,
|
329 |
+
.hfe-admin-about-section *::before,
|
330 |
+
.hfe-admin-about-section *::after,
|
331 |
+
.hfe-admin-addons *,
|
332 |
+
.hfe-admin-addons *::before,
|
333 |
+
.hfe-admin-addons *::after {
|
334 |
+
-webkit-box-sizing: border-box;
|
335 |
+
-moz-box-sizing: border-box;
|
336 |
+
box-sizing: border-box;
|
337 |
+
}
|
338 |
+
/* About Us - Plugins section */
|
339 |
+
.hfe-admin-addons .addon-container:last-child {
|
340 |
+
padding-right: 10px;
|
341 |
+
}
|
342 |
+
.hfe-admin-addons .addon-container:first-child,
|
343 |
+
.hfe-admin-addons .addon-container {
|
344 |
+
padding-left: 10px;
|
345 |
+
}
|
346 |
+
.hfe-admin-addons {
|
347 |
+
padding: 0 27px 0px 10px;
|
348 |
+
}
|
349 |
+
.hfe-admin-addons .addon-item .details {
|
350 |
+
padding: 20px;
|
351 |
+
}
|
352 |
+
.hfe-admin-addons .addon-item img {
|
353 |
+
padding: 13px;
|
354 |
+
padding-top: 0px;
|
355 |
+
}
|
356 |
+
.hfe-admin-addons .addons-container{
|
357 |
+
margin-left: -20px;
|
358 |
+
margin-right: -20px;
|
359 |
+
}
|
360 |
+
.hfe-admin-addons .addon-container {
|
361 |
+
padding-right: 10px;
|
362 |
+
float: left;
|
363 |
+
width: 33.333333%;
|
364 |
+
margin-bottom: 20px;
|
365 |
+
}
|
366 |
+
.hfe-admin-addons h4 {
|
367 |
+
font-size: 17px;
|
368 |
+
font-weight: 700;
|
369 |
+
}
|
370 |
+
.hfe-admin-addons .addon-item {
|
371 |
+
background-color: #fff;
|
372 |
+
border: 1px solid #ddd;
|
373 |
+
border-radius: 3px;
|
374 |
+
margin: 0;
|
375 |
+
}
|
376 |
+
.hfe-admin-addons .addon-item img {
|
377 |
+
float: left;
|
378 |
+
max-width: 80px;
|
379 |
+
}
|
380 |
+
.hfe-admin-addons .addon-item h5 {
|
381 |
+
margin: 0 0 15px 90px;
|
382 |
+
font-size: 17px;
|
383 |
+
line-height: 1.4em;
|
384 |
+
}
|
385 |
+
.hfe-admin-addons .addon-item p {
|
386 |
+
margin: 0 0 0 90px;
|
387 |
+
}
|
388 |
+
.hfe-admin-addons .website-link {
|
389 |
+
color: inherit;
|
390 |
+
text-decoration: none;
|
391 |
+
}
|
392 |
+
.hfe-admin-addons .addon-item .details {
|
393 |
+
padding: 30px 20px;
|
394 |
+
}
|
395 |
|
396 |
+
.hfe-admin-addons .addon-item .action-button .button {
|
397 |
+
display: inline-block;
|
398 |
+
text-decoration: none;
|
399 |
+
font-size: 14px;
|
400 |
+
line-height: 26px;
|
401 |
+
height: 28px;
|
402 |
+
margin: 0;
|
403 |
+
padding: 0 10px 1px;
|
404 |
+
box-shadow: 0 1px 0 #cccccc;
|
405 |
+
cursor: pointer;
|
406 |
+
-webkit-appearance: none;
|
407 |
+
border-radius: 3px;
|
408 |
+
border: 1px solid #cccccc;
|
409 |
+
background: #f7f7f7;
|
410 |
+
font-weight: normal;
|
411 |
+
}
|
412 |
+
|
413 |
+
.hfe-admin-addons .addon-item .action-button .button:hover,
|
414 |
+
.hfe-admin-addons .addon-item .action-button .button:focus {
|
415 |
+
background: #fafafa;
|
416 |
+
border-color: #999;
|
417 |
+
color: #23282d;
|
418 |
+
}
|
419 |
+
|
420 |
+
.hfe-admin-addons .addon-item .action-button .button.button-primary {
|
421 |
+
background: #0085ba;
|
422 |
+
border-color: #0073aa #006799 #006799;
|
423 |
+
box-shadow: 0 1px 0 #006799;
|
424 |
+
color: #fff;
|
425 |
+
text-shadow: 0 -1px 1px #006799, 1px 0 1px #006799, 0 1px 1px #006799, -1px 0 1px #006799;
|
426 |
+
}
|
427 |
+
|
428 |
+
.hfe-admin-addons .addon-item .action-button .button.button-primary:hover,
|
429 |
+
.hfe-admin-addons .addon-item .action-button .button.button-primary:focus {
|
430 |
+
background: #008ec2;
|
431 |
+
border-color: #006799;
|
432 |
+
color: #fff;
|
433 |
+
}
|
434 |
+
|
435 |
+
.hfe-admin-addons .addon-item .action-button .button.button-secondary {
|
436 |
+
color: #555;
|
437 |
+
border-color: #cccccc;
|
438 |
+
background: #f7f7f7;
|
439 |
+
box-shadow: 0 1px 0 #cccccc;
|
440 |
+
}
|
441 |
+
|
442 |
+
.hfe-admin-addons .addon-item .action-button .button.button-secondary:hover,
|
443 |
+
.hfe-admin-addons .addon-item .action-button .button.button-secondary:focus {
|
444 |
+
background: #fafafa;
|
445 |
+
border-color: #999;
|
446 |
+
color: #23282d;
|
447 |
+
}
|
448 |
+
|
449 |
+
.hfe-admin-addons .addon-item .action-button .button.disabled {
|
450 |
+
cursor: default;
|
451 |
+
}
|
452 |
+
|
453 |
+
.hfe-admin-addons .addon-item .actions {
|
454 |
+
display: flex;
|
455 |
+
align-items: center;
|
456 |
+
background-color: #f7f7f7;
|
457 |
+
border-top: 1px solid #ddd;
|
458 |
+
padding: 20px;
|
459 |
+
min-height: 75px;
|
460 |
+
position: relative;
|
461 |
+
}
|
462 |
+
|
463 |
+
.hfe-admin-addons .addon-item .actions .msg {
|
464 |
+
background-color: #f7f7f7;
|
465 |
+
border: none;
|
466 |
+
position: absolute;
|
467 |
+
text-align: center;
|
468 |
+
font-weight: 600;
|
469 |
+
top: 0;
|
470 |
+
left: 0;
|
471 |
+
height: 100%;
|
472 |
+
width: 100%;
|
473 |
+
margin: 0;
|
474 |
+
z-index: 99;
|
475 |
+
padding: 20px;
|
476 |
+
display: flex;
|
477 |
+
align-items: center;
|
478 |
+
justify-content: center;
|
479 |
+
}
|
480 |
+
|
481 |
+
.hfe-admin-addons .addon-item .actions .msg.success,
|
482 |
+
.hfe-admin-addons .addon-item .status .status-active,
|
483 |
+
.hfe-admin-addons .addon-item .action-button button.status-active .fa {
|
484 |
+
color: #2a9b39;
|
485 |
+
}
|
486 |
+
|
487 |
+
.hfe-admin-addons .addon-item .actions .msg.error,
|
488 |
+
.hfe-admin-addons .addon-item .status .status-inactive,
|
489 |
+
.hfe-admin-addons .addon-item .action-button button.status-inactive .fa {
|
490 |
+
color: red;
|
491 |
+
}
|
492 |
+
|
493 |
+
.hfe-admin-addons .addon-item .status {
|
494 |
+
flex-grow: 1;
|
495 |
+
}
|
496 |
+
|
497 |
+
.hfe-admin-addons .addon-item .status .status-download {
|
498 |
+
color: #666;
|
499 |
+
}
|
500 |
+
|
501 |
+
.hfe-admin-addons .addon-item .upgrade-button {
|
502 |
+
text-align: center;
|
503 |
+
}
|
504 |
+
|
505 |
+
.hfe-admin-addons .addon-item .upgrade-button a {
|
506 |
+
font-weight: 600;
|
507 |
+
width: 110px;
|
508 |
+
text-align: center;
|
509 |
+
padding: 8px 5px;
|
510 |
+
}
|
511 |
+
.hfe-admin-addons .addon-item .action-button a.button {
|
512 |
+
width: 110px;
|
513 |
+
text-align: center;
|
514 |
+
}
|
515 |
+
.hfe-admin-addons .addon-item .action-button button {
|
516 |
+
background: none;
|
517 |
+
border: 1px solid #ddd;
|
518 |
+
border-radius: 3px;
|
519 |
+
box-shadow: none;
|
520 |
+
cursor: pointer;
|
521 |
+
font-weight: 600;
|
522 |
+
width: 110px;
|
523 |
+
text-align: center;
|
524 |
+
padding: 8px 5px;
|
525 |
+
}
|
526 |
+
|
527 |
+
.hfe-admin-addons .addon-item .action-button button:hover, .hfe-admin-addons .addon-item .action-button button.loading {
|
528 |
+
background-color: #e9e9e9;
|
529 |
+
}
|
530 |
+
|
531 |
+
.hfe-admin-addons .addon-item .action-button button .fa {
|
532 |
+
margin-right: 8px;
|
533 |
+
}
|
534 |
+
|
535 |
+
.hfe-admin-addons .addon-item .action-button button .fa.fa-spinner {
|
536 |
+
margin-right: 0;
|
537 |
+
}
|
538 |
+
|
539 |
+
.hfe-admin-addons .addon-item .action-button button.status-download .fa {
|
540 |
+
color: #999;
|
541 |
+
}
|
542 |
+
|
543 |
+
.hfe-admin-addons .addon-item .action-button button.disabled {
|
544 |
+
cursor: default;
|
545 |
+
pointer-events: none;
|
546 |
+
}
|
547 |
+
|
548 |
+
.hfe-admin-addons .addon-item .action-button button.loading .fa {
|
549 |
+
color: #666;
|
550 |
+
}
|
551 |
+
|
552 |
+
.hfe-admin-addons .addon-item .action-button a {
|
553 |
+
text-decoration: none;
|
554 |
+
}
|
555 |
+
|
556 |
+
/* Modal Popup */
|
557 |
+
.hfe-guide-modal-header {
|
558 |
+
padding: 10px;
|
559 |
+
text-align: center;
|
560 |
+
}
|
561 |
+
.hfe-guide-modal-popup-wrapper .heading {
|
562 |
+
background: #ffffff;
|
563 |
+
padding: 5px 20px;
|
564 |
+
margin-top: 0;
|
565 |
+
box-shadow: 0 0 8px rgb(0 0 0 / 10%);
|
566 |
+
display: flex;
|
567 |
+
justify-content: space-between;
|
568 |
+
}
|
569 |
+
.hfe-guide-modal-popup-wrapper .hfe-admin-guide-section.hfe-admin-about-section,
|
570 |
+
.hfe-guide-modal-popup-wrapper .hfe-admin-column-50:not(.hfe-admin-column-last) {
|
571 |
+
margin: 0px;
|
572 |
+
}
|
573 |
+
.hfe-guide-modal-popup-wrapper .hfe-admin-column-50:not(.hfe-admin-column-last),
|
574 |
+
.hfe-admin-column-last .hfe-guide-content form {
|
575 |
+
padding: 50px;
|
576 |
+
}
|
577 |
+
.hfe-guide-modal-overlay {
|
578 |
+
position: fixed;
|
579 |
+
width: 100%;
|
580 |
+
height: 100%;
|
581 |
+
visibility: hidden;
|
582 |
+
top: 0;
|
583 |
+
bottom: 0;
|
584 |
+
left: 0;
|
585 |
+
right: 0;
|
586 |
+
z-index: 9999;
|
587 |
+
opacity: 0;
|
588 |
+
background: rgba(0,0,0,0.75);
|
589 |
+
-webkit-transition: all .5s;
|
590 |
+
transition: all .5s;
|
591 |
+
}
|
592 |
+
.hfe-guide-modal-content {
|
593 |
+
width: 70%;
|
594 |
+
background-color: #ffffff;
|
595 |
+
opacity: 0;
|
596 |
+
position: relative;
|
597 |
+
margin: 0 auto;
|
598 |
+
transition: all .5s;
|
599 |
+
}
|
600 |
+
.hfe-guide-modal-popup-wrapper {
|
601 |
+
z-index: 99999;
|
602 |
+
top: 51%;
|
603 |
+
transform: translateY(-50%);
|
604 |
+
margin-bottom: 20px;
|
605 |
+
visibility: hidden;
|
606 |
+
position: fixed;
|
607 |
+
left: 0;
|
608 |
+
width: 100%;
|
609 |
+
max-width: 100%;
|
610 |
+
bottom: auto;
|
611 |
+
}
|
612 |
+
.hfe-guide-modal-popup-wrapper .subscription-anim .subscription-label {
|
613 |
+
background-color: #ffffff;
|
614 |
+
}
|
615 |
+
.hfe-guide-modal-popup-wrapper .hfe-admin-about-section {
|
616 |
+
background-color: #f1f3f5;
|
617 |
+
}
|
618 |
+
.hfe-admin-about-section h3 {
|
619 |
+
font-size: 20px;
|
620 |
+
}
|
621 |
+
.hfe-guide-modal-popup-wrapper .hfe-guide-content form {
|
622 |
+
padding: 0px;
|
623 |
+
}
|
624 |
+
.hfe-guide-modal-popup-wrapper .hfe-guide-content {
|
625 |
+
background-color: #ffffff;
|
626 |
+
box-shadow: 0 2px 30px 0 rgb(0 0 0 / 8%);
|
627 |
+
border: 0px;
|
628 |
+
padding: 50px 50px 25px 50px;
|
629 |
+
}
|
630 |
+
.hfe-guide-modal-popup-wrapper .hfe-admin-columns .hfe-admin-column-50.hfe-admin-column-last {
|
631 |
+
width: 50%;
|
632 |
+
margin: 0;
|
633 |
+
padding: 50px;
|
634 |
+
}
|
635 |
+
.hfe-guide-modal-popup-wrapper .hfe-admin-columns .hfe-admin-column-50 {
|
636 |
+
width: 50%;
|
637 |
+
background: unset;
|
638 |
+
border: 0px;
|
639 |
+
}
|
640 |
+
.hfe-guide-modal-popup-wrapper .heading {
|
641 |
+
position: relative;
|
642 |
+
z-index: 1;
|
643 |
+
display: flex;
|
644 |
+
align-items: center;
|
645 |
+
}
|
646 |
+
.hfe-guide-modal-popup-wrapper .hfe-logo {
|
647 |
+
height: 35px;
|
648 |
+
}
|
649 |
+
.hfe-guide-modal-popup-wrapper h3 {
|
650 |
+
width: 100%;
|
651 |
+
margin-left: 15px;
|
652 |
+
}
|
653 |
+
.hfe-guide-modal-popup-wrapper .hfe-admin-about-section.hfe-admin-columns.hfe-admin-guide-section {
|
654 |
+
max-height: 75vh;
|
655 |
+
overflow: auto;
|
656 |
+
}
|
657 |
+
.hfe-guide-modal-popup-wrapper .hfe-admin-about-section-column {
|
658 |
+
padding-bottom: 20px;
|
659 |
+
}
|
660 |
+
.hfe-guide-modal-popup-wrapper .hfe-subscription-step-1-active .hfe-subscription-step-2,
|
661 |
+
.hfe-guide-modal-popup-wrapper .hfe-subscription-step-2-active .hfe-subscription-step-1 {
|
662 |
display: none;
|
663 |
+
}
|
664 |
+
/* Limited this only for modal Popup */
|
665 |
+
.hfe-guide-modal-popup-wrapper .hfe-subscription-row .hfe-input-container,
|
666 |
+
.hfe-guide-modal-popup-wrapper .button {
|
667 |
+
width: 100%;
|
668 |
+
margin-bottom: 5px;
|
669 |
+
}
|
670 |
+
.hfe-guide-modal-popup-wrapper .hfe-subscription-row {
|
671 |
+
display: block;
|
672 |
+
margin-bottom: 0px;
|
673 |
+
}
|
674 |
+
.hfe-guide-modal-popup-wrapper .hfe-admin-about-section-column h2 {
|
675 |
+
font-size: 28px;
|
676 |
+
margin-bottom: 15px;
|
677 |
+
}
|
678 |
+
.hfe-admin-about-section-column h3 {
|
679 |
+
margin-bottom: 0;
|
680 |
+
padding: 15px 30px;
|
681 |
+
border-bottom: 1px solid #c3c4c7;
|
682 |
+
}
|
683 |
+
.hfe-admin-about-section-column h3 {
|
684 |
+
text-align: center;
|
685 |
+
font-size: 18px;
|
686 |
+
line-height: 1.3;
|
687 |
+
}
|
688 |
+
.hfe-show {
|
689 |
+
z-index: 9999;
|
690 |
+
}
|
691 |
+
.hfe-show .hfe-modal-close,
|
692 |
+
.hfe-show .hfe-modal-close.action-button,
|
693 |
+
.hfe-show .hfe-guide-modal-content {
|
694 |
+
visibility: visible;
|
695 |
+
}
|
696 |
+
.hfe-show .hfe-guide-modal-overlay {
|
697 |
+
opacity: 1;
|
698 |
+
visibility: visible;
|
699 |
+
}
|
700 |
+
.hfe-show .hfe-guide-modal-content {
|
701 |
+
opacity: 1;
|
702 |
+
}
|
703 |
+
.hfe-input-container.hfe-error .hfe-subscribe-field {
|
704 |
+
border-color: #d11212;
|
705 |
+
}
|
706 |
+
span.hfe-subscribe-message {
|
707 |
+
width: 100%;
|
708 |
+
display: block;
|
709 |
+
text-align: center;
|
710 |
+
margin-top: 20px;
|
711 |
+
font-size: 14px;
|
712 |
+
font-weight: 400;
|
713 |
+
padding: 15px;
|
714 |
+
}
|
715 |
+
span.hfe-subscribe-message.success {
|
716 |
+
color: #3c763d;
|
717 |
+
background-color: #dff0d8;
|
718 |
+
border-left: 4px solid #93d776;
|
719 |
+
}
|
720 |
+
span.hfe-subscribe-message.error {
|
721 |
+
color: #d11212;
|
722 |
+
background-color: #f2dede96;
|
723 |
+
border-left: 4px solid #c01a1a66;
|
724 |
+
}
|
725 |
+
span.dashicons.dashicons-update.hfe-loader {
|
726 |
+
animation: rotation 2s infinite linear;
|
727 |
+
vertical-align: text-top;
|
728 |
+
margin-left: 7px;
|
729 |
+
}
|
730 |
+
|
731 |
+
@media (max-width: 1249px) {
|
732 |
+
.hfe-admin-addons .addon-container {
|
733 |
+
width: 50%;
|
734 |
+
}
|
735 |
+
}
|
736 |
+
|
737 |
+
@media (max-width: 767px) {
|
738 |
+
.hfe-admin-addons .addon-container {
|
739 |
+
width: 100%;
|
740 |
+
margin-bottom: 20px;
|
741 |
+
}
|
742 |
+
.hfe-admin-about-section .hfe-admin-column-40 {
|
743 |
+
width: 100%;
|
744 |
+
padding-left: 0;
|
745 |
+
padding-top: 20px;
|
746 |
+
}
|
747 |
+
.hfe-admin-about-section .hfe-admin-column-60 {
|
748 |
+
width: 100%;
|
749 |
+
padding-right: 0;
|
750 |
+
}
|
751 |
+
.hfe-admin-addons .addon-item {
|
752 |
+
margin: 0 0;
|
753 |
+
}
|
754 |
+
}
|
755 |
+
|
756 |
+
@media screen and ( max-width: 782px ) {
|
757 |
+
.hfe-subscription-row,
|
758 |
+
.hfe-admin-about-section {
|
759 |
+
display: block;
|
760 |
+
}
|
761 |
+
.hfe-guide-modal-popup-wrapper p.button,
|
762 |
+
.hfe-admin-about-section figure {
|
763 |
+
padding-bottom: 0px;
|
764 |
+
}
|
765 |
+
.hfe-admin-guide-section.hfe-admin-columns .hfe-admin-column-50,
|
766 |
+
.hfe-guide-modal-popup-wrapper .hfe-admin-columns .hfe-admin-column-50.hfe-admin-column-last,
|
767 |
+
.hfe-subscription-row .hfe-input-container {
|
768 |
+
width: 100%;
|
769 |
+
}
|
770 |
+
.hfe-guide-modal-popup-wrapper .hfe-admin-columns .hfe-admin-column-50.hfe-admin-column-last,
|
771 |
+
.hfe-guide-modal-popup-wrapper .hfe-guide-content,
|
772 |
+
.hfe-admin-guide-section .hfe-admin-column-50:not(.hfe-admin-column-last) {
|
773 |
+
padding: 15px;
|
774 |
+
}
|
775 |
+
.hfe-subscribe-email span.dashicons.dashicons-email {
|
776 |
+
font-size: 15px;
|
777 |
+
height: 15px;
|
778 |
+
line-height: 1;
|
779 |
+
width: 15px;
|
780 |
+
}
|
781 |
+
.hfe-subscribe-email input.hfe-subscribe-field {
|
782 |
+
min-height: unset;
|
783 |
+
font-size: 10px;
|
784 |
+
}
|
785 |
+
.hfe-subscribe-field {
|
786 |
+
padding: 5px;
|
787 |
+
}
|
788 |
+
.hfe-admin-guide-section.hfe-admin-about-section {
|
789 |
+
display: block;
|
790 |
+
}
|
791 |
+
.hfe-guide-content .button {
|
792 |
+
font-size: 10px;
|
793 |
+
}
|
794 |
+
.hfe-checkbox-container {
|
795 |
+
display: flex;
|
796 |
+
}
|
797 |
+
.hfe-admin-columns .hfe-admin-column-last {
|
798 |
+
padding-top: 0px;
|
799 |
+
}
|
800 |
+
.hfe-subscription-row select.hfe-subscribe-field {
|
801 |
+
padding: 10px 15px;
|
802 |
+
}
|
803 |
+
.hfe-admin-about-section-column h3 {
|
804 |
+
border-bottom: 0px;
|
805 |
+
}
|
806 |
+
.hfe-admin-about-us {
|
807 |
+
margin-right: 10px;
|
808 |
+
}
|
809 |
+
.hfe-admin-addons .addon-container,
|
810 |
+
.hfe-admin-addons .addon-container:last-child {
|
811 |
+
padding-right: 0px;
|
812 |
+
}
|
813 |
}
|
admin/assets/js/ehf-admin.js
CHANGED
@@ -1,12 +1,494 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
9 |
});
|
10 |
|
11 |
-
|
12 |
-
|
|
1 |
+
;( function( $ ) {
|
2 |
+
|
3 |
+
'use strict';
|
4 |
+
|
5 |
+
// Global settings access.
|
6 |
+
var settings = {
|
7 |
+
iconActivate: '<i class="fa fa-toggle-on fa-flip-horizontal" aria-hidden="true"></i>',
|
8 |
+
iconDeactivate: '<i class="fa fa-toggle-on" aria-hidden="true"></i>',
|
9 |
+
iconInstall: '<i class="fa fa-cloud-download" aria-hidden="true"></i>'
|
10 |
+
};
|
11 |
+
|
12 |
+
var HFEAdmin = {
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Start the engine.
|
16 |
+
*
|
17 |
+
* @since 1.3.9
|
18 |
+
*/
|
19 |
+
_init: function() {
|
20 |
+
|
21 |
+
var ehf_hide_shortcode_field = function() {
|
22 |
+
var selected = $('#ehf_template_type').val() || 'none';
|
23 |
+
$( '.hfe-options-table' ).removeClass().addClass( 'hfe-options-table widefat hfe-selected-template-type-' + selected );
|
24 |
+
}
|
25 |
+
|
26 |
+
var $document = $( document );
|
27 |
+
|
28 |
+
$document.on( 'change', '#ehf_template_type', function( e ) {
|
29 |
+
ehf_hide_shortcode_field();
|
30 |
+
});
|
31 |
+
|
32 |
+
ehf_hide_shortcode_field();
|
33 |
+
|
34 |
+
// Templates page modal popup.
|
35 |
+
HFEAdmin._display_modal();
|
36 |
+
|
37 |
+
$( '.hfe-subscribe-field' ).on( 'keyup', function( e ) {
|
38 |
+
$( '.hfe-subscribe-message' ).remove();
|
39 |
+
});
|
40 |
+
|
41 |
+
$document.on( 'focusout change', '.hfe-subscribe-field', HFEAdmin._validate_single_field );
|
42 |
+
$document.on( 'click input', '.hfe-subscribe-field', HFEAdmin._animate_fields );
|
43 |
+
|
44 |
+
$document.on( 'click', '.hfe-guide-content .submit-1', HFEAdmin._step_one_subscribe );
|
45 |
+
$document.on( 'click', '.hfe-guide-content .submit-2', HFEAdmin._step_two_subscribe );
|
46 |
+
|
47 |
+
$document.on('click', '.hfe-guide-content .button-subscription-skip', HFEAdmin._close_modal );
|
48 |
+
|
49 |
+
// About us - addons functionality.
|
50 |
+
if ( $( '.hfe-admin-addons' ).length ) {
|
51 |
+
|
52 |
+
$document.on( 'click', '.hfe-admin-addons .addon-item button', function( event ) {
|
53 |
+
event.preventDefault();
|
54 |
+
|
55 |
+
if ( $( this ).hasClass( 'disabled' ) ) {
|
56 |
+
return false;
|
57 |
+
}
|
58 |
+
|
59 |
+
HFEAdmin._addons( $( this ) );
|
60 |
+
|
61 |
+
} );
|
62 |
+
|
63 |
+
}
|
64 |
+
},
|
65 |
+
|
66 |
+
_animate_fields: function ( event ) {
|
67 |
+
event.preventDefault();
|
68 |
+
event.stopPropagation();
|
69 |
+
var parentWrapper = $( this ).parents( '.hfe-input-container' );
|
70 |
+
parentWrapper.addClass( 'subscription-anim' );
|
71 |
+
},
|
72 |
+
|
73 |
+
_validate_single_field: function ( event ) {
|
74 |
+
event.preventDefault();
|
75 |
+
event.stopPropagation();
|
76 |
+
HFEAdmin._validate_field( event.target );
|
77 |
+
},
|
78 |
+
|
79 |
+
_validate_field: function ( target ) {
|
80 |
+
|
81 |
+
var field = $( target );
|
82 |
+
var fieldValue = field.val() || '';
|
83 |
+
var parentWrapper = field.parents( '.hfe-input-container' );
|
84 |
+
var fieldStatus = fieldValue.length ? true : false;
|
85 |
+
|
86 |
+
if ( ( field.hasClass( 'hfe-subscribe-email' ) && false === HFEAdmin._is_valid_email( fieldValue ) )) {
|
87 |
+
fieldStatus = false;
|
88 |
+
}
|
89 |
+
|
90 |
+
if ( fieldStatus ) {
|
91 |
+
parentWrapper.removeClass( 'subscription-error' ).addClass( 'subscription-success' );
|
92 |
+
} else {
|
93 |
+
parentWrapper.removeClass( 'subscription-success subscription-anim' ).addClass( 'subscription-error' );
|
94 |
+
|
95 |
+
if ( field.hasClass( 'hfe-subscribe-email' ) && fieldValue.length ) {
|
96 |
+
parentWrapper.addClass( 'subscription-anim' );
|
97 |
+
}
|
98 |
+
}
|
99 |
+
|
100 |
+
},
|
101 |
+
|
102 |
+
/**
|
103 |
+
* Subscribe Form Step One
|
104 |
+
*
|
105 |
+
*/
|
106 |
+
_step_one_subscribe: function( event ) {
|
107 |
+
event.preventDefault();
|
108 |
+
event.stopPropagation();
|
109 |
+
|
110 |
+
var form_one_wrapper = $( '.hfe-subscription-step-1' );
|
111 |
+
|
112 |
+
var first_name_field = form_one_wrapper.find( '.hfe-subscribe-field[name="hfe_subscribe_name"]' );
|
113 |
+
var email_field = form_one_wrapper.find( '.hfe-subscribe-field[name="hfe_subscribe_email"]' );
|
114 |
+
|
115 |
+
HFEAdmin._validate_field( first_name_field );
|
116 |
+
HFEAdmin._validate_field( email_field );
|
117 |
+
|
118 |
+
if ( form_one_wrapper.find( '.hfe-input-container' ).hasClass( 'subscription-error' )) {
|
119 |
+
return;
|
120 |
+
}
|
121 |
+
|
122 |
+
$( '.hfe-guide-content' ).addClass( 'hfe-subscription-step-2-active' ).removeClass( 'hfe-subscription-step-1-active' );
|
123 |
+
|
124 |
+
},
|
125 |
+
|
126 |
+
/**
|
127 |
+
* Subscribe Form
|
128 |
+
*
|
129 |
+
*/
|
130 |
+
_step_two_subscribe: function( event ) {
|
131 |
+
|
132 |
+
event.preventDefault();
|
133 |
+
event.stopPropagation();
|
134 |
+
|
135 |
+
var submit_button = $(this);
|
136 |
+
|
137 |
+
var is_modal = $( '.hfe-guide-modal-popup.hfe-show' );
|
138 |
+
|
139 |
+
var first_name_field = $('.hfe-subscribe-field[name="hfe_subscribe_name"]');
|
140 |
+
var email_field = $('.hfe-subscribe-field[name="hfe_subscribe_email"]');
|
141 |
+
var user_type_field = $('.hfe-subscribe-field[name="wp_user_type"]');
|
142 |
+
var build_for_field = $('.hfe-subscribe-field[name="build_website_for"]');
|
143 |
+
|
144 |
+
var subscription_first_name = first_name_field.val() || '';
|
145 |
+
var subscription_email = email_field.val() || '';
|
146 |
+
var subscription_user_type = user_type_field.val() || '';
|
147 |
+
var subscription_build_for = build_for_field.val() || '';
|
148 |
+
var button_text = submit_button.find( '.hfe-submit-button-text' );
|
149 |
+
|
150 |
+
HFEAdmin._validate_field( first_name_field );
|
151 |
+
HFEAdmin._validate_field( email_field );
|
152 |
+
HFEAdmin._validate_field( user_type_field );
|
153 |
+
HFEAdmin._validate_field( build_for_field );
|
154 |
+
|
155 |
+
$( '.hfe-subscribe-message' ).remove();
|
156 |
+
|
157 |
+
if ( $( '.hfe-input-container' ).hasClass( 'subscription-error' )) {
|
158 |
+
return;
|
159 |
+
}
|
160 |
+
|
161 |
+
submit_button.removeClass( 'submitted' );
|
162 |
+
|
163 |
+
if( ! submit_button.hasClass( 'submitting' ) ) {
|
164 |
+
submit_button.addClass( 'submitting' );
|
165 |
+
} else {
|
166 |
+
return;
|
167 |
+
}
|
168 |
+
|
169 |
+
var subscription_fields = {
|
170 |
+
EMAIL: subscription_email,
|
171 |
+
FIRSTNAME: subscription_first_name,
|
172 |
+
PAGE_BUILDER: "1",
|
173 |
+
WP_USER_TYPE: subscription_user_type,
|
174 |
+
BUILD_WEBSITE_FOR: subscription_build_for,
|
175 |
+
SOURCE: hfe_admin_data.data_source
|
176 |
+
};
|
177 |
+
|
178 |
+
$.ajax({
|
179 |
+
url : hfe_admin_data.ajax_url,
|
180 |
+
type : 'POST',
|
181 |
+
data : {
|
182 |
+
action : 'hfe-update-subscription',
|
183 |
+
nonce : hfe_admin_data.nonce,
|
184 |
+
data: JSON.stringify( subscription_fields ),
|
185 |
+
},
|
186 |
+
beforeSend: function() {
|
187 |
+
console.groupCollapsed( 'Email Subscription' );
|
188 |
+
|
189 |
+
button_text.append( '<span class="dashicons dashicons-update hfe-loader"></span>' );
|
190 |
+
|
191 |
+
},
|
192 |
+
})
|
193 |
+
.done( function ( response ) {
|
194 |
+
|
195 |
+
$( '.hfe-loader.dashicons-update' ).remove();
|
196 |
+
|
197 |
+
submit_button.removeClass( 'submitting' ).addClass('submitted');
|
198 |
+
|
199 |
+
if( response.success === true ) {
|
200 |
+
$('.hfe-admin-about-section form').trigger( "reset" );
|
201 |
+
$( '.hfe-input-container' ).removeClass( 'subscription-success subscription-anim' );
|
202 |
+
|
203 |
+
submit_button.after( '<span class="hfe-subscribe-message success">' + hfe_admin_data.subscribe_success + '</span>' );
|
204 |
+
} else {
|
205 |
+
submit_button.after( '<span class="hfe-subscribe-message error">' + hfe_admin_data.subscribe_error + '</span>' );
|
206 |
+
}
|
207 |
+
|
208 |
+
if( is_modal.length ) {
|
209 |
+
window.setTimeout( function () {
|
210 |
+
window.location = $( '.hfe-guide-modal-popup' ).data( 'new-page' );
|
211 |
+
}, 3000 );
|
212 |
+
}
|
213 |
+
|
214 |
+
});
|
215 |
+
|
216 |
+
},
|
217 |
+
|
218 |
+
/**
|
219 |
+
* email Validation
|
220 |
+
*
|
221 |
+
*/
|
222 |
+
_is_valid_email: function(eMail) {
|
223 |
+
if (/^[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/.test( eMail ) ) {
|
224 |
+
return true;
|
225 |
+
}
|
226 |
+
|
227 |
+
return false;
|
228 |
+
},
|
229 |
+
|
230 |
+
/**
|
231 |
+
* Display the Modal Popup
|
232 |
+
*
|
233 |
+
*/
|
234 |
+
_display_modal: function() {
|
235 |
+
var hf_new_post = $( '.post-type-elementor-hf' ).find( '.page-title-action' );
|
236 |
+
|
237 |
+
var modal_wrapper = $( '.hfe-guide-modal-popup' );
|
238 |
+
var display_allow = hfe_admin_data.popup_dismiss;
|
239 |
+
|
240 |
+
if( 'dismissed' !== display_allow[0] ) {
|
241 |
+
// Display Modal Popup on click of Add new button.
|
242 |
+
hf_new_post.on( 'click', function(e) {
|
243 |
+
if( modal_wrapper.length && ! modal_wrapper.hasClass( 'hfe-show' ) ) {
|
244 |
+
e.preventDefault();
|
245 |
+
e.stopPropagation();
|
246 |
+
modal_wrapper.addClass( 'hfe-show' );
|
247 |
+
}
|
248 |
+
});
|
249 |
+
}
|
250 |
+
},
|
251 |
+
|
252 |
+
/**
|
253 |
+
* Close the Modal Popup
|
254 |
+
*
|
255 |
+
*/
|
256 |
+
_close_modal: function() {
|
257 |
+
var modal_wrapper = $( '.hfe-guide-modal-popup' );
|
258 |
+
var new_page_link = modal_wrapper.data( 'new-page' );
|
259 |
+
|
260 |
+
$.ajax({
|
261 |
+
url: hfe_admin_data.ajax_url,
|
262 |
+
type: 'POST',
|
263 |
+
data: {
|
264 |
+
action : 'hfe_admin_modal',
|
265 |
+
nonce : hfe_admin_data.nonce,
|
266 |
+
},
|
267 |
+
});
|
268 |
+
|
269 |
+
if( modal_wrapper.hasClass( 'hfe-show' ) ) {
|
270 |
+
modal_wrapper.removeClass( 'hfe-show' );
|
271 |
+
}
|
272 |
+
|
273 |
+
window.location = new_page_link;
|
274 |
+
},
|
275 |
+
|
276 |
+
/**
|
277 |
+
* Toggle addon state.
|
278 |
+
*/
|
279 |
+
_addons: function( $button ) {
|
280 |
+
|
281 |
+
var $addon = $button.closest( '.addon-item' ),
|
282 |
+
plugin = $button.attr( 'data-plugin' ),
|
283 |
+
addonType = $button.attr( 'data-type' ),
|
284 |
+
addonSlug = $button.attr( 'data-slug' ),
|
285 |
+
addonFile = $button.attr( 'data-file' ),
|
286 |
+
state,
|
287 |
+
cssClass,
|
288 |
+
stateText,
|
289 |
+
buttonText,
|
290 |
+
errorText,
|
291 |
+
successText;
|
292 |
+
|
293 |
+
if ( $button.hasClass( 'status-go-to-url' ) ) {
|
294 |
+
|
295 |
+
// Open url in new tab.
|
296 |
+
window.open( $button.attr( 'data-site' ), '_blank' );
|
297 |
+
return;
|
298 |
+
}
|
299 |
+
|
300 |
+
$button.prop( 'disabled', true ).addClass( 'loading' );
|
301 |
+
$button.html( '<span class="dashicons dashicons-update hfe-loader"></span>' );
|
302 |
+
|
303 |
+
if ( $button.hasClass( 'status-active' ) ) {
|
304 |
+
|
305 |
+
// Deactivate.
|
306 |
+
state = 'deactivate';
|
307 |
+
cssClass = 'status-inactive';
|
308 |
+
cssClass += ' button button-secondary';
|
309 |
+
stateText = hfe_admin_data.addon_inactive;
|
310 |
+
buttonText = hfe_admin_data.addon_activate;
|
311 |
+
errorText = hfe_admin_data.addon_deactivate;
|
312 |
+
|
313 |
+
} else if ( $button.hasClass( 'status-inactive' ) ) {
|
314 |
+
|
315 |
+
// Activate.
|
316 |
+
state = 'activate';
|
317 |
+
cssClass = 'status-active';
|
318 |
+
cssClass += ' button button-secondary disabled';
|
319 |
+
stateText = hfe_admin_data.addon_active;
|
320 |
+
buttonText = hfe_admin_data.addon_deactivate;
|
321 |
+
buttonText = hfe_admin_data.addon_activated;
|
322 |
+
errorText = hfe_admin_data.addon_activate;
|
323 |
+
|
324 |
+
} else if ( $button.hasClass( 'status-download' ) ) {
|
325 |
+
|
326 |
+
// Install & Activate.
|
327 |
+
state = 'install';
|
328 |
+
cssClass = 'status-active';
|
329 |
+
cssClass += ' button disabled';
|
330 |
+
stateText = hfe_admin_data.addon_active;
|
331 |
+
buttonText = hfe_admin_data.addon_activated;
|
332 |
+
errorText = settings.iconInstall;
|
333 |
+
|
334 |
+
} else {
|
335 |
+
return;
|
336 |
+
}
|
337 |
+
|
338 |
+
HFEAdmin._set_addon_state( plugin, state, addonType, addonSlug, function( res ) {
|
339 |
+
|
340 |
+
if ( res.success ) {
|
341 |
+
if ( 'install' === state ) {
|
342 |
+
successText = res.msg;
|
343 |
+
$button.attr( 'data-plugin', addonFile );
|
344 |
+
|
345 |
+
stateText = hfe_admin_data.addon_inactive;
|
346 |
+
buttonText = ( addonType === 'theme' || addonType === 'plugin' ) ? hfe_admin_data.addon_activate : settings.iconActivate + hfe_admin_data.addon_activate;
|
347 |
+
cssClass = ( addonType === 'theme' || addonType === 'plugin' ) ? 'status-inactive button button-secondary' : 'status-inactive';
|
348 |
+
} else {
|
349 |
+
successText = res.data;
|
350 |
+
}
|
351 |
+
$addon.find( '.actions' ).append( '<div class="msg success">' + successText + '</div>' );
|
352 |
+
$addon.find( 'span.status-label' )
|
353 |
+
.removeClass( 'status-active status-inactive status-download' )
|
354 |
+
.addClass( cssClass )
|
355 |
+
.removeClass( 'button button-primary button-secondary disabled' )
|
356 |
+
.text( stateText );
|
357 |
+
$button
|
358 |
+
.removeClass( 'status-active status-inactive status-download' )
|
359 |
+
.removeClass( 'button button-primary button-secondary disabled' )
|
360 |
+
.addClass( cssClass ).html( buttonText );
|
361 |
+
} else {
|
362 |
+
|
363 |
+
if ( 'install' === state && ( addonType === 'theme' || addonType === 'plugin' ) ) {
|
364 |
+
$addon.find( '.actions' ).append( '<div class="msg error">' + res.msg + '</div>' );
|
365 |
+
$button.addClass( 'status-go-to-url' ).removeClass( 'status-download' );
|
366 |
+
} else {
|
367 |
+
var error_msg = ( 'object' === typeof res.data ) ? hfe_admin_data.plugin_error : res.data;
|
368 |
+
$addon.find( '.actions' ).append( '<div class="msg error">' + error_msg + '</div>' );
|
369 |
+
}
|
370 |
+
|
371 |
+
if( 'ultimate-elementor' === addonSlug ) {
|
372 |
+
$button.addClass( 'status-go-to-url' );
|
373 |
+
$button.html( hfe_admin_data.visit_site );
|
374 |
+
} else {
|
375 |
+
$button.html( hfe_admin_data.addon_download );
|
376 |
+
}
|
377 |
+
}
|
378 |
+
|
379 |
+
$button.prop( 'disabled', false ).removeClass( 'loading' );
|
380 |
+
|
381 |
+
// Automatically clear the messages after 3 seconds.
|
382 |
+
setTimeout( function() {
|
383 |
+
$( '.addon-item .msg' ).remove();
|
384 |
+
}, 3000 );
|
385 |
+
|
386 |
+
} );
|
387 |
+
},
|
388 |
+
|
389 |
+
/**
|
390 |
+
* Change plugin/addon state.
|
391 |
+
*
|
392 |
+
* @since 1.6.0
|
393 |
+
*
|
394 |
+
* @param {string} plugin Plugin/Theme URL for download.
|
395 |
+
* @param {string} state State status activate|deactivate|install.
|
396 |
+
* @param {string} addonType Plugin/Theme type addon or plugin.
|
397 |
+
* @param {string} addonSlug Plugin/Theme slug addon or plugin.
|
398 |
+
* @param {Function} callback Callback for get result from AJAX.
|
399 |
+
*/
|
400 |
+
_set_addon_state: function( plugin, state, addonType, addonSlug, callback ) {
|
401 |
+
|
402 |
+
var actions = {
|
403 |
+
'activate': 'hfe_activate_addon',
|
404 |
+
'install': '',
|
405 |
+
},
|
406 |
+
action = actions[ state ];
|
407 |
+
|
408 |
+
if ( ! action && 'install' !== state ) {
|
409 |
+
return;
|
410 |
+
}
|
411 |
+
|
412 |
+
var data_result = {
|
413 |
+
success : false,
|
414 |
+
msg : hfe_admin_data.subscribe_error,
|
415 |
+
};
|
416 |
+
|
417 |
+
if( 'install' === state ) {
|
418 |
+
|
419 |
+
if ( wp.updates.shouldRequestFilesystemCredentials && ! wp.updates.ajaxLocked ) {
|
420 |
+
wp.updates.requestFilesystemCredentials();
|
421 |
+
}
|
422 |
+
|
423 |
+
if( 'theme' === addonType ) {
|
424 |
+
|
425 |
+
wp.updates.installTheme ( {
|
426 |
+
slug: addonSlug,
|
427 |
+
success: function() {
|
428 |
+
data_result.success = true;
|
429 |
+
data_result.msg = hfe_admin_data.theme_installed;
|
430 |
+
|
431 |
+
},
|
432 |
+
error: function( xhr ) {
|
433 |
+
console.log( xhr.errorCode );
|
434 |
+
if ( 'folder_exists' === xhr.errorCode ) {
|
435 |
+
data_result.success = true;
|
436 |
+
data_result.msg = hfe_admin_data.addon_exists;
|
437 |
+
} else {
|
438 |
+
data_result.success = false;
|
439 |
+
data_result.msg = hfe_admin_data.plugin_error;
|
440 |
+
}
|
441 |
+
},
|
442 |
+
}).always( function () {
|
443 |
+
callback( data_result );
|
444 |
+
});
|
445 |
+
|
446 |
+
} else if( 'plugin' === addonType ) {
|
447 |
+
|
448 |
+
wp.updates.installPlugin ( {
|
449 |
+
slug: addonSlug,
|
450 |
+
success: function() {
|
451 |
+
data_result.success = true;
|
452 |
+
data_result.msg = hfe_admin_data.plugin_installed;
|
453 |
+
},
|
454 |
+
error: function( xhr ) {
|
455 |
+
console.log( xhr.errorCode );
|
456 |
+
if ( 'folder_exists' === xhr.errorCode ) {
|
457 |
+
data_result.success = true;
|
458 |
+
data_result.msg = hfe_admin_data.addon_exists;
|
459 |
+
} else {
|
460 |
+
data_result.success = false;
|
461 |
+
data_result.msg = hfe_admin_data.plugin_error;
|
462 |
+
}
|
463 |
+
},
|
464 |
+
}).always( function () {
|
465 |
+
callback( data_result );
|
466 |
+
});
|
467 |
+
}
|
468 |
+
|
469 |
+
} else if( 'activate' === state ) {
|
470 |
+
|
471 |
+
var data = {
|
472 |
+
action: action,
|
473 |
+
nonce: hfe_admin_data.nonce,
|
474 |
+
plugin: plugin,
|
475 |
+
type: addonType,
|
476 |
+
slug: addonSlug
|
477 |
+
};
|
478 |
+
|
479 |
+
$.post( hfe_admin_data.ajax_url, data, function( res ) {
|
480 |
+
callback( res );
|
481 |
+
} ).fail( function( xhr ) {
|
482 |
+
console.log( xhr.responseText );
|
483 |
+
} );
|
484 |
+
}
|
485 |
+
}
|
486 |
+
};
|
487 |
+
|
488 |
+
$( document ).ready( function( e ) {
|
489 |
+
HFEAdmin._init();
|
490 |
});
|
491 |
|
492 |
+
window.HFEAdmin = HFEAdmin;
|
493 |
+
|
494 |
+
} )( jQuery );
|
admin/class-hfe-addons-actions.php
ADDED
@@ -0,0 +1,175 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* Plugin AJAX functions.
|
4 |
+
*
|
5 |
+
* @package header-footer-elementor
|
6 |
+
*/
|
7 |
+
|
8 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
9 |
+
exit;
|
10 |
+
}
|
11 |
+
|
12 |
+
if ( ! class_exists( 'HFE_Addons_Actions' ) ) {
|
13 |
+
|
14 |
+
/**
|
15 |
+
* Initialization
|
16 |
+
*
|
17 |
+
* @since 1.6.0
|
18 |
+
*/
|
19 |
+
class HFE_Addons_Actions {
|
20 |
+
|
21 |
+
/**
|
22 |
+
* Member Variable
|
23 |
+
*
|
24 |
+
* @var instance
|
25 |
+
*/
|
26 |
+
private static $instance;
|
27 |
+
|
28 |
+
/**
|
29 |
+
* Initiator
|
30 |
+
*/
|
31 |
+
public static function get_instance() {
|
32 |
+
if ( ! isset( self::$instance ) ) {
|
33 |
+
self::$instance = new self();
|
34 |
+
}
|
35 |
+
return self::$instance;
|
36 |
+
}
|
37 |
+
|
38 |
+
/**
|
39 |
+
* Constructor
|
40 |
+
*/
|
41 |
+
public function __construct() {
|
42 |
+
add_action( 'wp_ajax_hfe_admin_modal', [ $this, 'hfe_admin_modal' ] );
|
43 |
+
add_action( 'wp_ajax_hfe-update-subscription', [ $this, 'update_subscription' ] );
|
44 |
+
add_action( 'wp_ajax_hfe_activate_addon', [ $this, 'hfe_activate_addon' ] );
|
45 |
+
}
|
46 |
+
|
47 |
+
/**
|
48 |
+
* Open modal popup.
|
49 |
+
*
|
50 |
+
* @since 1.6.0
|
51 |
+
*/
|
52 |
+
public function hfe_admin_modal() {
|
53 |
+
|
54 |
+
// Run a security check.
|
55 |
+
check_ajax_referer( 'hfe-admin-nonce', 'nonce' );
|
56 |
+
|
57 |
+
update_user_meta( get_current_user_id(), 'hfe-popup', 'dismissed' );
|
58 |
+
}
|
59 |
+
|
60 |
+
/**
|
61 |
+
* Update Subscription
|
62 |
+
*
|
63 |
+
* @since 1.6.0
|
64 |
+
*/
|
65 |
+
public function update_subscription() {
|
66 |
+
|
67 |
+
check_ajax_referer( 'hfe-admin-nonce', 'nonce' );
|
68 |
+
|
69 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
70 |
+
wp_send_json_error( 'You can\'t perform this action.' );
|
71 |
+
}
|
72 |
+
|
73 |
+
$api_domain = trailingslashit( $this->get_api_domain() );
|
74 |
+
|
75 |
+
$arguments = isset( $_POST['data'] ) ? array_map( 'sanitize_text_field', json_decode( stripslashes( $_POST['data'] ), true ) ) : [];
|
76 |
+
|
77 |
+
$url = add_query_arg( $arguments, $api_domain . 'wp-json/starter-templates/v1/subscribe/' ); // add URL of your site or mail API.
|
78 |
+
|
79 |
+
$response = wp_remote_post( $url, [ 'timeout' => 60 ] );
|
80 |
+
|
81 |
+
if ( ! is_wp_error( $response ) || wp_remote_retrieve_response_code( $response ) === 200 ) {
|
82 |
+
$response = json_decode( wp_remote_retrieve_body( $response ), true );
|
83 |
+
|
84 |
+
// Successfully subscribed.
|
85 |
+
if ( isset( $response['success'] ) && $response['success'] ) {
|
86 |
+
update_user_meta( get_current_user_ID(), 'hfe-subscribed', 'yes' );
|
87 |
+
wp_send_json_success( $response );
|
88 |
+
}
|
89 |
+
} else {
|
90 |
+
wp_send_json_error( $response );
|
91 |
+
}
|
92 |
+
|
93 |
+
}
|
94 |
+
|
95 |
+
/**
|
96 |
+
* Get the API URL.
|
97 |
+
*
|
98 |
+
* @since 1.6.0
|
99 |
+
*/
|
100 |
+
public function get_api_domain() {
|
101 |
+
return apply_filters( 'hfe_api_domain', 'https://websitedemos.net/' );
|
102 |
+
}
|
103 |
+
|
104 |
+
/**
|
105 |
+
* Activate addon.
|
106 |
+
*
|
107 |
+
* @since 1.6.0
|
108 |
+
*/
|
109 |
+
public function hfe_activate_addon() {
|
110 |
+
|
111 |
+
// Run a security check.
|
112 |
+
check_ajax_referer( 'hfe-admin-nonce', 'nonce' );
|
113 |
+
|
114 |
+
if ( isset( $_POST['plugin'] ) ) {
|
115 |
+
|
116 |
+
$type = '';
|
117 |
+
if ( ! empty( $_POST['type'] ) ) {
|
118 |
+
$type = sanitize_key( wp_unslash( $_POST['type'] ) );
|
119 |
+
}
|
120 |
+
|
121 |
+
$plugin = sanitize_text_field( $_POST['plugin'] );
|
122 |
+
|
123 |
+
if ( 'plugin' === $type ) {
|
124 |
+
|
125 |
+
// Check for permissions.
|
126 |
+
if ( ! current_user_can( 'activate_plugins' ) ) {
|
127 |
+
wp_send_json_error( esc_html__( 'Plugin activation is disabled for you on this site.', 'header-footer-elementor' ) );
|
128 |
+
}
|
129 |
+
|
130 |
+
$activate = activate_plugins( $plugin );
|
131 |
+
|
132 |
+
if ( ! is_wp_error( $activate ) ) {
|
133 |
+
|
134 |
+
do_action( 'hfe_plugin_activated', $plugin );
|
135 |
+
|
136 |
+
wp_send_json_success( esc_html__( 'Plugin Activated.', 'header-footer-elementor' ) );
|
137 |
+
}
|
138 |
+
}
|
139 |
+
|
140 |
+
if ( 'theme' === $type ) {
|
141 |
+
|
142 |
+
$slug = sanitize_key( wp_unslash( $_POST['slug'] ) );
|
143 |
+
|
144 |
+
// Check for permissions.
|
145 |
+
if ( ! ( current_user_can( 'switch_themes' ) ) ) {
|
146 |
+
wp_send_json_error( esc_html__( 'Theme activation is disabled for you on this site.', 'header-footer-elementor' ) );
|
147 |
+
}
|
148 |
+
|
149 |
+
$activate = switch_theme( $slug );
|
150 |
+
|
151 |
+
if ( ! is_wp_error( $activate ) ) {
|
152 |
+
|
153 |
+
do_action( 'hfe_theme_activated', $plugin );
|
154 |
+
|
155 |
+
wp_send_json_success( esc_html__( 'Theme Activated.', 'header-footer-elementor' ) );
|
156 |
+
}
|
157 |
+
}
|
158 |
+
}
|
159 |
+
|
160 |
+
if ( 'plugin' === $type ) {
|
161 |
+
wp_send_json_error( esc_html__( 'Could not activate plugin. Please activate from the Plugins page.', 'header-footer-elementor' ) );
|
162 |
+
} elseif ( 'theme' === $type ) {
|
163 |
+
wp_send_json_error( esc_html__( 'Could not activate theme. Please activate from the Themes page.', 'header-footer-elementor' ) );
|
164 |
+
}
|
165 |
+
}
|
166 |
+
|
167 |
+
}
|
168 |
+
|
169 |
+
/**
|
170 |
+
* Kicking this off by calling 'get_instance()' method
|
171 |
+
*/
|
172 |
+
HFE_Addons_Actions::get_instance();
|
173 |
+
|
174 |
+
}
|
175 |
+
|
admin/class-hfe-admin.php
CHANGED
@@ -87,6 +87,7 @@ class HFE_Admin {
|
|
87 |
if ( is_admin() ) {
|
88 |
add_action( 'manage_elementor-hf_posts_custom_column', [ $this, 'column_content' ], 10, 2 );
|
89 |
add_filter( 'manage_elementor-hf_posts_columns', [ $this, 'column_headings' ] );
|
|
|
90 |
}
|
91 |
}
|
92 |
/**
|
@@ -212,24 +213,24 @@ class HFE_Admin {
|
|
212 |
|
213 |
|
214 |
/**
|
215 |
-
* Register Post type for
|
216 |
*/
|
217 |
public function header_footer_posttype() {
|
218 |
$labels = [
|
219 |
-
'name' => __( 'Elementor
|
220 |
-
'singular_name' => __( 'Elementor Header Footer
|
221 |
-
'menu_name' => __( 'Elementor
|
222 |
-
'name_admin_bar' => __( 'Elementor Header Footer
|
223 |
'add_new' => __( 'Add New', 'header-footer-elementor' ),
|
224 |
-
'add_new_item' => __( 'Add New Header
|
225 |
-
'new_item' => __( 'New
|
226 |
-
'edit_item' => __( 'Edit
|
227 |
-
'view_item' => __( 'View
|
228 |
-
'all_items' => __( 'All
|
229 |
-
'search_items' => __( 'Search
|
230 |
-
'parent_item_colon' => __( 'Parent
|
231 |
-
'not_found' => __( 'No
|
232 |
-
'not_found_in_trash' => __( 'No
|
233 |
];
|
234 |
|
235 |
$args = [
|
@@ -249,17 +250,17 @@ class HFE_Admin {
|
|
249 |
}
|
250 |
|
251 |
/**
|
252 |
-
* Register the admin menu for Header
|
253 |
*
|
254 |
* @since 1.0.0
|
255 |
* @since 1.0.1
|
256 |
-
* Moved the menu under Appearance -> Header
|
257 |
*/
|
258 |
public function register_admin_menu() {
|
259 |
add_submenu_page(
|
260 |
'themes.php',
|
261 |
-
__( 'Header Footer
|
262 |
-
__( 'Header Footer
|
263 |
'edit_pages',
|
264 |
'edit.php?post_type=elementor-hf'
|
265 |
);
|
@@ -271,7 +272,7 @@ class HFE_Admin {
|
|
271 |
function ehf_register_metabox() {
|
272 |
add_meta_box(
|
273 |
'ehf-meta-box',
|
274 |
-
__( 'Elementor
|
275 |
[
|
276 |
$this,
|
277 |
'efh_metabox_render',
|
@@ -516,7 +517,7 @@ class HFE_Admin {
|
|
516 |
}
|
517 |
|
518 |
/**
|
519 |
-
* Don't display the elementor
|
520 |
*
|
521 |
* @since 1.0.0
|
522 |
*/
|
87 |
if ( is_admin() ) {
|
88 |
add_action( 'manage_elementor-hf_posts_custom_column', [ $this, 'column_content' ], 10, 2 );
|
89 |
add_filter( 'manage_elementor-hf_posts_columns', [ $this, 'column_headings' ] );
|
90 |
+
require_once HFE_DIR . 'admin/class-hfe-addons-actions.php';
|
91 |
}
|
92 |
}
|
93 |
/**
|
213 |
|
214 |
|
215 |
/**
|
216 |
+
* Register Post type for Elementor Header & Footer Builder templates
|
217 |
*/
|
218 |
public function header_footer_posttype() {
|
219 |
$labels = [
|
220 |
+
'name' => __( 'Elementor Header & Footer Builder', 'header-footer-elementor' ),
|
221 |
+
'singular_name' => __( 'Elementor Header & Footer Builder', 'header-footer-elementor' ),
|
222 |
+
'menu_name' => __( 'Elementor Header & Footer Builder', 'header-footer-elementor' ),
|
223 |
+
'name_admin_bar' => __( 'Elementor Header & Footer Builder', 'header-footer-elementor' ),
|
224 |
'add_new' => __( 'Add New', 'header-footer-elementor' ),
|
225 |
+
'add_new_item' => __( 'Add New Header or Footer', 'header-footer-elementor' ),
|
226 |
+
'new_item' => __( 'New Template', 'header-footer-elementor' ),
|
227 |
+
'edit_item' => __( 'Edit Template', 'header-footer-elementor' ),
|
228 |
+
'view_item' => __( 'View Template', 'header-footer-elementor' ),
|
229 |
+
'all_items' => __( 'All Templates', 'header-footer-elementor' ),
|
230 |
+
'search_items' => __( 'Search Templates', 'header-footer-elementor' ),
|
231 |
+
'parent_item_colon' => __( 'Parent Templates:', 'header-footer-elementor' ),
|
232 |
+
'not_found' => __( 'No Templates found.', 'header-footer-elementor' ),
|
233 |
+
'not_found_in_trash' => __( 'No Templates found in Trash.', 'header-footer-elementor' ),
|
234 |
];
|
235 |
|
236 |
$args = [
|
250 |
}
|
251 |
|
252 |
/**
|
253 |
+
* Register the admin menu for Elementor Header & Footer Builder.
|
254 |
*
|
255 |
* @since 1.0.0
|
256 |
* @since 1.0.1
|
257 |
+
* Moved the menu under Appearance -> Elementor Header & Footer Builder
|
258 |
*/
|
259 |
public function register_admin_menu() {
|
260 |
add_submenu_page(
|
261 |
'themes.php',
|
262 |
+
__( 'Elementor Header & Footer Builder', 'header-footer-elementor' ),
|
263 |
+
__( 'Elementor Header & Footer Builder', 'header-footer-elementor' ),
|
264 |
'edit_pages',
|
265 |
'edit.php?post_type=elementor-hf'
|
266 |
);
|
272 |
function ehf_register_metabox() {
|
273 |
add_meta_box(
|
274 |
'ehf-meta-box',
|
275 |
+
__( 'Elementor Header & Footer Builder Options', 'header-footer-elementor' ),
|
276 |
[
|
277 |
$this,
|
278 |
'efh_metabox_render',
|
517 |
}
|
518 |
|
519 |
/**
|
520 |
+
* Don't display the elementor Elementor Header & Footer Builder templates on the frontend for non edit_posts capable users.
|
521 |
*
|
522 |
* @since 1.0.0
|
523 |
*/
|
assets/images/settings/our-team.jpeg
ADDED
Binary file
|
assets/images/settings/plugin-astra.png
ADDED
Binary file
|
assets/images/settings/plugin-st.png
ADDED
Binary file
|
assets/images/settings/plugin-uae.png
ADDED
Binary file
|
header-footer-elementor.php
CHANGED
@@ -1,20 +1,21 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
* Plugin Name: Elementor
|
4 |
* Plugin URI: https://github.com/Nikschavan/header-footer-elementor
|
5 |
* Description: This powerful plugin allows creating a custom header, footer with Elementor and display them on selected locations. You can also create custom Elementor blocks and place them anywhere on the website with a shortcode.
|
6 |
* Author: Brainstorm Force, Nikhil Chavan
|
7 |
* Author URI: https://www.brainstormforce.com/
|
8 |
* Text Domain: header-footer-elementor
|
9 |
* Domain Path: /languages
|
10 |
-
* Version: 1.
|
11 |
-
* Elementor tested up to: 3.2
|
12 |
-
* Elementor Pro tested up to: 3.
|
13 |
*
|
14 |
* @package header-footer-elementor
|
15 |
*/
|
16 |
|
17 |
-
define( 'HFE_VER', '1.
|
|
|
18 |
define( 'HFE_DIR', plugin_dir_path( __FILE__ ) );
|
19 |
define( 'HFE_URL', plugins_url( '/', __FILE__ ) );
|
20 |
define( 'HFE_PATH', plugin_basename( __FILE__ ) );
|
@@ -25,6 +26,15 @@ define( 'HFE_DOMAIN', trailingslashit( 'https://ultimateelementor.com' ) );
|
|
25 |
*/
|
26 |
require_once HFE_DIR . '/inc/class-header-footer-elementor.php';
|
27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
28 |
/**
|
29 |
* Load the Plugin Class.
|
30 |
*/
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Plugin Name: Elementor Header & Footer Builder
|
4 |
* Plugin URI: https://github.com/Nikschavan/header-footer-elementor
|
5 |
* Description: This powerful plugin allows creating a custom header, footer with Elementor and display them on selected locations. You can also create custom Elementor blocks and place them anywhere on the website with a shortcode.
|
6 |
* Author: Brainstorm Force, Nikhil Chavan
|
7 |
* Author URI: https://www.brainstormforce.com/
|
8 |
* Text Domain: header-footer-elementor
|
9 |
* Domain Path: /languages
|
10 |
+
* Version: 1.6.0
|
11 |
+
* Elementor tested up to: 3.2.5
|
12 |
+
* Elementor Pro tested up to: 3.3.1
|
13 |
*
|
14 |
* @package header-footer-elementor
|
15 |
*/
|
16 |
|
17 |
+
define( 'HFE_VER', '1.6.0' );
|
18 |
+
define( 'HFE_FILE', __FILE__ );
|
19 |
define( 'HFE_DIR', plugin_dir_path( __FILE__ ) );
|
20 |
define( 'HFE_URL', plugins_url( '/', __FILE__ ) );
|
21 |
define( 'HFE_PATH', plugin_basename( __FILE__ ) );
|
26 |
*/
|
27 |
require_once HFE_DIR . '/inc/class-header-footer-elementor.php';
|
28 |
|
29 |
+
/**
|
30 |
+
* Load the Plugin Class.
|
31 |
+
*/
|
32 |
+
function hfe_plugin_activation() {
|
33 |
+
update_option( 'hfe_plugin_is_activated', 'yes' );
|
34 |
+
}
|
35 |
+
|
36 |
+
register_activation_hook( HFE_FILE, 'hfe_plugin_activation' );
|
37 |
+
|
38 |
/**
|
39 |
* Load the Plugin Class.
|
40 |
*/
|
inc/class-header-footer-elementor.php
CHANGED
@@ -67,6 +67,8 @@ class Header_Footer_Elementor {
|
|
67 |
$this->includes();
|
68 |
$this->load_textdomain();
|
69 |
|
|
|
|
|
70 |
if ( 'genesis' == $this->template ) {
|
71 |
require HFE_DIR . 'themes/genesis/class-hfe-genesis-compat.php';
|
72 |
} elseif ( 'astra' == $this->template ) {
|
@@ -83,7 +85,11 @@ class Header_Footer_Elementor {
|
|
83 |
} elseif ( 'hello-elementor' == $this->template ) {
|
84 |
require HFE_DIR . 'themes/hello-elementor/class-hfe-hello-elementor-compat.php';
|
85 |
} else {
|
86 |
-
|
|
|
|
|
|
|
|
|
87 |
}
|
88 |
|
89 |
// Scripts and styles.
|
@@ -109,7 +115,7 @@ class Header_Footer_Elementor {
|
|
109 |
$bsf_analytics->set_entity(
|
110 |
[
|
111 |
'bsf' => [
|
112 |
-
'product_name' => 'Elementor
|
113 |
'path' => HFE_DIR . 'admin/bsf-analytics',
|
114 |
'author' => 'Brainstorm Force',
|
115 |
'time_to_display' => '+24 hours',
|
@@ -118,6 +124,7 @@ class Header_Footer_Elementor {
|
|
118 |
);
|
119 |
|
120 |
}
|
|
|
121 |
}
|
122 |
|
123 |
/**
|
@@ -167,8 +174,8 @@ class Header_Footer_Elementor {
|
|
167 |
</div>
|
168 |
</div>',
|
169 |
$image_path,
|
170 |
-
__( 'Hello! Seems like you have used Elementor
|
171 |
-
__( 'Could you please do us a BIG favor and give it a 5-star rating on WordPress? This would boost our motivation and help other users make a comfortable decision while choosing the Elementor
|
172 |
'https://wordpress.org/support/plugin/header-footer-elementor/reviews/?filter=5#new-post',
|
173 |
__( 'Ok, you deserve it', 'header-footer-elementor' ),
|
174 |
MONTH_IN_SECONDS,
|
@@ -222,32 +229,39 @@ class Header_Footer_Elementor {
|
|
222 |
*/
|
223 |
public function elementor_not_installed_activated() {
|
224 |
|
225 |
-
|
226 |
-
if (
|
227 |
return;
|
228 |
}
|
229 |
|
230 |
-
|
231 |
-
|
232 |
-
|
233 |
-
|
|
|
234 |
|
235 |
-
|
|
|
|
|
|
|
236 |
|
237 |
-
|
238 |
|
239 |
-
|
240 |
-
$button_label = __( 'Activate Elementor', 'header-footer-elementor' );
|
241 |
|
242 |
-
|
|
|
243 |
|
244 |
-
|
245 |
-
$button_label = __( 'Install Elementor', 'header-footer-elementor' );
|
246 |
-
}
|
247 |
|
248 |
-
|
|
|
|
|
249 |
|
250 |
-
|
|
|
|
|
|
|
251 |
}
|
252 |
|
253 |
/**
|
@@ -263,7 +277,7 @@ class Header_Footer_Elementor {
|
|
263 |
/* TO DO */
|
264 |
$class = 'notice notice-error';
|
265 |
/* translators: %s: html tags */
|
266 |
-
$message = sprintf( __( 'The %1$sElementor
|
267 |
|
268 |
$plugin = 'elementor/elementor.php';
|
269 |
|
@@ -283,6 +297,46 @@ class Header_Footer_Elementor {
|
|
283 |
printf( '<div class="%1$s"><p>%2$s</p>%3$s</div>', esc_attr( $class ), wp_kses_post( $message ), wp_kses_post( $button ) );
|
284 |
}
|
285 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
286 |
/**
|
287 |
* Loads the globally required files for the plugin.
|
288 |
*/
|
@@ -372,8 +426,10 @@ class Header_Footer_Elementor {
|
|
372 |
$screen = get_current_screen();
|
373 |
|
374 |
if ( ( 'elementor-hf' == $screen->id && ( 'post.php' == $pagenow || 'post-new.php' == $pagenow ) ) || ( 'edit.php' == $pagenow && 'edit-elementor-hf' == $screen->id ) ) {
|
|
|
375 |
wp_enqueue_style( 'hfe-admin-style', HFE_URL . 'admin/assets/css/ehf-admin.css', [], HFE_VER );
|
376 |
-
wp_enqueue_script( 'hfe-admin-script', HFE_URL . 'admin/assets/js/ehf-admin.js', [], HFE_VER );
|
|
|
377 |
}
|
378 |
}
|
379 |
|
@@ -399,15 +455,30 @@ class Header_Footer_Elementor {
|
|
399 |
return $classes;
|
400 |
}
|
401 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
402 |
/**
|
403 |
* Display Unsupported theme notice if the current theme does add support for 'header-footer-elementor'
|
404 |
*
|
405 |
-
* @
|
|
|
406 |
*/
|
407 |
-
public function setup_unsupported_theme() {
|
408 |
if ( ! current_theme_supports( 'header-footer-elementor' ) ) {
|
409 |
-
|
|
|
|
|
|
|
410 |
}
|
|
|
411 |
}
|
412 |
|
413 |
/**
|
@@ -512,3 +583,19 @@ class Header_Footer_Elementor {
|
|
512 |
}
|
513 |
|
514 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
67 |
$this->includes();
|
68 |
$this->load_textdomain();
|
69 |
|
70 |
+
add_action( 'init', [ $this, 'setup_settings_page' ] );
|
71 |
+
|
72 |
if ( 'genesis' == $this->template ) {
|
73 |
require HFE_DIR . 'themes/genesis/class-hfe-genesis-compat.php';
|
74 |
} elseif ( 'astra' == $this->template ) {
|
85 |
} elseif ( 'hello-elementor' == $this->template ) {
|
86 |
require HFE_DIR . 'themes/hello-elementor/class-hfe-hello-elementor-compat.php';
|
87 |
} else {
|
88 |
+
add_filter( 'hfe_settings_tabs', [ $this, 'setup_unsupported_theme' ] );
|
89 |
+
}
|
90 |
+
|
91 |
+
if ( 'yes' === get_option( 'hfe_plugin_is_activated' ) ) {
|
92 |
+
add_action( 'admin_notices', [ $this, 'show_setup_wizard' ] );
|
93 |
}
|
94 |
|
95 |
// Scripts and styles.
|
115 |
$bsf_analytics->set_entity(
|
116 |
[
|
117 |
'bsf' => [
|
118 |
+
'product_name' => 'Elementor Header & Footer builder',
|
119 |
'path' => HFE_DIR . 'admin/bsf-analytics',
|
120 |
'author' => 'Brainstorm Force',
|
121 |
'time_to_display' => '+24 hours',
|
124 |
);
|
125 |
|
126 |
}
|
127 |
+
|
128 |
}
|
129 |
|
130 |
/**
|
174 |
</div>
|
175 |
</div>',
|
176 |
$image_path,
|
177 |
+
__( 'Hello! Seems like you have used Elementor Header & Footer Builder to build this website — Thanks a ton!', 'header-footer-elementor' ),
|
178 |
+
__( 'Could you please do us a BIG favor and give it a 5-star rating on WordPress? This would boost our motivation and help other users make a comfortable decision while choosing the Elementor Header & Footer Builder.', 'header-footer-elementor' ),
|
179 |
'https://wordpress.org/support/plugin/header-footer-elementor/reviews/?filter=5#new-post',
|
180 |
__( 'Ok, you deserve it', 'header-footer-elementor' ),
|
181 |
MONTH_IN_SECONDS,
|
229 |
*/
|
230 |
public function elementor_not_installed_activated() {
|
231 |
|
232 |
+
$screen = get_current_screen();
|
233 |
+
if ( isset( $screen->parent_file ) && 'plugins.php' === $screen->parent_file && 'update' === $screen->id ) {
|
234 |
return;
|
235 |
}
|
236 |
|
237 |
+
if ( ! did_action( 'elementor/loaded' ) ) {
|
238 |
+
// Check user capability.
|
239 |
+
if ( ! ( current_user_can( 'activate_plugins' ) && current_user_can( 'install_plugins' ) ) ) {
|
240 |
+
return;
|
241 |
+
}
|
242 |
|
243 |
+
/* TO DO */
|
244 |
+
$class = 'notice notice-error';
|
245 |
+
/* translators: %s: html tags */
|
246 |
+
$message = sprintf( __( 'The %1$sElementor Header & Footer Builder%2$s plugin requires %1$sElementor%2$s plugin installed & activated.', 'header-footer-elementor' ), '<strong>', '</strong>' );
|
247 |
|
248 |
+
$plugin = 'elementor/elementor.php';
|
249 |
|
250 |
+
if ( _is_elementor_installed() ) {
|
|
|
251 |
|
252 |
+
$action_url = wp_nonce_url( 'plugins.php?action=activate&plugin=' . $plugin . '&plugin_status=all&paged=1&s', 'activate-plugin_' . $plugin );
|
253 |
+
$button_label = __( 'Activate Elementor', 'header-footer-elementor' );
|
254 |
|
255 |
+
} else {
|
|
|
|
|
256 |
|
257 |
+
$action_url = wp_nonce_url( self_admin_url( 'update.php?action=install-plugin&plugin=elementor' ), 'install-plugin_elementor' );
|
258 |
+
$button_label = __( 'Install Elementor', 'header-footer-elementor' );
|
259 |
+
}
|
260 |
|
261 |
+
$button = '<p><a href="' . esc_url( $action_url ) . '" class="button-primary">' . esc_html( $button_label ) . '</a></p><p></p>';
|
262 |
+
|
263 |
+
printf( '<div class="%1$s"><p>%2$s</p>%3$s</div>', esc_attr( $class ), wp_kses_post( $message ), wp_kses_post( $button ) );
|
264 |
+
}
|
265 |
}
|
266 |
|
267 |
/**
|
277 |
/* TO DO */
|
278 |
$class = 'notice notice-error';
|
279 |
/* translators: %s: html tags */
|
280 |
+
$message = sprintf( __( 'The %1$sElementor Header & Footer Builder%2$s plugin has stopped working because you are using an older version of %1$sElementor%2$s plugin.', 'header-footer-elementor' ), '<strong>', '</strong>' );
|
281 |
|
282 |
$plugin = 'elementor/elementor.php';
|
283 |
|
297 |
printf( '<div class="%1$s"><p>%2$s</p>%3$s</div>', esc_attr( $class ), wp_kses_post( $message ), wp_kses_post( $button ) );
|
298 |
}
|
299 |
|
300 |
+
/**
|
301 |
+
* Prints the admin notics when Elementor is not installed or activated.
|
302 |
+
*/
|
303 |
+
public function show_setup_wizard() {
|
304 |
+
|
305 |
+
$screen = get_current_screen();
|
306 |
+
$screen_id = $screen ? $screen->id : '';
|
307 |
+
|
308 |
+
if ( 'plugins' !== $screen_id ) {
|
309 |
+
return;
|
310 |
+
}
|
311 |
+
|
312 |
+
/* TO DO */
|
313 |
+
$class = 'notice notice-info is-dismissible';
|
314 |
+
$setting_url = admin_url( 'edit.php?post_type=elementor-hf' );
|
315 |
+
$image_path = HFE_URL . 'assets/images/header-footer-elementor-icon.svg';
|
316 |
+
|
317 |
+
/* translators: %s: html tags */
|
318 |
+
$notice_message = sprintf( __( 'Thank you for installing %1$s Elementor Header & Footer Builder %2$s Plugin! Click here to %3$sget started. %4$s', 'header-footer-elementor' ), '<strong>', '</strong>', '<a href="' . $setting_url . '">', '</a>' );
|
319 |
+
|
320 |
+
Astra_Notices::add_notice(
|
321 |
+
[
|
322 |
+
'id' => 'header-footer-install-notice',
|
323 |
+
'type' => 'info',
|
324 |
+
/* translators: %s: html tags */
|
325 |
+
'message' => sprintf(
|
326 |
+
'<img src="%1$s" class="custom-logo" alt="HFE" itemprop="logo">
|
327 |
+
<div class="notice-content">
|
328 |
+
<p>%2$s</p>
|
329 |
+
</div>',
|
330 |
+
$image_path,
|
331 |
+
$notice_message
|
332 |
+
),
|
333 |
+
'repeat-notice-after' => false,
|
334 |
+
'priority' => 18,
|
335 |
+
'display-with-other-notices' => false,
|
336 |
+
]
|
337 |
+
);
|
338 |
+
}
|
339 |
+
|
340 |
/**
|
341 |
* Loads the globally required files for the plugin.
|
342 |
*/
|
426 |
$screen = get_current_screen();
|
427 |
|
428 |
if ( ( 'elementor-hf' == $screen->id && ( 'post.php' == $pagenow || 'post-new.php' == $pagenow ) ) || ( 'edit.php' == $pagenow && 'edit-elementor-hf' == $screen->id ) ) {
|
429 |
+
|
430 |
wp_enqueue_style( 'hfe-admin-style', HFE_URL . 'admin/assets/css/ehf-admin.css', [], HFE_VER );
|
431 |
+
wp_enqueue_script( 'hfe-admin-script', HFE_URL . 'admin/assets/js/ehf-admin.js', [ 'jquery', 'updates' ], HFE_VER, true );
|
432 |
+
|
433 |
}
|
434 |
}
|
435 |
|
455 |
return $classes;
|
456 |
}
|
457 |
|
458 |
+
/**
|
459 |
+
* Display Settings Page options
|
460 |
+
*
|
461 |
+
* @since 1.6.0
|
462 |
+
*/
|
463 |
+
public function setup_settings_page() {
|
464 |
+
|
465 |
+
require_once HFE_DIR . 'inc/class-hfe-settings-page.php';
|
466 |
+
}
|
467 |
+
|
468 |
/**
|
469 |
* Display Unsupported theme notice if the current theme does add support for 'header-footer-elementor'
|
470 |
*
|
471 |
+
* @param array $hfe_settings_tabs settings array tabs.
|
472 |
+
* @since 1.0.3
|
473 |
*/
|
474 |
+
public function setup_unsupported_theme( $hfe_settings_tabs = [] ) {
|
475 |
if ( ! current_theme_supports( 'header-footer-elementor' ) ) {
|
476 |
+
$hfe_settings_tabs['hfe_settings'] = [
|
477 |
+
'name' => __( 'Theme Support', 'header-footer-elementor' ),
|
478 |
+
'url' => admin_url( 'themes.php?page=hfe-settings' ),
|
479 |
+
];
|
480 |
}
|
481 |
+
return $hfe_settings_tabs;
|
482 |
}
|
483 |
|
484 |
/**
|
583 |
}
|
584 |
|
585 |
}
|
586 |
+
/**
|
587 |
+
* Is elementor plugin installed.
|
588 |
+
*/
|
589 |
+
if ( ! function_exists( '_is_elementor_installed' ) ) {
|
590 |
+
|
591 |
+
/**
|
592 |
+
* Check if Elementor is installed
|
593 |
+
*
|
594 |
+
* @since 1.6.0
|
595 |
+
*
|
596 |
+
* @access public
|
597 |
+
*/
|
598 |
+
function _is_elementor_installed() {
|
599 |
+
return ( file_exists( WP_PLUGIN_DIR . '/elementor/elementor.php' ) ) ? true : false;
|
600 |
+
}
|
601 |
+
}
|
inc/class-hfe-settings-page.php
ADDED
@@ -0,0 +1,816 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
/**
|
3 |
+
* HFE Settings Page.
|
4 |
+
*
|
5 |
+
* Add plugin setting page.
|
6 |
+
*
|
7 |
+
* @since 1.6.0
|
8 |
+
* @package hfe
|
9 |
+
*/
|
10 |
+
|
11 |
+
namespace HFE\Themes;
|
12 |
+
|
13 |
+
/**
|
14 |
+
* Class Settings Page.
|
15 |
+
*
|
16 |
+
* @since 1.6.0
|
17 |
+
*/
|
18 |
+
class HFE_Settings_Page {
|
19 |
+
|
20 |
+
/**
|
21 |
+
* Constructor.
|
22 |
+
*
|
23 |
+
* @since 1.6.0
|
24 |
+
*/
|
25 |
+
public function __construct() {
|
26 |
+
$this->setup_fallback_support();
|
27 |
+
add_action( 'admin_head', [ $this, 'hfe_global_css' ] );
|
28 |
+
add_action( 'admin_menu', [ $this, 'hfe_register_settings_page' ] );
|
29 |
+
add_action( 'admin_init', [ $this, 'hfe_admin_init' ] );
|
30 |
+
add_filter( 'views_edit-elementor-hf', [ $this, 'hfe_settings' ], 10, 1 );
|
31 |
+
add_filter( 'admin_footer_text', [ $this, 'admin_footer_text' ] );
|
32 |
+
add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_admin_scripts' ] );
|
33 |
+
add_filter( 'plugin_action_links_' . HFE_PATH, [ $this, 'settings_link' ] );
|
34 |
+
}
|
35 |
+
|
36 |
+
/**
|
37 |
+
* Settings tab array
|
38 |
+
*
|
39 |
+
* @var settings tabs
|
40 |
+
*/
|
41 |
+
public static $hfe_settings_tabs;
|
42 |
+
|
43 |
+
/**
|
44 |
+
* Adds CSS to Hide the extra submenu added for the settings tab.
|
45 |
+
*
|
46 |
+
* @since 1.6.0
|
47 |
+
* @return void
|
48 |
+
*/
|
49 |
+
public function hfe_global_css() {
|
50 |
+
wp_enqueue_style( 'hfe-admin-style', HFE_URL . 'admin/assets/css/ehf-admin.css', [], HFE_VER );
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* Load admin styles on header footer elementor edit screen.
|
55 |
+
*/
|
56 |
+
public function enqueue_admin_scripts() {
|
57 |
+
wp_enqueue_script( 'hfe-admin-script', HFE_URL . 'admin/assets/js/ehf-admin.js', [ 'jquery', 'updates' ], HFE_VER, true );
|
58 |
+
|
59 |
+
$is_dismissed = get_user_meta( get_current_user_id(), 'hfe-popup' );
|
60 |
+
|
61 |
+
$strings = [
|
62 |
+
'addon_activate' => esc_html__( 'Activate', 'header-footer-elementor' ),
|
63 |
+
'addon_activated' => esc_html__( 'Activated', 'header-footer-elementor' ),
|
64 |
+
'addon_active' => esc_html__( 'Active', 'header-footer-elementor' ),
|
65 |
+
'addon_deactivate' => esc_html__( 'Deactivate', 'header-footer-elementor' ),
|
66 |
+
'addon_inactive' => esc_html__( 'Inactive', 'header-footer-elementor' ),
|
67 |
+
'addon_install' => esc_html__( 'Install', 'header-footer-elementor' ),
|
68 |
+
'theme_installed' => esc_html__( 'Theme Installed', 'header-footer-elementor' ),
|
69 |
+
'plugin_installed' => esc_html__( 'Plugin Installed', 'header-footer-elementor' ),
|
70 |
+
'addon_download' => esc_html__( 'Download', 'header-footer-elementor' ),
|
71 |
+
'addon_exists' => esc_html__( 'Already Exists.', 'header-footer-elementor' ),
|
72 |
+
'visit_site' => esc_html__( 'Visit Website', 'header-footer-elementor' ),
|
73 |
+
'plugin_error' => esc_html__( 'Could not install. Please download from WordPress.org and install manually.', 'header-footer-elementor' ),
|
74 |
+
'subscribe_success' => esc_html__( 'Your details are submitted successfully.', 'header-footer-elementor' ),
|
75 |
+
'subscribe_error' => esc_html__( 'Encountered an error while performing your request.', 'header-footer-elementor' ),
|
76 |
+
'ajax_url' => admin_url( 'admin-ajax.php' ),
|
77 |
+
'nonce' => wp_create_nonce( 'hfe-admin-nonce' ),
|
78 |
+
'popup_dismiss' => false,
|
79 |
+
'data_source' => 'HFE',
|
80 |
+
];
|
81 |
+
|
82 |
+
$strings = apply_filters( 'hfe_admin_strings', $strings );
|
83 |
+
|
84 |
+
wp_localize_script(
|
85 |
+
'hfe-admin-script',
|
86 |
+
'hfe_admin_data',
|
87 |
+
$strings
|
88 |
+
);
|
89 |
+
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* Adds a tab in plugin submenu page.
|
94 |
+
*
|
95 |
+
* @since 1.6.0
|
96 |
+
* @param string $views to add tab to current post type view.
|
97 |
+
*
|
98 |
+
* @return mixed
|
99 |
+
*/
|
100 |
+
public function hfe_settings( $views ) {
|
101 |
+
|
102 |
+
$this->hfe_tabs();
|
103 |
+
$is_dismissed = [];
|
104 |
+
$is_dismissed = get_user_meta( get_current_user_id(), 'hfe-popup' );
|
105 |
+
|
106 |
+
$is_subscribed = get_user_meta( get_current_user_ID(), 'hfe-subscribed' );
|
107 |
+
$subscribe_valid = ( is_array( $is_subscribed ) && isset( $is_subscribed[0] ) && 'yes' === $is_subscribed[0] ) ? 'yes' : false;
|
108 |
+
|
109 |
+
if ( ( ! empty( $is_dismissed ) && 'dismissed' === $is_dismissed[0] ) || 'yes' === $subscribe_valid ) {
|
110 |
+
return false;
|
111 |
+
} else {
|
112 |
+
$this->get_guide_modal();
|
113 |
+
}
|
114 |
+
return $views;
|
115 |
+
}
|
116 |
+
|
117 |
+
/**
|
118 |
+
* Function for registering the settings api.
|
119 |
+
*
|
120 |
+
* @since 1.6.0
|
121 |
+
* @return void
|
122 |
+
*/
|
123 |
+
public function hfe_admin_init() {
|
124 |
+
register_setting( 'hfe-plugin-options', 'hfe_compatibility_option' );
|
125 |
+
add_settings_section( 'hfe-options', __( 'Add Theme Support', 'header-footer-elementor' ), [ $this, 'hfe_compatibility_callback' ], 'Settings' );
|
126 |
+
add_settings_field( 'hfe-way', 'Methods to Add Theme Support', [ $this, 'hfe_compatibility_option_callback' ], 'Settings', 'hfe-options' );
|
127 |
+
|
128 |
+
register_setting( 'hfe-plugin-guide', 'hfe_guide_email' );
|
129 |
+
register_setting( 'hfe-plugin-guide', 'hfe_guide_fname' );
|
130 |
+
|
131 |
+
}
|
132 |
+
|
133 |
+
/**
|
134 |
+
* Call back function for the ssettings api function add_settings_section
|
135 |
+
*
|
136 |
+
* This function can be used to add description of the settings sections
|
137 |
+
*
|
138 |
+
* @since 1.6.0
|
139 |
+
* @return void
|
140 |
+
*/
|
141 |
+
public function hfe_compatibility_callback() {
|
142 |
+
_e( 'The Elementor Header & Footer Builder plugin need compatibility with your current theme to work smoothly.</br></br>Following are two methods that enable theme support for the plugin.</br></br>Method 1 is selected by default and that works fine almost will all themes. In case, you face any issue with the header or footer template, try choosing Method 2.', 'header-footer-elementor' );
|
143 |
+
}
|
144 |
+
|
145 |
+
/**
|
146 |
+
* Call back function for the ssettings api function add_settings_field
|
147 |
+
*
|
148 |
+
* This function will contain the markup for the input feilds that we can add.
|
149 |
+
*
|
150 |
+
* @since 1.6.0
|
151 |
+
* @return void
|
152 |
+
*/
|
153 |
+
public function hfe_compatibility_option_callback() {
|
154 |
+
$hfe_radio_button = get_option( 'hfe_compatibility_option', '1' );
|
155 |
+
wp_enqueue_style( 'hfe-admin-style', HFE_URL . 'admin/assets/css/ehf-admin.css', [], HFE_VER );
|
156 |
+
?>
|
157 |
+
|
158 |
+
<label>
|
159 |
+
<input type="radio" name="hfe_compatibility_option" value= 1 <?php checked( $hfe_radio_button, 1 ); ?> > <div class="hfe_radio_options"><?php esc_html_e( ' Method 1 (Recommended)', 'header-footer-elementor' ); ?></div>
|
160 |
+
<p class="description"><?php esc_html_e( 'This method replaces your theme\'s header (header.php) & footer (footer.php) template with plugin\'s custom templates.', 'header-footer-elementor' ); ?></p><br>
|
161 |
+
</label>
|
162 |
+
<label>
|
163 |
+
<input type="radio" name="hfe_compatibility_option" value= 2 <?php checked( $hfe_radio_button, 2 ); ?> > <div class="hfe_radio_options"><?php esc_html_e( 'Method 2', 'header-footer-elementor' ); ?></div>
|
164 |
+
<p class="description">
|
165 |
+
<?php
|
166 |
+
echo sprintf(
|
167 |
+
esc_html( "This method hides your theme's header & footer template with CSS and displays custom templates from the plugin.", 'header-footer-elementor' ),
|
168 |
+
'<br>'
|
169 |
+
);
|
170 |
+
?>
|
171 |
+
</p><br>
|
172 |
+
</label>
|
173 |
+
<p class="description">
|
174 |
+
<?php
|
175 |
+
echo sprintf(
|
176 |
+
_e( 'Sometimes above methods might not work well with your theme, in this case, contact your theme author and request them to add support for the <a href="https://github.com/Nikschavan/header-footer-elementor/wiki/Adding-Header-Footer-Elementor-support-for-your-theme">plugin.</>', 'header-footer-elementor' ),
|
177 |
+
'<br>'
|
178 |
+
);
|
179 |
+
?>
|
180 |
+
</p>
|
181 |
+
|
182 |
+
<?php
|
183 |
+
}
|
184 |
+
|
185 |
+
/**
|
186 |
+
* Show a settings page incase of unsupported theme.
|
187 |
+
*
|
188 |
+
* @since 1.6.0
|
189 |
+
*
|
190 |
+
* @return void
|
191 |
+
*/
|
192 |
+
public function hfe_register_settings_page() {
|
193 |
+
add_submenu_page(
|
194 |
+
'themes.php',
|
195 |
+
__( 'Settings', 'header-footer-elementor' ),
|
196 |
+
__( 'Settings', 'header-footer-elementor' ),
|
197 |
+
'manage_options',
|
198 |
+
'hfe-settings',
|
199 |
+
[ $this, 'hfe_settings_page' ]
|
200 |
+
);
|
201 |
+
|
202 |
+
add_submenu_page(
|
203 |
+
'themes.php',
|
204 |
+
__( 'About Us', 'header-footer-elementor' ),
|
205 |
+
__( 'About Us', 'header-footer-elementor' ),
|
206 |
+
'manage_options',
|
207 |
+
'hfe-about',
|
208 |
+
[ $this, 'hfe_settings_page' ]
|
209 |
+
);
|
210 |
+
}
|
211 |
+
|
212 |
+
/**
|
213 |
+
* Setup Theme Support.
|
214 |
+
*
|
215 |
+
* @since 1.2.0
|
216 |
+
* @return void
|
217 |
+
*/
|
218 |
+
public function setup_fallback_support() {
|
219 |
+
$hfe_compatibility_option = get_option( 'hfe_compatibility_option', '1' );
|
220 |
+
|
221 |
+
if ( '1' === $hfe_compatibility_option ) {
|
222 |
+
if ( ! class_exists( 'HFE_Default_Compat' ) ) {
|
223 |
+
require_once HFE_DIR . 'themes/default/class-hfe-default-compat.php';
|
224 |
+
}
|
225 |
+
} elseif ( '2' === $hfe_compatibility_option ) {
|
226 |
+
require HFE_DIR . 'themes/default/class-global-theme-compatibility.php';
|
227 |
+
}
|
228 |
+
}
|
229 |
+
|
230 |
+
/**
|
231 |
+
* Settings page.
|
232 |
+
*
|
233 |
+
* Call back function for add submenu page function.
|
234 |
+
*
|
235 |
+
* @since 1.6.0
|
236 |
+
*/
|
237 |
+
public function hfe_settings_page() {
|
238 |
+
echo '<h1 class="hfe-heading-inline">';
|
239 |
+
esc_attr_e( 'Elementor Header & Footer Builder ', 'header-footer-elementor' );
|
240 |
+
echo '</h1>';
|
241 |
+
$this->hfe_tabs();
|
242 |
+
?>
|
243 |
+
<?php
|
244 |
+
$hfe_radio_button = get_option( 'hfe_compatibility_option', '1' );
|
245 |
+
?>
|
246 |
+
<?php
|
247 |
+
switch ( $_GET['page'] ) {
|
248 |
+
case 'hfe-settings':
|
249 |
+
$this->get_themes_support();
|
250 |
+
break;
|
251 |
+
|
252 |
+
case 'hfe-about':
|
253 |
+
$this->get_about_html();
|
254 |
+
break;
|
255 |
+
|
256 |
+
case 'default':
|
257 |
+
break;
|
258 |
+
}
|
259 |
+
}
|
260 |
+
|
261 |
+
/**
|
262 |
+
* Function for adding tabs
|
263 |
+
*
|
264 |
+
* @since 1.6.0
|
265 |
+
* @return void
|
266 |
+
*/
|
267 |
+
public function hfe_tabs() {
|
268 |
+
?>
|
269 |
+
<div class="nav-tab-wrapper">
|
270 |
+
<?php
|
271 |
+
if ( ! isset( self::$hfe_settings_tabs ) ) {
|
272 |
+
self::$hfe_settings_tabs['hfe_templates'] = [
|
273 |
+
'name' => __( 'All Templates', 'header-footer-elementor' ),
|
274 |
+
'url' => admin_url( 'edit.php?post_type=elementor-hf' ),
|
275 |
+
];
|
276 |
+
}
|
277 |
+
|
278 |
+
self::$hfe_settings_tabs['hfe_about'] = [
|
279 |
+
'name' => __( 'About Us', 'header-footer-elementor' ),
|
280 |
+
'url' => admin_url( 'themes.php?page=hfe-about' ),
|
281 |
+
];
|
282 |
+
|
283 |
+
$tabs = apply_filters( 'hfe_settings_tabs', self::$hfe_settings_tabs );
|
284 |
+
|
285 |
+
foreach ( $tabs as $tab_id => $tab ) {
|
286 |
+
|
287 |
+
$tab_slug = str_replace( '_', '-', $tab_id );
|
288 |
+
|
289 |
+
$active_tab = ( ( isset( $_GET['page'] ) && $tab_slug == $_GET['page'] ) || ( ! isset( $_GET['page'] ) && 'hfe_templates' == $tab_id ) ) ? $tab_id : '';
|
290 |
+
|
291 |
+
$active = ( $active_tab == $tab_id ) ? ' nav-tab-active' : '';
|
292 |
+
|
293 |
+
echo '<a href="' . esc_url( $tab['url'] ) . '" class="nav-tab' . esc_attr( $active ) . '">';
|
294 |
+
echo esc_html( $tab['name'] );
|
295 |
+
echo '</a>';
|
296 |
+
}
|
297 |
+
|
298 |
+
?>
|
299 |
+
</div>
|
300 |
+
<?php
|
301 |
+
}
|
302 |
+
|
303 |
+
/**
|
304 |
+
* Admin footer text.
|
305 |
+
*
|
306 |
+
* Modifies the "Thank you" text displayed in the admin footer.
|
307 |
+
*
|
308 |
+
* Fired by `admin_footer_text` filter.
|
309 |
+
*
|
310 |
+
* @since 1.6.0
|
311 |
+
* @access public
|
312 |
+
*
|
313 |
+
* @param string $footer_text The content that will be printed.
|
314 |
+
*
|
315 |
+
* @return string The content that will be printed.
|
316 |
+
*/
|
317 |
+
public function admin_footer_text( $footer_text ) {
|
318 |
+
$current_screen = get_current_screen();
|
319 |
+
|
320 |
+
$is_elementor_screen = ( $current_screen && ( 'elementor-hf' === $current_screen->post_type || 'appearance_page_hfe-guide' === $current_screen->id || 'appearance_page_hfe-about' === $current_screen->id || 'appearance_page_hfe-settings' === $current_screen->id ) );
|
321 |
+
|
322 |
+
if ( $is_elementor_screen ) {
|
323 |
+
$footer_text = sprintf(
|
324 |
+
/* translators: 1: Elementor, 2: Link to plugin review */
|
325 |
+
__( 'Help us spread the word about the plugin by leaving %2$s %1$s %3$s ratings on %2$s WordPress.org %3$s. Thank you from the Brainstorm Force team!', 'header-footer-elementor' ),
|
326 |
+
'★★★★★',
|
327 |
+
'<a href="https://wordpress.org/support/plugin/header-footer-elementor/reviews/#new-post" target="_blank">',
|
328 |
+
'</a>'
|
329 |
+
);
|
330 |
+
}
|
331 |
+
|
332 |
+
return $footer_text;
|
333 |
+
}
|
334 |
+
|
335 |
+
/**
|
336 |
+
* Function for theme support tab
|
337 |
+
*
|
338 |
+
* @since 1.6.0
|
339 |
+
* @return void
|
340 |
+
*/
|
341 |
+
public function get_themes_support() {
|
342 |
+
?>
|
343 |
+
<form action="options.php" method="post">
|
344 |
+
<?php settings_fields( 'hfe-plugin-options' ); ?>
|
345 |
+
<?php do_settings_sections( 'Settings' ); ?>
|
346 |
+
<?php submit_button(); ?>
|
347 |
+
</form>
|
348 |
+
<?php
|
349 |
+
}
|
350 |
+
|
351 |
+
/**
|
352 |
+
* Function for Step-By-Step guide
|
353 |
+
*
|
354 |
+
* @since 1.6.0
|
355 |
+
* @return void
|
356 |
+
*/
|
357 |
+
public function get_guide_html() {
|
358 |
+
|
359 |
+
$is_subscribed = get_user_meta( get_current_user_ID(), 'hfe-subscribed' );
|
360 |
+
$subscribe_valid = ( is_array( $is_subscribed ) && isset( $is_subscribed[0] ) && 'yes' === $is_subscribed[0] ) ? 'yes' : false;
|
361 |
+
$subscribe_flag = ( 'yes' === $subscribe_valid ) ? ' hfe-user-subscribed' : ' hfe-user-unsubscribed';
|
362 |
+
?>
|
363 |
+
|
364 |
+
<div class="hfe-admin-about-section hfe-admin-columns hfe-admin-guide-section<?php echo $subscribe_flag; ?>">
|
365 |
+
|
366 |
+
<div class="hfe-admin-column-50">
|
367 |
+
<div class="hfe-admin-about-section-column">
|
368 |
+
<h2><?php esc_html_e( 'Create Impressive Header and Footer Designs', 'header-footer-elementor' ); ?></h2>
|
369 |
+
<p><?php esc_html_e( 'Elementor Header & Footer Builder plugin lets you build impactful navigation for your website very easily. Before we begin, we would like to know more about you. This will help us to serve you better.', 'header-footer-elementor' ); ?></p>
|
370 |
+
</div>
|
371 |
+
</div>
|
372 |
+
<?php if ( 'yes' !== $subscribe_valid ) { ?>
|
373 |
+
<div class="hfe-admin-column-50 hfe-admin-column-last">
|
374 |
+
<div class="hfe-guide-content hfe-subscription-step-1-active">
|
375 |
+
<div class="hfe-guide-content-header hfe-admin-columns">
|
376 |
+
</div>
|
377 |
+
<form action="options.php" method="post">
|
378 |
+
<?php $this->get_form_html(); ?>
|
379 |
+
</form>
|
380 |
+
</div>
|
381 |
+
<div class="hfe-privacy-policy-container">
|
382 |
+
<?php /* translators: %1$s and %3$s are opening anchor tags, and %2$s and %4$s is closing anchor tags. */ ?>
|
383 |
+
<p class="hfe-subscription-policy"><?php printf( __( 'By submitting, you agree to our %1$sTerms%2$s and %3$sPrivacy Policy%4$s.', 'header-footer-elementor' ), '<a href="https://store.brainstormforce.com/terms-and-conditions/" target="_blank">', '</a>', '<a href="https://store.brainstormforce.com/privacy-policy/" target="_blank">', '</a>' ); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped ?></p>
|
384 |
+
</div>
|
385 |
+
</div>
|
386 |
+
<?php } ?>
|
387 |
+
</div>
|
388 |
+
<?php
|
389 |
+
}
|
390 |
+
|
391 |
+
/**
|
392 |
+
* Function for form HTML
|
393 |
+
*
|
394 |
+
* @since 1.6.0
|
395 |
+
* @return void
|
396 |
+
*/
|
397 |
+
public function get_form_html() {
|
398 |
+
?>
|
399 |
+
<?php $this->get_form_row_1(); ?>
|
400 |
+
<?php $this->get_form_row_2(); ?>
|
401 |
+
<a href="#" class="button-subscription-skip"><?php esc_html_e( 'Skip', 'header-footer-elementor' ); ?></a>
|
402 |
+
<?php
|
403 |
+
}
|
404 |
+
|
405 |
+
/**
|
406 |
+
* Function for form Row 1 HTML
|
407 |
+
*
|
408 |
+
* @since 1.6.0
|
409 |
+
* @return void
|
410 |
+
*/
|
411 |
+
public function get_form_row_1() {
|
412 |
+
?>
|
413 |
+
|
414 |
+
<div class="hfe-subscription-step-1">
|
415 |
+
<div class="hfe-subscription-row">
|
416 |
+
<div class="hfe-input-container">
|
417 |
+
<select class="hfe-subscribe-field subscription-input-wp-user-type" name="wp_user_type">
|
418 |
+
<option value=""></option>
|
419 |
+
<option value="1"><?php esc_html_e( 'Beginner', 'header-footer-elementor' ); ?></option>
|
420 |
+
<option value="2"><?php esc_html_e( 'Intermediate', 'header-footer-elementor' ); ?></option>
|
421 |
+
<option value="3"><?php esc_html_e( 'Expert', 'header-footer-elementor' ); ?></option>
|
422 |
+
</select>
|
423 |
+
<small class="subscription-desc"><?php esc_html_e( 'Field is required', 'header-footer-elementor' ); ?></small>
|
424 |
+
<label class="subscription-label"><?php esc_html_e( 'I\'m a WordPress:', 'header-footer-elementor' ); ?></label>
|
425 |
+
</div>
|
426 |
+
<div class="hfe-input-container">
|
427 |
+
<select class="hfe-subscribe-field subscription-input-build-website-for" name="build_website_for">
|
428 |
+
<option value=""></option>
|
429 |
+
<option value="1"><?php esc_html_e( 'Myself/My company', 'header-footer-elementor' ); ?></option>
|
430 |
+
<option value="2"><?php esc_html_e( 'My client', 'header-footer-elementor' ); ?></option>
|
431 |
+
</select>
|
432 |
+
<small class="subscription-desc"><?php esc_html_e( 'Field is required', 'header-footer-elementor' ); ?></small>
|
433 |
+
<label class="subscription-label"><?php esc_html_e( 'I\'m building website for:', 'header-footer-elementor' ); ?></label>
|
434 |
+
</div>
|
435 |
+
</div>
|
436 |
+
|
437 |
+
<p class="submit">
|
438 |
+
<input type="submit" name="submit-1" id="submit-1" class="button submit-1 button-primary" value="Next">
|
439 |
+
</p>
|
440 |
+
</div>
|
441 |
+
<?php
|
442 |
+
}
|
443 |
+
|
444 |
+
/**
|
445 |
+
* Function for form Row 2 HTML
|
446 |
+
*
|
447 |
+
* @since 1.6.0
|
448 |
+
* @return void
|
449 |
+
*/
|
450 |
+
public function get_form_row_2() {
|
451 |
+
?>
|
452 |
+
<div class="hfe-subscription-step-2">
|
453 |
+
<div class="hfe-subscription-row">
|
454 |
+
<div class="hfe-input-container">
|
455 |
+
<input id="hfe_subscribe_name" class="hfe-subscribe-field hfe-subscribe-name" type="text" name="hfe_subscribe_name" value="<?php echo get_option( 'hfe_guide_fname' ); ?>">
|
456 |
+
<small class="subscription-desc"><?php esc_html_e( 'First name is required', 'header-footer-elementor' ); ?></small>
|
457 |
+
<label class="subscription-label"><?php esc_html_e( 'Your First Name', 'header-footer-elementor' ); ?></label>
|
458 |
+
</div>
|
459 |
+
<div class="hfe-input-container">
|
460 |
+
<input id="hfe_subscribe_email" class="hfe-subscribe-field hfe-subscribe-email" type="text" name="hfe_subscribe_email" value="<?php echo get_option( 'hfe_guide_email' ); ?>">
|
461 |
+
<small class="subscription-desc"><?php esc_html_e( 'Email address is required', 'header-footer-elementor' ); ?></small>
|
462 |
+
<label class="subscription-label"><?php esc_html_e( 'Your Work Email', 'header-footer-elementor' ); ?></label>
|
463 |
+
</div>
|
464 |
+
</div>
|
465 |
+
<p class="submit">
|
466 |
+
<button type="submit" id="submit-2" class="button submit-2 button-primary">
|
467 |
+
<span class="hfe-submit-button-text"><?php echo __( 'Submit', 'header-footer-elementor' ); ?></span>
|
468 |
+
</button>
|
469 |
+
</p>
|
470 |
+
</div>
|
471 |
+
<?php
|
472 |
+
}
|
473 |
+
|
474 |
+
|
475 |
+
/**
|
476 |
+
* Function for Step-By-Step guide modal popup
|
477 |
+
*
|
478 |
+
* @since 1.6.0
|
479 |
+
* @return void
|
480 |
+
*/
|
481 |
+
public function get_guide_modal() {
|
482 |
+
$new_page_url = admin_url( 'post-new.php?post_type=elementor-hf' );
|
483 |
+
?>
|
484 |
+
<div class="hfe-guide-modal-popup" data-new-page="<?php echo esc_attr( $new_page_url ); ?>">
|
485 |
+
<div class="hfe-guide-modal-popup-wrapper">
|
486 |
+
<div class="hfe-guide-modal-content">
|
487 |
+
<div class="heading">
|
488 |
+
<img src="<?php echo HFE_URL . 'assets/images/header-footer-elementor-icon.svg'; ?>" class="hfe-logo">
|
489 |
+
<h3><?php esc_html_e( 'Elementor Header & Footer Builder', 'header-footer-elementor' ); ?></h3>
|
490 |
+
</div>
|
491 |
+
<?php $this->get_guide_html(); ?>
|
492 |
+
</div>
|
493 |
+
</div>
|
494 |
+
<div class="hfe-guide-modal-overlay"></div>
|
495 |
+
</div>
|
496 |
+
<?php
|
497 |
+
}
|
498 |
+
|
499 |
+
/**
|
500 |
+
* Function for About us HTML
|
501 |
+
*
|
502 |
+
* @since 1.6.0
|
503 |
+
* @return void
|
504 |
+
*/
|
505 |
+
public function get_about_html() {
|
506 |
+
$this->output_about_info();
|
507 |
+
$this->output_about_addons();
|
508 |
+
}
|
509 |
+
|
510 |
+
/**
|
511 |
+
* Display the General Info section of About tab.
|
512 |
+
*
|
513 |
+
* @since 1.6.0
|
514 |
+
*/
|
515 |
+
protected function output_about_info() {
|
516 |
+
?>
|
517 |
+
|
518 |
+
<div class="hfe-admin-about-section hfe-admin-columns hfe-admin-about-us">
|
519 |
+
|
520 |
+
<div class="hfe-admin-column-60">
|
521 |
+
<h3><?php esc_html_e( 'Welcome to Elementor Header & Footer Builder!', 'header-footer-elementor' ); ?></h3>
|
522 |
+
|
523 |
+
<p><?php esc_html_e( 'With this awesome plugin, experience the easiest way to create a customized header and footer for your website with Elementor. That too 100% FREE!', 'header-footer-elementor' ); ?></p>
|
524 |
+
|
525 |
+
<p><?php esc_html_e( 'Design beautiful layouts with simple drag & drop and display them at desired location with powerful target controls. The plugin comes with inbuilt Elementor widgets that offer essential features to build header and footer. It\'s a lightweight plugin that works seamlessly with all themes and backed up by 24/7 support.', 'header-footer-elementor' ); ?></p>
|
526 |
+
|
527 |
+
<p><?php esc_html_e( 'Trusted by more than 1+ Million users, Elementor Header & Footer Builder is a modern way to build advanced navigation for your website.', 'header-footer-elementor' ); ?></p>
|
528 |
+
|
529 |
+
<p><?php esc_html_e( 'This plugin is brought to you by the same team behind the popular WordPress theme Astra and a series of Ultimate Addons plugins.', 'header-footer-elementor' ); ?></p>
|
530 |
+
|
531 |
+
</div>
|
532 |
+
|
533 |
+
<div class="hfe-admin-column-40 hfe-admin-column-last">
|
534 |
+
<figure>
|
535 |
+
<img src="<?php echo HFE_URL; ?>assets/images/settings/our-team.jpeg" alt="<?php esc_attr_e( 'Team photo', 'header-footer-elementor' ); ?>">
|
536 |
+
<figcaption>
|
537 |
+
<?php esc_html_e( 'Brainstorm Force Team', 'header-footer-elementor' ); ?><br>
|
538 |
+
</figcaption>
|
539 |
+
</figure>
|
540 |
+
</div>
|
541 |
+
|
542 |
+
</div>
|
543 |
+
<?php
|
544 |
+
}
|
545 |
+
|
546 |
+
/**
|
547 |
+
* Display the Addons section of About tab.
|
548 |
+
*
|
549 |
+
* @since 1.6.0
|
550 |
+
*/
|
551 |
+
protected function output_about_addons() {
|
552 |
+
|
553 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
554 |
+
return;
|
555 |
+
}
|
556 |
+
|
557 |
+
$all_plugins = get_plugins();
|
558 |
+
$all_themes = wp_get_themes();
|
559 |
+
$bsf_plugins = $this->get_bsf_plugins();
|
560 |
+
$can_install_plugins = $this->hfe_can_install( 'plugin' );
|
561 |
+
$can_install_themes = $this->hfe_can_install( 'theme' );
|
562 |
+
|
563 |
+
?>
|
564 |
+
<div class="hfe-admin-addons">
|
565 |
+
<div class="addons-container">
|
566 |
+
<?php
|
567 |
+
foreach ( $bsf_plugins as $plugin => $details ) :
|
568 |
+
|
569 |
+
$plugin_data = $this->get_plugin_data( $plugin, $details, $all_plugins, $all_themes );
|
570 |
+
|
571 |
+
?>
|
572 |
+
<div class="addon-container">
|
573 |
+
<div class="addon-item">
|
574 |
+
<div class="details hfe-clear">
|
575 |
+
<img src="<?php echo esc_url( $plugin_data['details']['icon'] ); ?>">
|
576 |
+
<div class="addon-details">
|
577 |
+
<h5 class="addon-name">
|
578 |
+
<?php
|
579 |
+
printf(
|
580 |
+
/* translators: %s - addon status label. */
|
581 |
+
esc_html__( '%1$s %3$s %2$s', 'header-footer-elementor' ),
|
582 |
+
'<a href="' . esc_attr( $details['siteurl'] ) . '" target="_blank" class="website-link">',
|
583 |
+
'</a>',
|
584 |
+
esc_html( $plugin_data['details']['name'] )
|
585 |
+
);
|
586 |
+
?>
|
587 |
+
</h5>
|
588 |
+
|
589 |
+
<p class="addon-desc"><?php echo wp_kses_post( $plugin_data['details']['desc'] ); ?></p>
|
590 |
+
</div>
|
591 |
+
</div>
|
592 |
+
<div class="actions hfe-clear">
|
593 |
+
<div class="status">
|
594 |
+
<strong>
|
595 |
+
<?php
|
596 |
+
printf(
|
597 |
+
/* translators: %s - addon status label. */
|
598 |
+
esc_html__( 'Status: %s', 'header-footer-elementor' ),
|
599 |
+
'<span class="status-label ' . esc_attr( $plugin_data['status_class'] ) . '">' . wp_kses_post( $plugin_data['status_text'] ) . '</span>'
|
600 |
+
);
|
601 |
+
?>
|
602 |
+
</strong>
|
603 |
+
</div>
|
604 |
+
<div class="action-button">
|
605 |
+
<?php if ( 'Visit Website' === $plugin_data['action_text'] ) { ?>
|
606 |
+
<a href="<?php echo esc_url( $plugin_data['plugin_src'] ); ?>" target="_blank" rel="noopener noreferrer" class="pro-plugin button button-primary"><?php echo wp_kses_post( $plugin_data['action_text'] ); ?></a>
|
607 |
+
<?php } elseif ( 'theme' === $details['type'] && $can_install_themes ) { ?>
|
608 |
+
<button class="<?php echo esc_attr( $plugin_data['action_class'] ); ?>" data-plugin="<?php echo esc_attr( $plugin_data['plugin_src'] ); ?>" data-type="theme" data-slug="<?php echo esc_attr( $details['slug'] ); ?>" data-site="<?php echo esc_url( $details['url'] ); ?>">
|
609 |
+
<span><?php echo wp_kses_post( $plugin_data['action_text'] ); ?></span>
|
610 |
+
</button>
|
611 |
+
<?php } elseif ( 'plugin' === $details['type'] && $can_install_plugins ) { ?>
|
612 |
+
<button class="<?php echo esc_attr( $plugin_data['action_class'] ); ?>" data-plugin="<?php echo esc_attr( $plugin_data['plugin_src'] ); ?>" data-type="plugin" data-slug="<?php echo esc_attr( $details['slug'] ); ?>" data-site="<?php echo esc_url( $details['url'] ); ?>" data-file="<?php echo esc_attr( $plugin ); ?>">
|
613 |
+
<span><?php echo wp_kses_post( $plugin_data['action_text'] ); ?></span>
|
614 |
+
</button>
|
615 |
+
<?php } else { ?>
|
616 |
+
<a href="<?php echo esc_url( $details['wporg'] ); ?>" target="_blank" rel="noopener noreferrer">
|
617 |
+
<?php esc_html_e( 'WordPress.org', 'header-footer-elementor' ); ?>
|
618 |
+
<span aria-hidden="true" class="dashicons dashicons-external"></span>
|
619 |
+
</a>
|
620 |
+
<?php } ?>
|
621 |
+
</div>
|
622 |
+
</div>
|
623 |
+
</div>
|
624 |
+
</div>
|
625 |
+
<?php endforeach; ?>
|
626 |
+
</div>
|
627 |
+
</div>
|
628 |
+
<?php
|
629 |
+
}
|
630 |
+
|
631 |
+
/**
|
632 |
+
* Get plugin data to display in the Addons section of About tab.
|
633 |
+
*
|
634 |
+
* @since 1.6.0
|
635 |
+
*
|
636 |
+
* @param string $addon Plugin/Theme slug.
|
637 |
+
* @param array $details Plugin details.
|
638 |
+
* @param array $all_plugins List of all plugins.
|
639 |
+
* @param array $all_themes List of all themes.
|
640 |
+
*
|
641 |
+
* @return array
|
642 |
+
*/
|
643 |
+
protected function get_plugin_data( $addon, $details, $all_plugins, $all_themes ) {
|
644 |
+
|
645 |
+
$have_pro = ( ! empty( $details['pro'] ) );
|
646 |
+
$show_pro = false;
|
647 |
+
|
648 |
+
$theme = wp_get_theme();
|
649 |
+
|
650 |
+
$plugin_data = [];
|
651 |
+
|
652 |
+
$is_plugin = ( 'plugin' === $details['type'] ) ? true : false;
|
653 |
+
$is_theme = ( 'theme' === $details['type'] ) ? true : false;
|
654 |
+
|
655 |
+
if ( ( $is_plugin && array_key_exists( $addon, $all_plugins ) ) || ( $is_theme && array_key_exists( $addon, $all_themes ) ) ) {
|
656 |
+
|
657 |
+
if ( ( $is_plugin && is_plugin_active( $addon ) ) || ( $is_theme && ( 'Astra' === $theme->name || 'Astra' === $theme->parent_theme ) ) ) {
|
658 |
+
|
659 |
+
// Status text/status.
|
660 |
+
$plugin_data['status_class'] = 'status-active';
|
661 |
+
$plugin_data['status_text'] = esc_html__( 'Active', 'header-footer-elementor' );
|
662 |
+
// Button text/status.
|
663 |
+
$plugin_data['action_class'] = $plugin_data['status_class'] . ' button button-secondary disabled';
|
664 |
+
$plugin_data['action_text'] = esc_html__( 'Activated', 'header-footer-elementor' );
|
665 |
+
$plugin_data['plugin_src'] = esc_attr( $addon );
|
666 |
+
} else {
|
667 |
+
// Status text/status.
|
668 |
+
$plugin_data['status_class'] = 'status-inactive';
|
669 |
+
$plugin_data['status_text'] = esc_html__( 'Inactive', 'header-footer-elementor' );
|
670 |
+
// Button text/status.
|
671 |
+
$plugin_data['action_class'] = $plugin_data['status_class'] . ' button button-secondary';
|
672 |
+
$plugin_data['action_text'] = esc_html__( 'Activate', 'header-footer-elementor' );
|
673 |
+
$plugin_data['plugin_src'] = esc_attr( $addon );
|
674 |
+
}
|
675 |
+
} else {
|
676 |
+
// install if already doesn't exists.
|
677 |
+
// Status text/status.
|
678 |
+
$plugin_data['status_class'] = 'status-download';
|
679 |
+
if ( isset( $details['act'] ) && 'go-to-url' === $details['act'] ) {
|
680 |
+
$plugin_data['status_class'] = 'status-go-to-url';
|
681 |
+
}
|
682 |
+
$plugin_data['status_text'] = esc_html__( 'Not Installed', 'header-footer-elementor' );
|
683 |
+
// Button text/status.
|
684 |
+
$plugin_data['action_class'] = $plugin_data['status_class'] . ' button button-primary';
|
685 |
+
$plugin_data['action_text'] = esc_html__( 'Install', 'header-footer-elementor' );
|
686 |
+
$plugin_data['plugin_src'] = esc_url( $details['url'] );
|
687 |
+
|
688 |
+
if ( $have_pro ) {
|
689 |
+
$plugin_data['status_class'] = '';
|
690 |
+
$plugin_data['action_text'] = esc_html__( 'Visit Website', 'header-footer-elementor' );
|
691 |
+
}
|
692 |
+
}
|
693 |
+
|
694 |
+
$plugin_data['details'] = $details;
|
695 |
+
|
696 |
+
return $plugin_data;
|
697 |
+
}
|
698 |
+
|
699 |
+
/**
|
700 |
+
* List of plugins that we propose to install.
|
701 |
+
*
|
702 |
+
* @since 1.6.0
|
703 |
+
*
|
704 |
+
* @return array
|
705 |
+
*/
|
706 |
+
protected function get_bsf_plugins() {
|
707 |
+
|
708 |
+
$images_url = HFE_URL . 'assets/images/settings/';
|
709 |
+
|
710 |
+
return [
|
711 |
+
|
712 |
+
'astra' => [
|
713 |
+
'icon' => $images_url . 'plugin-astra.png',
|
714 |
+
'type' => 'theme',
|
715 |
+
'name' => esc_html__( 'Astra Theme', 'header-footer-elementor' ),
|
716 |
+
'desc' => esc_html__( 'Powering over 1+ Million websites, Astra is loved for the fast performance and ease of use it offers. It is suitable for all kinds of websites like blogs, portfolios, business, and WooCommerce stores.', 'header-footer-elementor' ),
|
717 |
+
'wporg' => 'https://wordpress.org/themes/astra/',
|
718 |
+
'url' => 'https://downloads.wordpress.org/theme/astra.zip',
|
719 |
+
'siteurl' => 'https://wpastra.com/',
|
720 |
+
'pro' => false,
|
721 |
+
'slug' => 'astra',
|
722 |
+
],
|
723 |
+
|
724 |
+
'astra-sites/astra-sites.php' => [
|
725 |
+
'icon' => $images_url . 'plugin-st.png',
|
726 |
+
'type' => 'plugin',
|
727 |
+
'name' => esc_html__( 'Starter Templates', 'header-footer-elementor' ),
|
728 |
+
'desc' => esc_html__( 'A popular templates plugin that provides an extensive library of professional and fully customizable 600+ ready website and templates. More than 1+ Million websites have built with this plugin.', 'header-footer-elementor' ),
|
729 |
+
'wporg' => 'https://wordpress.org/plugins/astra-sites/',
|
730 |
+
'url' => 'https://downloads.wordpress.org/plugin/astra-sites.zip',
|
731 |
+
'siteurl' => 'https://startertemplates.com/',
|
732 |
+
'pro' => false,
|
733 |
+
'slug' => 'astra-sites',
|
734 |
+
],
|
735 |
+
|
736 |
+
'ultimate-elementor/ultimate-elementor.php' => [
|
737 |
+
'icon' => $images_url . 'plugin-uae.png',
|
738 |
+
'type' => 'plugin',
|
739 |
+
'name' => esc_html__( 'Ultimate Addons for Elementor', 'header-footer-elementor' ),
|
740 |
+
'desc' => esc_html__( 'It’s a collection of 40+ unique, creative, and optimized Elementor widgets with 100+ readymade templates. Trusted by more than 600+ K web professionals. It’s a #1 toolkit for Elementor Page Builder.', 'header-footer-elementor' ),
|
741 |
+
'wporg' => '',
|
742 |
+
'url' => 'https://ultimateelementor.com/',
|
743 |
+
'siteurl' => 'https://ultimateelementor.com/',
|
744 |
+
'pro' => true,
|
745 |
+
'slug' => 'ultimate-elementor',
|
746 |
+
],
|
747 |
+
];
|
748 |
+
}
|
749 |
+
|
750 |
+
/**
|
751 |
+
* Determine if the plugin/addon installations are allowed.
|
752 |
+
*
|
753 |
+
* @since 1.6.0
|
754 |
+
* @param string $type defines addon type.
|
755 |
+
* @return bool
|
756 |
+
*/
|
757 |
+
public function hfe_can_install( $type ) {
|
758 |
+
|
759 |
+
if ( ! in_array( $type, [ 'plugin', 'theme' ], true ) ) {
|
760 |
+
return false;
|
761 |
+
}
|
762 |
+
|
763 |
+
// Determine whether file modifications are allowed.
|
764 |
+
if ( ! wp_is_file_mod_allowed( 'hfe_can_install' ) ) {
|
765 |
+
return false;
|
766 |
+
}
|
767 |
+
|
768 |
+
if ( 'theme' === $type ) {
|
769 |
+
if ( ! current_user_can( 'install_themes' ) ) {
|
770 |
+
return false;
|
771 |
+
}
|
772 |
+
|
773 |
+
return true;
|
774 |
+
|
775 |
+
} elseif ( 'plugin' === $type ) {
|
776 |
+
if ( ! current_user_can( 'install_plugins' ) ) {
|
777 |
+
return false;
|
778 |
+
}
|
779 |
+
|
780 |
+
return true;
|
781 |
+
}
|
782 |
+
|
783 |
+
return false;
|
784 |
+
}
|
785 |
+
|
786 |
+
/**
|
787 |
+
* Add settings link to the Plugins page.
|
788 |
+
*
|
789 |
+
* @since 1.6.0
|
790 |
+
*
|
791 |
+
* @param array $links Plugin row links.
|
792 |
+
*
|
793 |
+
* @return array $links
|
794 |
+
*/
|
795 |
+
public function settings_link( $links ) {
|
796 |
+
|
797 |
+
$custom['settings'] = sprintf(
|
798 |
+
'<a href="%s" aria-label="%s">%s</a>',
|
799 |
+
esc_url(
|
800 |
+
add_query_arg(
|
801 |
+
[
|
802 |
+
'post_type' => 'elementor-hf',
|
803 |
+
],
|
804 |
+
admin_url( 'edit.php' )
|
805 |
+
)
|
806 |
+
),
|
807 |
+
esc_attr__( 'Go to HFE Settings page', 'header-footer-elementor' ),
|
808 |
+
esc_html__( 'Settings', 'header-footer-elementor' )
|
809 |
+
);
|
810 |
+
|
811 |
+
return array_merge( $custom, (array) $links );
|
812 |
+
}
|
813 |
+
|
814 |
+
}
|
815 |
+
|
816 |
+
new HFE_Settings_Page();
|
inc/js/frontend.js
CHANGED
@@ -67,10 +67,22 @@
|
|
67 |
var last_item = $( '.elementor-element-' + id + ' .hfe-nav-menu' ).data( 'last-item' );
|
68 |
var last_item_flyout = $( '.elementor-element-' + id + ' .hfe-flyout-wrapper' ).data( 'last-item' );
|
69 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
70 |
$( 'div.hfe-has-submenu-container' ).removeClass( 'sub-menu-active' );
|
71 |
|
72 |
_toggleClick( id );
|
73 |
|
|
|
|
|
74 |
if( 'horizontal' !== layout ){
|
75 |
|
76 |
_eventClick( id );
|
@@ -233,6 +245,26 @@
|
|
233 |
});
|
234 |
};
|
235 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
236 |
function _openMenu( id ) {
|
237 |
|
238 |
var flyout_content = $( '#hfe-flyout-content-id-' + id );
|
@@ -363,18 +395,18 @@
|
|
363 |
}
|
364 |
|
365 |
$this.removeClass( 'sub-menu-active' );
|
366 |
-
$this.
|
367 |
-
$this.
|
368 |
-
$this.
|
369 |
} else{
|
370 |
|
371 |
$this.find( 'a' ).attr( 'aria-expanded', 'false' );
|
372 |
|
373 |
$this.removeClass( 'sub-menu-active' );
|
374 |
-
$this.
|
375 |
-
$this.
|
376 |
-
$this.
|
377 |
-
|
378 |
if ( 'horizontal' !== layout ){
|
379 |
|
380 |
$this.next().css( 'position', 'relative' );
|
@@ -411,9 +443,9 @@
|
|
411 |
}
|
412 |
|
413 |
$this.addClass( 'sub-menu-active' );
|
414 |
-
$this.
|
415 |
-
$this.
|
416 |
-
$this.
|
417 |
}
|
418 |
}
|
419 |
});
|
@@ -603,6 +635,42 @@
|
|
603 |
} );
|
604 |
}
|
605 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
606 |
$( window ).on( 'elementor/frontend/init', function () {
|
607 |
|
608 |
elementorFrontend.hooks.addAction( 'frontend/element_ready/navigation-menu.default', WidgethfeNavMenuHandler );
|
67 |
var last_item = $( '.elementor-element-' + id + ' .hfe-nav-menu' ).data( 'last-item' );
|
68 |
var last_item_flyout = $( '.elementor-element-' + id + ' .hfe-flyout-wrapper' ).data( 'last-item' );
|
69 |
|
70 |
+
var menu_items_links = $( '.elementor-element-' + id + ' .hfe-nav-menu nav li a' );
|
71 |
+
var menu_items_links_flyout = $( '.elementor-element-' + id + ' .hfe-flyout-wrapper li a' );
|
72 |
+
if (menu_items_links.length > 0) {
|
73 |
+
_handle_current_menu_item_class( menu_items_links );
|
74 |
+
}
|
75 |
+
|
76 |
+
if (menu_items_links_flyout.length > 0) {
|
77 |
+
_handle_current_menu_item_class( menu_items_links_flyout );
|
78 |
+
}
|
79 |
+
|
80 |
$( 'div.hfe-has-submenu-container' ).removeClass( 'sub-menu-active' );
|
81 |
|
82 |
_toggleClick( id );
|
83 |
|
84 |
+
_handleSinglePageMenu( id, layout );
|
85 |
+
|
86 |
if( 'horizontal' !== layout ){
|
87 |
|
88 |
_eventClick( id );
|
245 |
});
|
246 |
};
|
247 |
|
248 |
+
function _handle_current_menu_item_class( layout_links ) {
|
249 |
+
layout_links.each(
|
250 |
+
function () {
|
251 |
+
var $this = $( this );
|
252 |
+
if ($this.is( '[href*="#"]' )) {
|
253 |
+
var menu_item_parent = $this.parent();
|
254 |
+
menu_item_parent.removeClass( 'current-menu-item current-menu-ancestor' );
|
255 |
+
$this.click(
|
256 |
+
function () {
|
257 |
+
var current_index = menu_item_parent.index(),
|
258 |
+
parent_element = $this.closest( 'ul' );
|
259 |
+
parent_element.find( 'li' ).not( ':eq(' + current_index + ')' ).removeClass( 'current-menu-item current-menu-ancestor' );
|
260 |
+
menu_item_parent.addClass( 'current-menu-item current-menu-ancestor' );
|
261 |
+
}
|
262 |
+
)
|
263 |
+
}
|
264 |
+
}
|
265 |
+
);
|
266 |
+
}
|
267 |
+
|
268 |
function _openMenu( id ) {
|
269 |
|
270 |
var flyout_content = $( '#hfe-flyout-content-id-' + id );
|
395 |
}
|
396 |
|
397 |
$this.removeClass( 'sub-menu-active' );
|
398 |
+
$this.nextAll('.sub-menu').removeClass( 'sub-menu-open' );
|
399 |
+
$this.nextAll('.sub-menu').css( { 'visibility': 'hidden', 'opacity': '0', 'height': '0' } );
|
400 |
+
$this.nextAll('.sub-menu').css( { 'transition': 'none'} );
|
401 |
} else{
|
402 |
|
403 |
$this.find( 'a' ).attr( 'aria-expanded', 'false' );
|
404 |
|
405 |
$this.removeClass( 'sub-menu-active' );
|
406 |
+
$this.nextAll('.sub-menu').removeClass( 'sub-menu-open' );
|
407 |
+
$this.nextAll('.sub-menu').css( { 'visibility': 'hidden', 'opacity': '0', 'height': '0' } );
|
408 |
+
$this.nextAll('.sub-menu').css( { 'transition': 'none'} );
|
409 |
+
|
410 |
if ( 'horizontal' !== layout ){
|
411 |
|
412 |
$this.next().css( 'position', 'relative' );
|
443 |
}
|
444 |
|
445 |
$this.addClass( 'sub-menu-active' );
|
446 |
+
$this.nextAll('.sub-menu').addClass( 'sub-menu-open' );
|
447 |
+
$this.nextAll('.sub-menu').css( { 'visibility': 'visible', 'opacity': '1', 'height': 'auto' } );
|
448 |
+
$this.nextAll('.sub-menu').css( { 'transition': '0.3s ease'} );
|
449 |
}
|
450 |
}
|
451 |
});
|
635 |
} );
|
636 |
}
|
637 |
|
638 |
+
function _handleSinglePageMenu( id, layout ) {
|
639 |
+
$( '.elementor-element-' + id + ' ul.hfe-nav-menu li a' ).on(
|
640 |
+
'click',
|
641 |
+
function () {
|
642 |
+
var $this = $( this );
|
643 |
+
var link = $this.attr( 'href' );
|
644 |
+
var linkValue = '';
|
645 |
+
if ( link.includes( '#' ) ) {
|
646 |
+
var index = link.indexOf( '#' );
|
647 |
+
linkValue = link.slice( index + 1 );
|
648 |
+
}
|
649 |
+
if ( linkValue.length > 0 ) {
|
650 |
+
if ( 'expandible' == layout ) {
|
651 |
+
$( '.elementor-element-' + id + ' .hfe-nav-menu__toggle' ).trigger( "click" );
|
652 |
+
if ($this.hasClass( 'hfe-sub-menu-item' )) {
|
653 |
+
$( '.elementor-element-' + id + ' .hfe-menu-toggle' ).trigger( "click" );
|
654 |
+
}
|
655 |
+
} else {
|
656 |
+
if ( window.matchMedia( '(max-width: 1024px)' ).matches && ( 'horizontal' == layout || 'vertical' == layout ) ) {
|
657 |
+
$( '.elementor-element-' + id + ' .hfe-nav-menu__toggle' ).trigger( "click" );
|
658 |
+
if ($this.hasClass( 'hfe-sub-menu-item' )) {
|
659 |
+
$( '.elementor-element-' + id + ' .hfe-menu-toggle' ).trigger( "click" );
|
660 |
+
}
|
661 |
+
} else {
|
662 |
+
if ($this.hasClass( 'hfe-sub-menu-item' )) {
|
663 |
+
_closeMenu( id );
|
664 |
+
$( '.elementor-element-' + id + ' .hfe-menu-toggle' ).trigger( "click" );
|
665 |
+
}
|
666 |
+
_closeMenu( id );
|
667 |
+
}
|
668 |
+
}
|
669 |
+
}
|
670 |
+
}
|
671 |
+
);
|
672 |
+
}
|
673 |
+
|
674 |
$( window ).on( 'elementor/frontend/init', function () {
|
675 |
|
676 |
elementorFrontend.hooks.addAction( 'frontend/element_ready/navigation-menu.default', WidgethfeNavMenuHandler );
|
inc/widgets-css/frontend.css
CHANGED
@@ -21,7 +21,9 @@ ul.hfe-nav-menu,
|
|
21 |
position: relative;
|
22 |
background: inherit;
|
23 |
}
|
24 |
-
|
|
|
|
|
25 |
div.hfe-nav-menu,
|
26 |
.elementor-widget-hfe-nav-menu .elementor-widget-container {
|
27 |
-js-display: flex;
|
21 |
position: relative;
|
22 |
background: inherit;
|
23 |
}
|
24 |
+
.hfe-nav-menu__theme-icon-yes button.sub-menu-toggle {
|
25 |
+
display: none;
|
26 |
+
}
|
27 |
div.hfe-nav-menu,
|
28 |
.elementor-widget-hfe-nav-menu .elementor-widget-container {
|
29 |
-js-display: flex;
|
inc/widgets-manager/class-widgets-loader.php
CHANGED
@@ -166,7 +166,7 @@ class Widgets_Loader {
|
|
166 |
* @param object $this_cat class.
|
167 |
*/
|
168 |
public function register_widget_category( $this_cat ) {
|
169 |
-
$category = __( 'Header
|
170 |
|
171 |
$this_cat->add_category(
|
172 |
'hfe-widgets',
|
166 |
* @param object $this_cat class.
|
167 |
*/
|
168 |
public function register_widget_category( $this_cat ) {
|
169 |
+
$category = __( 'Elementor Header & Footer Builder', 'header-footer-elementor' );
|
170 |
|
171 |
$this_cat->add_category(
|
172 |
'hfe-widgets',
|
inc/widgets-manager/widgets/class-menu-walker.php
CHANGED
@@ -45,6 +45,7 @@ class Menu_Walker extends \Walker_Nav_Menu {
|
|
45 |
}
|
46 |
$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args, $depth ) );
|
47 |
$class_names = ' class="' . esc_attr( $class_names ) . $submenu . ' hfe-creative-menu"';
|
|
|
48 |
|
49 |
$output .= $indent . '<li id="menu-item-' . $item->ID . '"' . $value . $class_names . '>';
|
50 |
|
45 |
}
|
46 |
$class_names = join( ' ', apply_filters( 'nav_menu_css_class', array_filter( $classes ), $item, $args, $depth ) );
|
47 |
$class_names = ' class="' . esc_attr( $class_names ) . $submenu . ' hfe-creative-menu"';
|
48 |
+
$value = apply_filters( 'nav_menu_li_values', $value );
|
49 |
|
50 |
$output .= $indent . '<li id="menu-item-' . $item->ID . '"' . $value . $class_names . '>';
|
51 |
|
inc/widgets-manager/widgets/class-navigation-menu.php
CHANGED
@@ -210,7 +210,6 @@ class Navigation_Menu extends Widget_Base {
|
|
210 |
'options' => $menus,
|
211 |
'default' => array_keys( $menus )[0],
|
212 |
'save_default' => true,
|
213 |
-
'separator' => 'after',
|
214 |
/* translators: %s Nav menu URL */
|
215 |
'description' => sprintf( __( 'Go to the <a href="%s" target="_blank">Menus screen</a> to manage your menus.', 'header-footer-elementor' ), admin_url( 'nav-menus.php' ) ),
|
216 |
]
|
@@ -222,7 +221,6 @@ class Navigation_Menu extends Widget_Base {
|
|
222 |
'type' => Controls_Manager::RAW_HTML,
|
223 |
/* translators: %s Nav menu URL */
|
224 |
'raw' => sprintf( __( '<strong>There are no menus in your site.</strong><br>Go to the <a href="%s" target="_blank">Menus screen</a> to create one.', 'header-footer-elementor' ), admin_url( 'nav-menus.php?action=edit&menu=0' ) ),
|
225 |
-
'separator' => 'after',
|
226 |
'content_classes' => 'elementor-panel-alert elementor-panel-alert-info',
|
227 |
]
|
228 |
);
|
@@ -231,13 +229,16 @@ class Navigation_Menu extends Widget_Base {
|
|
231 |
$this->add_control(
|
232 |
'menu_last_item',
|
233 |
[
|
234 |
-
'label'
|
235 |
-
'type'
|
236 |
-
'options'
|
237 |
'none' => __( 'Default', 'header-footer-elementor' ),
|
238 |
'cta' => __( 'Button', 'header-footer-elementor' ),
|
239 |
],
|
240 |
-
'default'
|
|
|
|
|
|
|
241 |
]
|
242 |
);
|
243 |
|
@@ -251,9 +252,27 @@ class Navigation_Menu extends Widget_Base {
|
|
251 |
'return_value' => 'yes',
|
252 |
'default' => 'no',
|
253 |
'render_type' => 'template',
|
|
|
254 |
]
|
255 |
);
|
256 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
257 |
$this->end_controls_section();
|
258 |
|
259 |
$this->start_controls_section(
|
@@ -1270,8 +1289,8 @@ class Navigation_Menu extends Widget_Base {
|
|
1270 |
'name' => 'dropdown_border',
|
1271 |
'selector' => '{{WRAPPER}} nav.hfe-nav-menu__layout-horizontal .sub-menu,
|
1272 |
{{WRAPPER}} nav:not(.hfe-nav-menu__layout-horizontal) .sub-menu.sub-menu-open,
|
1273 |
-
{{WRAPPER}} nav.hfe-dropdown,
|
1274 |
-
{{WRAPPER}} nav.hfe-dropdown-expandible',
|
1275 |
]
|
1276 |
);
|
1277 |
|
@@ -1392,7 +1411,7 @@ class Navigation_Menu extends Widget_Base {
|
|
1392 |
],
|
1393 |
],
|
1394 |
'selectors' => [
|
1395 |
-
'{{WRAPPER}} nav.hfe-nav-menu__layout-horizontal ul.sub-menu, {{WRAPPER}} nav.hfe-nav-menu__layout-expandible.menu-is-active' => 'margin-top: {{SIZE}}px;',
|
1396 |
'{{WRAPPER}} .hfe-dropdown.menu-is-active' => 'margin-top: {{SIZE}}px;',
|
1397 |
],
|
1398 |
'condition' => [
|
@@ -1808,7 +1827,7 @@ class Navigation_Menu extends Widget_Base {
|
|
1808 |
*
|
1809 |
* @since 1.5.2
|
1810 |
* @param string $atts link attributes.
|
1811 |
-
* @access
|
1812 |
*/
|
1813 |
public function handle_link_attrs( $atts ) {
|
1814 |
|
@@ -1816,6 +1835,19 @@ class Navigation_Menu extends Widget_Base {
|
|
1816 |
return $atts;
|
1817 |
}
|
1818 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1819 |
/**
|
1820 |
* Get the menu and close icon HTML.
|
1821 |
*
|
@@ -1889,6 +1921,7 @@ class Navigation_Menu extends Widget_Base {
|
|
1889 |
$this->add_render_attribute( 'hfe-nav-menu', 'itemtype', 'http://schema.org/SiteNavigationElement' );
|
1890 |
|
1891 |
add_filter( 'hfe_nav_menu_attrs', [ $this, 'handle_link_attrs' ] );
|
|
|
1892 |
}
|
1893 |
|
1894 |
$menu_html = wp_nav_menu( $args );
|
210 |
'options' => $menus,
|
211 |
'default' => array_keys( $menus )[0],
|
212 |
'save_default' => true,
|
|
|
213 |
/* translators: %s Nav menu URL */
|
214 |
'description' => sprintf( __( 'Go to the <a href="%s" target="_blank">Menus screen</a> to manage your menus.', 'header-footer-elementor' ), admin_url( 'nav-menus.php' ) ),
|
215 |
]
|
221 |
'type' => Controls_Manager::RAW_HTML,
|
222 |
/* translators: %s Nav menu URL */
|
223 |
'raw' => sprintf( __( '<strong>There are no menus in your site.</strong><br>Go to the <a href="%s" target="_blank">Menus screen</a> to create one.', 'header-footer-elementor' ), admin_url( 'nav-menus.php?action=edit&menu=0' ) ),
|
|
|
224 |
'content_classes' => 'elementor-panel-alert elementor-panel-alert-info',
|
225 |
]
|
226 |
);
|
229 |
$this->add_control(
|
230 |
'menu_last_item',
|
231 |
[
|
232 |
+
'label' => __( 'Last Menu Item', 'header-footer-elementor' ),
|
233 |
+
'type' => Controls_Manager::SELECT,
|
234 |
+
'options' => [
|
235 |
'none' => __( 'Default', 'header-footer-elementor' ),
|
236 |
'cta' => __( 'Button', 'header-footer-elementor' ),
|
237 |
],
|
238 |
+
'default' => 'none',
|
239 |
+
'condition' => [
|
240 |
+
'layout!' => 'expandible',
|
241 |
+
],
|
242 |
]
|
243 |
);
|
244 |
|
252 |
'return_value' => 'yes',
|
253 |
'default' => 'no',
|
254 |
'render_type' => 'template',
|
255 |
+
'separator' => 'before',
|
256 |
]
|
257 |
);
|
258 |
|
259 |
+
$current_theme = wp_get_theme();
|
260 |
+
|
261 |
+
if ( 'Twenty Twenty-One' === $current_theme->get( 'Name' ) ) {
|
262 |
+
$this->add_control(
|
263 |
+
'hide_theme_icons',
|
264 |
+
[
|
265 |
+
'label' => __( 'Hide + & - Sign', 'header-footer-elementor' ),
|
266 |
+
'type' => Controls_Manager::SWITCHER,
|
267 |
+
'label_on' => __( 'Yes', 'header-footer-elementor' ),
|
268 |
+
'label_off' => __( 'No', 'header-footer-elementor' ),
|
269 |
+
'return_value' => 'yes',
|
270 |
+
'default' => 'no',
|
271 |
+
'prefix_class' => 'hfe-nav-menu__theme-icon-',
|
272 |
+
]
|
273 |
+
);
|
274 |
+
}
|
275 |
+
|
276 |
$this->end_controls_section();
|
277 |
|
278 |
$this->start_controls_section(
|
1289 |
'name' => 'dropdown_border',
|
1290 |
'selector' => '{{WRAPPER}} nav.hfe-nav-menu__layout-horizontal .sub-menu,
|
1291 |
{{WRAPPER}} nav:not(.hfe-nav-menu__layout-horizontal) .sub-menu.sub-menu-open,
|
1292 |
+
{{WRAPPER}} nav.hfe-dropdown .hfe-nav-menu,
|
1293 |
+
{{WRAPPER}} nav.hfe-dropdown-expandible .hfe-nav-menu',
|
1294 |
]
|
1295 |
);
|
1296 |
|
1411 |
],
|
1412 |
],
|
1413 |
'selectors' => [
|
1414 |
+
'{{WRAPPER}} nav.hfe-nav-menu__layout-horizontal:not(.hfe-dropdown) ul.sub-menu, {{WRAPPER}} nav.hfe-nav-menu__layout-expandible.menu-is-active, {{WRAPPER}} nav.hfe-nav-menu__layout-vertical:not(.hfe-dropdown) ul.sub-menu' => 'margin-top: {{SIZE}}px;',
|
1415 |
'{{WRAPPER}} .hfe-dropdown.menu-is-active' => 'margin-top: {{SIZE}}px;',
|
1416 |
],
|
1417 |
'condition' => [
|
1827 |
*
|
1828 |
* @since 1.5.2
|
1829 |
* @param string $atts link attributes.
|
1830 |
+
* @access public
|
1831 |
*/
|
1832 |
public function handle_link_attrs( $atts ) {
|
1833 |
|
1835 |
return $atts;
|
1836 |
}
|
1837 |
|
1838 |
+
/**
|
1839 |
+
* Add itemprop to the li tag of Navigation Schema.
|
1840 |
+
*
|
1841 |
+
* @since 1.6.0
|
1842 |
+
* @param string $value link attributes.
|
1843 |
+
* @access public
|
1844 |
+
*/
|
1845 |
+
public function handle_li_values( $value ) {
|
1846 |
+
|
1847 |
+
$value .= ' itemprop="name"';
|
1848 |
+
return $value;
|
1849 |
+
}
|
1850 |
+
|
1851 |
/**
|
1852 |
* Get the menu and close icon HTML.
|
1853 |
*
|
1921 |
$this->add_render_attribute( 'hfe-nav-menu', 'itemtype', 'http://schema.org/SiteNavigationElement' );
|
1922 |
|
1923 |
add_filter( 'hfe_nav_menu_attrs', [ $this, 'handle_link_attrs' ] );
|
1924 |
+
add_filter( 'nav_menu_li_values', [ $this, 'handle_li_values' ] );
|
1925 |
}
|
1926 |
|
1927 |
$menu_html = wp_nav_menu( $args );
|
languages/header-footer-elementor.pot
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
# Copyright (C) 2021 Brainstorm Force, Nikhil Chavan
|
2 |
-
# This file is distributed under the same license as the Elementor
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: Elementor
|
6 |
"Report-Msgid-Bugs-To: "
|
7 |
"https://wordpress.org/support/plugin/header-footer-elementor\n"
|
8 |
-
"POT-Creation-Date: 2021-
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -66,204 +66,525 @@ msgstr ""
|
|
66 |
msgid "Learn More."
|
67 |
msgstr ""
|
68 |
|
69 |
-
#: admin/class-hfe-
|
70 |
-
msgid "
|
71 |
msgstr ""
|
72 |
|
73 |
-
#: admin/class-hfe-
|
74 |
-
msgid "
|
75 |
msgstr ""
|
76 |
|
77 |
-
#: admin/class-hfe-
|
78 |
-
msgid "
|
79 |
msgstr ""
|
80 |
|
81 |
-
#: admin/class-hfe-
|
82 |
-
msgid "
|
83 |
msgstr ""
|
84 |
|
85 |
-
#: admin/class-hfe-
|
86 |
-
msgid "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
msgstr ""
|
88 |
|
89 |
#: admin/class-hfe-admin.php:224
|
90 |
-
msgid "Add New
|
91 |
msgstr ""
|
92 |
|
93 |
#: admin/class-hfe-admin.php:225
|
94 |
-
msgid "New Header Footer
|
95 |
msgstr ""
|
96 |
|
97 |
#: admin/class-hfe-admin.php:226
|
98 |
-
msgid "
|
99 |
msgstr ""
|
100 |
|
101 |
#: admin/class-hfe-admin.php:227
|
102 |
-
msgid "
|
103 |
msgstr ""
|
104 |
|
105 |
#: admin/class-hfe-admin.php:228
|
106 |
-
msgid "
|
107 |
msgstr ""
|
108 |
|
109 |
-
#: admin/class-hfe-admin.php:229
|
110 |
-
msgid "
|
111 |
msgstr ""
|
112 |
|
113 |
#: admin/class-hfe-admin.php:230
|
114 |
-
msgid "
|
115 |
msgstr ""
|
116 |
|
117 |
#: admin/class-hfe-admin.php:231
|
118 |
-
msgid "
|
119 |
msgstr ""
|
120 |
|
121 |
#: admin/class-hfe-admin.php:232
|
122 |
-
msgid "No
|
123 |
msgstr ""
|
124 |
|
125 |
-
#: admin/class-hfe-admin.php:
|
126 |
-
msgid "
|
127 |
msgstr ""
|
128 |
|
129 |
-
#: admin/class-hfe-admin.php:
|
130 |
-
msgid "Elementor
|
131 |
msgstr ""
|
132 |
|
133 |
-
#: admin/class-hfe-admin.php:
|
134 |
msgid "Type of Template"
|
135 |
msgstr ""
|
136 |
|
137 |
-
#: admin/class-hfe-admin.php:
|
138 |
msgid "Select Option"
|
139 |
msgstr ""
|
140 |
|
141 |
-
#: admin/class-hfe-admin.php:
|
142 |
msgid "Header"
|
143 |
msgstr ""
|
144 |
|
145 |
-
#: admin/class-hfe-admin.php:
|
146 |
msgid "Before Footer"
|
147 |
msgstr ""
|
148 |
|
149 |
-
#: admin/class-hfe-admin.php:
|
150 |
msgid "Footer"
|
151 |
msgstr ""
|
152 |
|
153 |
-
#: admin/class-hfe-admin.php:
|
154 |
msgid "Custom Block"
|
155 |
msgstr ""
|
156 |
|
157 |
-
#: admin/class-hfe-admin.php:
|
158 |
msgid "Shortcode"
|
159 |
msgstr ""
|
160 |
|
161 |
-
#: admin/class-hfe-admin.php:
|
162 |
msgid ""
|
163 |
"Copy this shortcode and paste it into your post, page, or text widget "
|
164 |
"content."
|
165 |
msgstr ""
|
166 |
|
167 |
-
#: admin/class-hfe-admin.php:
|
168 |
msgid "Enable Layout for Elementor Canvas Template?"
|
169 |
msgstr ""
|
170 |
|
171 |
-
#: admin/class-hfe-admin.php:
|
172 |
msgid ""
|
173 |
"Enabling this option will display this layout on pages using Elementor "
|
174 |
"Canvas Template."
|
175 |
msgstr ""
|
176 |
|
177 |
-
#: admin/class-hfe-admin.php:
|
178 |
msgid "Display On"
|
179 |
msgstr ""
|
180 |
|
181 |
-
#: admin/class-hfe-admin.php:
|
182 |
msgid "Add locations for where this template should appear."
|
183 |
msgstr ""
|
184 |
|
185 |
-
#: admin/class-hfe-admin.php:
|
186 |
msgid "Add Display Rule"
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: admin/class-hfe-admin.php:
|
190 |
msgid "Do Not Display On"
|
191 |
msgstr ""
|
192 |
|
193 |
-
#: admin/class-hfe-admin.php:
|
194 |
msgid "Add locations for where this template should not appear."
|
195 |
msgstr ""
|
196 |
|
197 |
-
#: admin/class-hfe-admin.php:
|
198 |
msgid "Exclude On"
|
199 |
msgstr ""
|
200 |
|
201 |
-
#: admin/class-hfe-admin.php:
|
202 |
#: inc/lib/target-rule/class-astra-target-rules-fields.php:846
|
203 |
msgid "Add Exclusion Rule"
|
204 |
msgstr ""
|
205 |
|
206 |
-
#: admin/class-hfe-admin.php:
|
207 |
msgid "User Roles"
|
208 |
msgstr ""
|
209 |
|
210 |
-
#: admin/class-hfe-admin.php:
|
211 |
msgid "Display custom template based on user role."
|
212 |
msgstr ""
|
213 |
|
214 |
-
#: admin/class-hfe-admin.php:
|
215 |
msgid "Users"
|
216 |
msgstr ""
|
217 |
|
218 |
-
#: admin/class-hfe-admin.php:
|
219 |
msgid "Add User Rule"
|
220 |
msgstr ""
|
221 |
|
222 |
-
#: admin/class-hfe-admin.php:
|
223 |
#. Translators: Post title, Template Location
|
224 |
msgid "Template %1$s is already assigned to the location %2$s"
|
225 |
msgstr ""
|
226 |
|
227 |
-
#: inc/class-header-footer-elementor.php:
|
228 |
msgid ""
|
229 |
-
"Hello! Seems like you have used Elementor
|
230 |
-
"
|
231 |
msgstr ""
|
232 |
|
233 |
-
#: inc/class-header-footer-elementor.php:
|
234 |
msgid ""
|
235 |
"Could you please do us a BIG favor and give it a 5-star rating on "
|
236 |
"WordPress? This would boost our motivation and help other users make a "
|
237 |
-
"comfortable decision while choosing the Elementor
|
238 |
msgstr ""
|
239 |
|
240 |
-
#: inc/class-header-footer-elementor.php:
|
241 |
msgid "Ok, you deserve it"
|
242 |
msgstr ""
|
243 |
|
244 |
-
#: inc/class-header-footer-elementor.php:
|
245 |
msgid "Nope, maybe later"
|
246 |
msgstr ""
|
247 |
|
248 |
-
#: inc/class-header-footer-elementor.php:
|
249 |
msgid "I already did"
|
250 |
msgstr ""
|
251 |
|
252 |
-
#: inc/class-header-footer-elementor.php:
|
253 |
#. translators: %s: html tags
|
254 |
msgid ""
|
255 |
-
"The %1$sElementor
|
256 |
"%1$sElementor%2$s plugin installed & activated."
|
257 |
msgstr ""
|
258 |
|
259 |
-
#: inc/class-header-footer-elementor.php:
|
260 |
msgid "Activate Elementor"
|
261 |
msgstr ""
|
262 |
|
263 |
-
#: inc/class-header-footer-elementor.php:
|
|
|
264 |
msgid "Install Elementor"
|
265 |
msgstr ""
|
266 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
267 |
#: inc/lib/notices/class-astra-notices.php:120
|
268 |
msgid "WordPress Nonce not validated."
|
269 |
msgstr ""
|
@@ -419,10 +740,6 @@ msgstr ""
|
|
419 |
msgid "The same display setting is already exist in %s post/s."
|
420 |
msgstr ""
|
421 |
|
422 |
-
#: inc/widgets-manager/class-widgets-loader.php:169
|
423 |
-
msgid "Header, Footer & Blocks"
|
424 |
-
msgstr ""
|
425 |
-
|
426 |
#: inc/widgets-manager/class-widgets-loader.php:234
|
427 |
#: inc/widgets-manager/widgets/class-cart.php:51
|
428 |
#: inc/widgets-manager/widgets/class-cart.php:661
|
@@ -439,8 +756,8 @@ msgid "Type"
|
|
439 |
msgstr ""
|
440 |
|
441 |
#: inc/widgets-manager/widgets/class-cart.php:130
|
442 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
443 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
444 |
#: inc/widgets-manager/widgets/class-page-title.php:192
|
445 |
#: inc/widgets-manager/widgets/class-page-title.php:241
|
446 |
#: inc/widgets-manager/widgets/class-site-logo.php:232
|
@@ -455,7 +772,7 @@ msgid "Custom"
|
|
455 |
msgstr ""
|
456 |
|
457 |
#: inc/widgets-manager/widgets/class-cart.php:139
|
458 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
459 |
#: inc/widgets-manager/widgets/class-page-title.php:364
|
460 |
#: inc/widgets-manager/widgets/class-search-button.php:145
|
461 |
#: inc/widgets-manager/widgets/class-search-button.php:767
|
@@ -483,9 +800,9 @@ msgid "Items Count"
|
|
483 |
msgstr ""
|
484 |
|
485 |
#: inc/widgets-manager/widgets/class-cart.php:160
|
486 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
487 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
488 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
489 |
#: inc/widgets-manager/widgets/class-page-title.php:193
|
490 |
#: inc/widgets-manager/widgets/class-retina.php:196
|
491 |
#: inc/widgets-manager/widgets/class-retina.php:227
|
@@ -507,8 +824,9 @@ msgstr ""
|
|
507 |
|
508 |
#: inc/widgets-manager/widgets/class-cart.php:176
|
509 |
#: inc/widgets-manager/widgets/class-cart.php:192
|
510 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
511 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
|
|
512 |
#: inc/widgets-manager/widgets/class-site-logo.php:137
|
513 |
#: inc/widgets-manager/widgets/class-site-logo.php:202
|
514 |
#: inc/widgets-manager/widgets/class-site-logo.php:264
|
@@ -517,8 +835,9 @@ msgstr ""
|
|
517 |
|
518 |
#: inc/widgets-manager/widgets/class-cart.php:177
|
519 |
#: inc/widgets-manager/widgets/class-cart.php:193
|
520 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
521 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
|
|
522 |
#: inc/widgets-manager/widgets/class-site-logo.php:138
|
523 |
#: inc/widgets-manager/widgets/class-site-logo.php:201
|
524 |
#: inc/widgets-manager/widgets/class-site-logo.php:265
|
@@ -535,8 +854,8 @@ msgstr ""
|
|
535 |
|
536 |
#: inc/widgets-manager/widgets/class-cart.php:207
|
537 |
#: inc/widgets-manager/widgets/class-copyright.php:142
|
538 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
539 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
540 |
#: inc/widgets-manager/widgets/class-page-title.php:254
|
541 |
#: inc/widgets-manager/widgets/class-retina.php:167
|
542 |
#: inc/widgets-manager/widgets/class-site-logo.php:172
|
@@ -547,11 +866,11 @@ msgstr ""
|
|
547 |
|
548 |
#: inc/widgets-manager/widgets/class-cart.php:211
|
549 |
#: inc/widgets-manager/widgets/class-copyright.php:146
|
550 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
551 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
552 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
553 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
554 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
555 |
#: inc/widgets-manager/widgets/class-page-title.php:258
|
556 |
#: inc/widgets-manager/widgets/class-retina.php:171
|
557 |
#: inc/widgets-manager/widgets/class-site-logo.php:176
|
@@ -562,10 +881,10 @@ msgstr ""
|
|
562 |
|
563 |
#: inc/widgets-manager/widgets/class-cart.php:215
|
564 |
#: inc/widgets-manager/widgets/class-copyright.php:150
|
565 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
566 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
567 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
568 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
569 |
#: inc/widgets-manager/widgets/class-page-title.php:262
|
570 |
#: inc/widgets-manager/widgets/class-retina.php:175
|
571 |
#: inc/widgets-manager/widgets/class-site-logo.php:180
|
@@ -576,11 +895,11 @@ msgstr ""
|
|
576 |
|
577 |
#: inc/widgets-manager/widgets/class-cart.php:219
|
578 |
#: inc/widgets-manager/widgets/class-copyright.php:154
|
579 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
580 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
581 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
582 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
583 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
584 |
#: inc/widgets-manager/widgets/class-page-title.php:266
|
585 |
#: inc/widgets-manager/widgets/class-retina.php:179
|
586 |
#: inc/widgets-manager/widgets/class-site-logo.php:184
|
@@ -598,8 +917,8 @@ msgid "Size"
|
|
598 |
msgstr ""
|
599 |
|
600 |
#: inc/widgets-manager/widgets/class-cart.php:282
|
601 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
602 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
603 |
#: inc/widgets-manager/widgets/class-retina.php:359
|
604 |
#: inc/widgets-manager/widgets/class-search-button.php:356
|
605 |
#: inc/widgets-manager/widgets/class-search-button.php:589
|
@@ -608,9 +927,9 @@ msgid "Border Width"
|
|
608 |
msgstr ""
|
609 |
|
610 |
#: inc/widgets-manager/widgets/class-cart.php:301
|
611 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
612 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
613 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
614 |
#: inc/widgets-manager/widgets/class-retina.php:399
|
615 |
#: inc/widgets-manager/widgets/class-search-button.php:381
|
616 |
#: inc/widgets-manager/widgets/class-search-button.php:612
|
@@ -619,7 +938,7 @@ msgid "Border Radius"
|
|
619 |
msgstr ""
|
620 |
|
621 |
#: inc/widgets-manager/widgets/class-cart.php:321
|
622 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
623 |
#: inc/widgets-manager/widgets/class-retina.php:584
|
624 |
#: inc/widgets-manager/widgets/class-site-logo.php:626
|
625 |
msgid "Padding"
|
@@ -627,10 +946,10 @@ msgstr ""
|
|
627 |
|
628 |
#: inc/widgets-manager/widgets/class-cart.php:338
|
629 |
#: inc/widgets-manager/widgets/class-cart.php:536
|
630 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
631 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
632 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
633 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
634 |
#: inc/widgets-manager/widgets/class-page-title.php:339
|
635 |
#: inc/widgets-manager/widgets/class-retina.php:424
|
636 |
#: inc/widgets-manager/widgets/class-search-button.php:241
|
@@ -647,14 +966,14 @@ msgstr ""
|
|
647 |
#: inc/widgets-manager/widgets/class-cart.php:543
|
648 |
#: inc/widgets-manager/widgets/class-cart.php:580
|
649 |
#: inc/widgets-manager/widgets/class-copyright.php:167
|
650 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
651 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
652 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
653 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
654 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
655 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
656 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
657 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
658 |
#: inc/widgets-manager/widgets/class-retina.php:539
|
659 |
#: inc/widgets-manager/widgets/class-search-button.php:251
|
660 |
#: inc/widgets-manager/widgets/class-search-button.php:418
|
@@ -677,17 +996,17 @@ msgstr ""
|
|
677 |
#: inc/widgets-manager/widgets/class-cart.php:426
|
678 |
#: inc/widgets-manager/widgets/class-cart.php:557
|
679 |
#: inc/widgets-manager/widgets/class-cart.php:594
|
680 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
681 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
682 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
683 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
684 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
685 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
686 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
687 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
688 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
689 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
690 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
691 |
#: inc/widgets-manager/widgets/class-retina.php:554
|
692 |
#: inc/widgets-manager/widgets/class-search-button.php:286
|
693 |
#: inc/widgets-manager/widgets/class-search-button.php:450
|
@@ -701,7 +1020,7 @@ msgstr ""
|
|
701 |
|
702 |
#: inc/widgets-manager/widgets/class-cart.php:381
|
703 |
#: inc/widgets-manager/widgets/class-cart.php:437
|
704 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
705 |
#: inc/widgets-manager/widgets/class-retina.php:381
|
706 |
#: inc/widgets-manager/widgets/class-search-button.php:335
|
707 |
#: inc/widgets-manager/widgets/class-search-button.php:483
|
@@ -712,10 +1031,10 @@ msgstr ""
|
|
712 |
|
713 |
#: inc/widgets-manager/widgets/class-cart.php:394
|
714 |
#: inc/widgets-manager/widgets/class-cart.php:573
|
715 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
716 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
717 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
718 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
719 |
#: inc/widgets-manager/widgets/class-retina.php:459
|
720 |
#: inc/widgets-manager/widgets/class-search-button.php:684
|
721 |
#: inc/widgets-manager/widgets/class-search-button.php:800
|
@@ -725,7 +1044,7 @@ msgid "Hover"
|
|
725 |
msgstr ""
|
726 |
|
727 |
#: inc/widgets-manager/widgets/class-cart.php:451
|
728 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
729 |
#: inc/widgets-manager/widgets/class-search-button.php:717
|
730 |
#: inc/widgets-manager/widgets/class-search-button.php:822
|
731 |
msgid "Icon Size"
|
@@ -786,265 +1105,264 @@ msgstr ""
|
|
786 |
msgid "Menu"
|
787 |
msgstr ""
|
788 |
|
789 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
790 |
#. translators: %s Nav menu URL
|
791 |
msgid ""
|
792 |
"Go to the <a href=\"%s\" target=\"_blank\">Menus screen</a> to manage your "
|
793 |
"menus."
|
794 |
msgstr ""
|
795 |
|
796 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
797 |
#. translators: %s Nav menu URL
|
798 |
msgid ""
|
799 |
"<strong>There are no menus in your site.</strong><br>Go to the <a "
|
800 |
"href=\"%s\" target=\"_blank\">Menus screen</a> to create one."
|
801 |
msgstr ""
|
802 |
|
803 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
804 |
msgid "Last Menu Item"
|
805 |
msgstr ""
|
806 |
|
807 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
808 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
809 |
#: inc/widgets-manager/widgets/class-search-button.php:638
|
810 |
msgid "Button"
|
811 |
msgstr ""
|
812 |
|
813 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
814 |
msgid "Enable Schema Support"
|
815 |
msgstr ""
|
816 |
|
817 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
818 |
-
|
|
|
|
|
|
|
|
|
819 |
#: inc/widgets-manager/widgets/class-search-button.php:140
|
820 |
msgid "Layout"
|
821 |
msgstr ""
|
822 |
|
823 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
824 |
msgid "Horizontal"
|
825 |
msgstr ""
|
826 |
|
827 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
828 |
msgid "Vertical"
|
829 |
msgstr ""
|
830 |
|
831 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
832 |
msgid "Expanded"
|
833 |
msgstr ""
|
834 |
|
835 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
836 |
msgid "Flyout"
|
837 |
msgstr ""
|
838 |
|
839 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
840 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
841 |
#: inc/widgets-manager/widgets/class-site-tagline.php:194
|
842 |
#: inc/widgets-manager/widgets/class-site-title.php:261
|
843 |
msgid "Justify"
|
844 |
msgstr ""
|
845 |
|
846 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
847 |
msgid "Flyout Orientation"
|
848 |
msgstr ""
|
849 |
|
850 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
851 |
msgid "Appear Effect"
|
852 |
msgstr ""
|
853 |
|
854 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
855 |
msgid "Slide"
|
856 |
msgstr ""
|
857 |
|
858 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
859 |
msgid "Push"
|
860 |
msgstr ""
|
861 |
|
862 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
863 |
msgid "Hamburger Align"
|
864 |
msgstr ""
|
865 |
|
866 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
867 |
msgid "Menu Items Align"
|
868 |
msgstr ""
|
869 |
|
870 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
871 |
msgid "Submenu Icon"
|
872 |
msgstr ""
|
873 |
|
874 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
875 |
msgid "Arrows"
|
876 |
msgstr ""
|
877 |
|
878 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
879 |
msgid "Plus Sign"
|
880 |
msgstr ""
|
881 |
|
882 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
883 |
msgid "Classic"
|
884 |
msgstr ""
|
885 |
|
886 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
887 |
msgid "Submenu Animation"
|
888 |
msgstr ""
|
889 |
|
890 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
891 |
msgid "Slide Up"
|
892 |
msgstr ""
|
893 |
|
894 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
895 |
msgid "Action On Menu Click"
|
896 |
msgstr ""
|
897 |
|
898 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
899 |
msgid "For Horizontal layout, this will affect on the selected breakpoint"
|
900 |
msgstr ""
|
901 |
|
902 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
903 |
msgid "Open Submenu"
|
904 |
msgstr ""
|
905 |
|
906 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
907 |
msgid "Redirect To Self Link"
|
908 |
msgstr ""
|
909 |
|
910 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
911 |
msgid "Responsive"
|
912 |
msgstr ""
|
913 |
|
914 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
915 |
msgid "Breakpoint"
|
916 |
msgstr ""
|
917 |
|
918 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
919 |
msgid "Mobile (768px >)"
|
920 |
msgstr ""
|
921 |
|
922 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
923 |
msgid "Tablet (1025px >)"
|
924 |
msgstr ""
|
925 |
|
926 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
927 |
msgid "This is the alignement of menu icon on selected responsive breakpoints."
|
928 |
msgstr ""
|
929 |
|
930 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
931 |
msgid "Full Width"
|
932 |
msgstr ""
|
933 |
|
934 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
935 |
msgid "Enable this option to stretch the Sub Menu to Full Width."
|
936 |
msgstr ""
|
937 |
|
938 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
939 |
msgid "Menu Icon"
|
940 |
msgstr ""
|
941 |
|
942 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
943 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
944 |
#: inc/widgets-manager/widgets/class-search-button.php:846
|
945 |
msgid "Close Icon"
|
946 |
msgstr ""
|
947 |
|
948 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
949 |
msgid "Main Menu"
|
950 |
msgstr ""
|
951 |
|
952 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
953 |
msgid "Flyout Box Width"
|
954 |
msgstr ""
|
955 |
|
956 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
957 |
msgid "Flyout Box Padding"
|
958 |
msgstr ""
|
959 |
|
960 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
961 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
962 |
msgid "Horizontal Padding"
|
963 |
msgstr ""
|
964 |
|
965 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
966 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
967 |
msgid "Vertical Padding"
|
968 |
msgstr ""
|
969 |
|
970 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
971 |
msgid "Space Between"
|
972 |
msgstr ""
|
973 |
|
974 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
975 |
msgid "Row Spacing"
|
976 |
msgstr ""
|
977 |
|
978 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
979 |
msgid "Menu Item Top Spacing"
|
980 |
msgstr ""
|
981 |
|
982 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
983 |
msgid "Link Hover Effect"
|
984 |
msgstr ""
|
985 |
|
986 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
987 |
msgid "Underline"
|
988 |
msgstr ""
|
989 |
|
990 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
991 |
msgid "Overline"
|
992 |
msgstr ""
|
993 |
|
994 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
995 |
msgid "Double Line"
|
996 |
msgstr ""
|
997 |
|
998 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
999 |
msgid "Framed"
|
1000 |
msgstr ""
|
1001 |
|
1002 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1003 |
msgid "Text"
|
1004 |
msgstr ""
|
1005 |
|
1006 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1007 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1008 |
msgid "Animation"
|
1009 |
msgstr ""
|
1010 |
|
1011 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1012 |
msgid "Frame Animation"
|
1013 |
msgstr ""
|
1014 |
|
1015 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1016 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1017 |
msgid "Link Hover Effect Color"
|
1018 |
msgstr ""
|
1019 |
|
1020 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1021 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:1209
|
1022 |
-
msgid "Active"
|
1023 |
-
msgstr ""
|
1024 |
-
|
1025 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:1098
|
1026 |
msgid "Dropdown"
|
1027 |
msgstr ""
|
1028 |
|
1029 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1030 |
msgid ""
|
1031 |
"<b>Note:</b> On desktop, below style options will apply to the submenu. On "
|
1032 |
"mobile, this will apply to the entire menu."
|
1033 |
msgstr ""
|
1034 |
|
1035 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1036 |
msgid "Dropdown Width (px)"
|
1037 |
msgstr ""
|
1038 |
|
1039 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1040 |
msgid "Top Distance"
|
1041 |
msgstr ""
|
1042 |
|
1043 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1044 |
msgid "Divider"
|
1045 |
msgstr ""
|
1046 |
|
1047 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1048 |
#: inc/widgets-manager/widgets/class-retina.php:340
|
1049 |
#: inc/widgets-manager/widgets/class-search-button.php:312
|
1050 |
#: inc/widgets-manager/widgets/class-search-button.php:550
|
@@ -1052,7 +1370,7 @@ msgstr ""
|
|
1052 |
msgid "Border Style"
|
1053 |
msgstr ""
|
1054 |
|
1055 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1056 |
#: inc/widgets-manager/widgets/class-retina.php:346
|
1057 |
#: inc/widgets-manager/widgets/class-search-button.php:318
|
1058 |
#: inc/widgets-manager/widgets/class-search-button.php:556
|
@@ -1060,7 +1378,7 @@ msgstr ""
|
|
1060 |
msgid "Solid"
|
1061 |
msgstr ""
|
1062 |
|
1063 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1064 |
#: inc/widgets-manager/widgets/class-retina.php:347
|
1065 |
#: inc/widgets-manager/widgets/class-search-button.php:319
|
1066 |
#: inc/widgets-manager/widgets/class-search-button.php:557
|
@@ -1068,7 +1386,7 @@ msgstr ""
|
|
1068 |
msgid "Double"
|
1069 |
msgstr ""
|
1070 |
|
1071 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1072 |
#: inc/widgets-manager/widgets/class-retina.php:348
|
1073 |
#: inc/widgets-manager/widgets/class-search-button.php:320
|
1074 |
#: inc/widgets-manager/widgets/class-search-button.php:558
|
@@ -1076,7 +1394,7 @@ msgstr ""
|
|
1076 |
msgid "Dotted"
|
1077 |
msgstr ""
|
1078 |
|
1079 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1080 |
#: inc/widgets-manager/widgets/class-retina.php:349
|
1081 |
#: inc/widgets-manager/widgets/class-search-button.php:321
|
1082 |
#: inc/widgets-manager/widgets/class-search-button.php:559
|
@@ -1084,12 +1402,12 @@ msgstr ""
|
|
1084 |
msgid "Dashed"
|
1085 |
msgstr ""
|
1086 |
|
1087 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1088 |
msgid "Menu Trigger & Close Icon"
|
1089 |
msgstr ""
|
1090 |
|
1091 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1092 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1093 |
#: inc/widgets-manager/widgets/class-page-title.php:312
|
1094 |
#: inc/widgets-manager/widgets/class-search-button.php:787
|
1095 |
#: inc/widgets-manager/widgets/class-search-button.php:807
|
@@ -1100,23 +1418,23 @@ msgstr ""
|
|
1100 |
msgid "Color"
|
1101 |
msgstr ""
|
1102 |
|
1103 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1104 |
msgid "Close Icon Color"
|
1105 |
msgstr ""
|
1106 |
|
1107 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1108 |
msgid "Close Icon Size"
|
1109 |
msgstr ""
|
1110 |
|
1111 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1112 |
msgid "Typography"
|
1113 |
msgstr ""
|
1114 |
|
1115 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1116 |
msgid "Border"
|
1117 |
msgstr ""
|
1118 |
|
1119 |
-
#: inc/widgets-manager/widgets/class-navigation-menu.php:
|
1120 |
msgid "Border Hover Color"
|
1121 |
msgstr ""
|
1122 |
|
@@ -1402,67 +1720,6 @@ msgstr ""
|
|
1402 |
msgid "General"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
-
#: themes/default/class-hfe-fallback-theme-support.php:65
|
1406 |
-
msgid "Add Theme Support"
|
1407 |
-
msgstr ""
|
1408 |
-
|
1409 |
-
#: themes/default/class-hfe-fallback-theme-support.php:78
|
1410 |
-
msgid ""
|
1411 |
-
"The Elementor - Header, Footer & Blocks plugin need compatibility with your "
|
1412 |
-
"current theme to work smoothly.</br></br>Following are two methods that "
|
1413 |
-
"enable theme support for the plugin.</br></br>Method 1 is selected by "
|
1414 |
-
"default and that works fine almost will all themes. In case, you face any "
|
1415 |
-
"issue with the header or footer template, try choosing Method 2."
|
1416 |
-
msgstr ""
|
1417 |
-
|
1418 |
-
#: themes/default/class-hfe-fallback-theme-support.php:95
|
1419 |
-
msgid " Method 1 (Recommended)"
|
1420 |
-
msgstr ""
|
1421 |
-
|
1422 |
-
#: themes/default/class-hfe-fallback-theme-support.php:96
|
1423 |
-
msgid ""
|
1424 |
-
"This method replaces your theme's header (header.php) & footer (footer.php) "
|
1425 |
-
"template with plugin's custom templates."
|
1426 |
-
msgstr ""
|
1427 |
-
|
1428 |
-
#: themes/default/class-hfe-fallback-theme-support.php:99
|
1429 |
-
msgid "Method 2"
|
1430 |
-
msgstr ""
|
1431 |
-
|
1432 |
-
#: themes/default/class-hfe-fallback-theme-support.php:112
|
1433 |
-
msgid ""
|
1434 |
-
"Sometimes above methods might not work well with your theme, in this case, "
|
1435 |
-
"contact your theme author and request them to add support for the <a "
|
1436 |
-
"href=\"https://github.com/Nikschavan/header-footer-elementor/wiki/Adding-"
|
1437 |
-
"Header-Footer-Elementor-support-for-your-theme\">plugin.</>"
|
1438 |
-
msgstr ""
|
1439 |
-
|
1440 |
-
#: themes/default/class-hfe-fallback-theme-support.php:147
|
1441 |
-
#: themes/default/class-hfe-fallback-theme-support.php:148
|
1442 |
-
msgid "Settings"
|
1443 |
-
msgstr ""
|
1444 |
-
|
1445 |
-
#: themes/default/class-hfe-fallback-theme-support.php:164
|
1446 |
-
msgid "Elementor - Header, Footer & Blocks "
|
1447 |
-
msgstr ""
|
1448 |
-
|
1449 |
-
#: themes/default/class-hfe-fallback-theme-support.php:172
|
1450 |
-
msgid "All Templates"
|
1451 |
-
msgstr ""
|
1452 |
-
|
1453 |
-
#: themes/default/class-hfe-fallback-theme-support.php:176
|
1454 |
-
#: themes/default/class-hfe-fallback-theme-support.php:217
|
1455 |
-
msgid "Theme Support"
|
1456 |
-
msgstr ""
|
1457 |
-
|
1458 |
-
#: themes/default/class-hfe-fallback-theme-support.php:213
|
1459 |
-
msgid "All templates"
|
1460 |
-
msgstr ""
|
1461 |
-
|
1462 |
-
#. Plugin Name of the plugin/theme
|
1463 |
-
msgid "Elementor - Header, Footer & Blocks"
|
1464 |
-
msgstr ""
|
1465 |
-
|
1466 |
#. Plugin URI of the plugin/theme
|
1467 |
msgid "https://github.com/Nikschavan/header-footer-elementor"
|
1468 |
msgstr ""
|
1 |
# Copyright (C) 2021 Brainstorm Force, Nikhil Chavan
|
2 |
+
# This file is distributed under the same license as the Elementor Header & Footer Builder package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: Elementor Header & Footer Builder 1.6.0\n"
|
6 |
"Report-Msgid-Bugs-To: "
|
7 |
"https://wordpress.org/support/plugin/header-footer-elementor\n"
|
8 |
+
"POT-Creation-Date: 2021-06-21 16:23:04+00:00\n"
|
9 |
"MIME-Version: 1.0\n"
|
10 |
"Content-Type: text/plain; charset=utf-8\n"
|
11 |
"Content-Transfer-Encoding: 8bit\n"
|
66 |
msgid "Learn More."
|
67 |
msgstr ""
|
68 |
|
69 |
+
#: admin/class-hfe-addons-actions.php:127
|
70 |
+
msgid "Plugin activation is disabled for you on this site."
|
71 |
msgstr ""
|
72 |
|
73 |
+
#: admin/class-hfe-addons-actions.php:136
|
74 |
+
msgid "Plugin Activated."
|
75 |
msgstr ""
|
76 |
|
77 |
+
#: admin/class-hfe-addons-actions.php:146
|
78 |
+
msgid "Theme activation is disabled for you on this site."
|
79 |
msgstr ""
|
80 |
|
81 |
+
#: admin/class-hfe-addons-actions.php:155
|
82 |
+
msgid "Theme Activated."
|
83 |
msgstr ""
|
84 |
|
85 |
+
#: admin/class-hfe-addons-actions.php:161
|
86 |
+
msgid "Could not activate plugin. Please activate from the Plugins page."
|
87 |
+
msgstr ""
|
88 |
+
|
89 |
+
#: admin/class-hfe-addons-actions.php:163
|
90 |
+
msgid "Could not activate theme. Please activate from the Themes page."
|
91 |
+
msgstr ""
|
92 |
+
|
93 |
+
#: admin/class-hfe-admin.php:136 admin/class-hfe-admin.php:369
|
94 |
+
msgid "Display Rules"
|
95 |
+
msgstr ""
|
96 |
+
|
97 |
+
#: admin/class-hfe-admin.php:137
|
98 |
+
msgid "Date"
|
99 |
+
msgstr ""
|
100 |
+
|
101 |
+
#. Plugin Name of the plugin/theme
|
102 |
+
msgid "Elementor Header & Footer Builder"
|
103 |
msgstr ""
|
104 |
|
105 |
#: admin/class-hfe-admin.php:224
|
106 |
+
msgid "Add New"
|
107 |
msgstr ""
|
108 |
|
109 |
#: admin/class-hfe-admin.php:225
|
110 |
+
msgid "Add New Header or Footer"
|
111 |
msgstr ""
|
112 |
|
113 |
#: admin/class-hfe-admin.php:226
|
114 |
+
msgid "New Template"
|
115 |
msgstr ""
|
116 |
|
117 |
#: admin/class-hfe-admin.php:227
|
118 |
+
msgid "Edit Template"
|
119 |
msgstr ""
|
120 |
|
121 |
#: admin/class-hfe-admin.php:228
|
122 |
+
msgid "View Template"
|
123 |
msgstr ""
|
124 |
|
125 |
+
#: admin/class-hfe-admin.php:229 inc/class-hfe-settings-page.php:273
|
126 |
+
msgid "All Templates"
|
127 |
msgstr ""
|
128 |
|
129 |
#: admin/class-hfe-admin.php:230
|
130 |
+
msgid "Search Templates"
|
131 |
msgstr ""
|
132 |
|
133 |
#: admin/class-hfe-admin.php:231
|
134 |
+
msgid "Parent Templates:"
|
135 |
msgstr ""
|
136 |
|
137 |
#: admin/class-hfe-admin.php:232
|
138 |
+
msgid "No Templates found."
|
139 |
msgstr ""
|
140 |
|
141 |
+
#: admin/class-hfe-admin.php:233
|
142 |
+
msgid "No Templates found in Trash."
|
143 |
msgstr ""
|
144 |
|
145 |
+
#: admin/class-hfe-admin.php:275
|
146 |
+
msgid "Elementor Header & Footer Builder Options"
|
147 |
msgstr ""
|
148 |
|
149 |
+
#: admin/class-hfe-admin.php:303
|
150 |
msgid "Type of Template"
|
151 |
msgstr ""
|
152 |
|
153 |
+
#: admin/class-hfe-admin.php:307
|
154 |
msgid "Select Option"
|
155 |
msgstr ""
|
156 |
|
157 |
+
#: admin/class-hfe-admin.php:308
|
158 |
msgid "Header"
|
159 |
msgstr ""
|
160 |
|
161 |
+
#: admin/class-hfe-admin.php:309
|
162 |
msgid "Before Footer"
|
163 |
msgstr ""
|
164 |
|
165 |
+
#: admin/class-hfe-admin.php:310
|
166 |
msgid "Footer"
|
167 |
msgstr ""
|
168 |
|
169 |
+
#: admin/class-hfe-admin.php:311
|
170 |
msgid "Custom Block"
|
171 |
msgstr ""
|
172 |
|
173 |
+
#: admin/class-hfe-admin.php:319 admin/class-hfe-admin.php:564
|
174 |
msgid "Shortcode"
|
175 |
msgstr ""
|
176 |
|
177 |
+
#: admin/class-hfe-admin.php:320
|
178 |
msgid ""
|
179 |
"Copy this shortcode and paste it into your post, page, or text widget "
|
180 |
"content."
|
181 |
msgstr ""
|
182 |
|
183 |
+
#: admin/class-hfe-admin.php:332
|
184 |
msgid "Enable Layout for Elementor Canvas Template?"
|
185 |
msgstr ""
|
186 |
|
187 |
+
#: admin/class-hfe-admin.php:334
|
188 |
msgid ""
|
189 |
"Enabling this option will display this layout on pages using Elementor "
|
190 |
"Canvas Template."
|
191 |
msgstr ""
|
192 |
|
193 |
+
#: admin/class-hfe-admin.php:360
|
194 |
msgid "Display On"
|
195 |
msgstr ""
|
196 |
|
197 |
+
#: admin/class-hfe-admin.php:362
|
198 |
msgid "Add locations for where this template should appear."
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: admin/class-hfe-admin.php:373
|
202 |
msgid "Add Display Rule"
|
203 |
msgstr ""
|
204 |
|
205 |
+
#: admin/class-hfe-admin.php:382
|
206 |
msgid "Do Not Display On"
|
207 |
msgstr ""
|
208 |
|
209 |
+
#: admin/class-hfe-admin.php:384
|
210 |
msgid "Add locations for where this template should not appear."
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: admin/class-hfe-admin.php:391
|
214 |
msgid "Exclude On"
|
215 |
msgstr ""
|
216 |
|
217 |
+
#: admin/class-hfe-admin.php:394
|
218 |
#: inc/lib/target-rule/class-astra-target-rules-fields.php:846
|
219 |
msgid "Add Exclusion Rule"
|
220 |
msgstr ""
|
221 |
|
222 |
+
#: admin/class-hfe-admin.php:404
|
223 |
msgid "User Roles"
|
224 |
msgstr ""
|
225 |
|
226 |
+
#: admin/class-hfe-admin.php:405
|
227 |
msgid "Display custom template based on user role."
|
228 |
msgstr ""
|
229 |
|
230 |
+
#: admin/class-hfe-admin.php:412
|
231 |
msgid "Users"
|
232 |
msgstr ""
|
233 |
|
234 |
+
#: admin/class-hfe-admin.php:415
|
235 |
msgid "Add User Rule"
|
236 |
msgstr ""
|
237 |
|
238 |
+
#: admin/class-hfe-admin.php:495
|
239 |
#. Translators: Post title, Template Location
|
240 |
msgid "Template %1$s is already assigned to the location %2$s"
|
241 |
msgstr ""
|
242 |
|
243 |
+
#: inc/class-header-footer-elementor.php:177
|
244 |
msgid ""
|
245 |
+
"Hello! Seems like you have used Elementor Header & Footer Builder to build "
|
246 |
+
"this website — Thanks a ton!"
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: inc/class-header-footer-elementor.php:178
|
250 |
msgid ""
|
251 |
"Could you please do us a BIG favor and give it a 5-star rating on "
|
252 |
"WordPress? This would boost our motivation and help other users make a "
|
253 |
+
"comfortable decision while choosing the Elementor Header & Footer Builder."
|
254 |
msgstr ""
|
255 |
|
256 |
+
#: inc/class-header-footer-elementor.php:180
|
257 |
msgid "Ok, you deserve it"
|
258 |
msgstr ""
|
259 |
|
260 |
+
#: inc/class-header-footer-elementor.php:182
|
261 |
msgid "Nope, maybe later"
|
262 |
msgstr ""
|
263 |
|
264 |
+
#: inc/class-header-footer-elementor.php:183
|
265 |
msgid "I already did"
|
266 |
msgstr ""
|
267 |
|
268 |
+
#: inc/class-header-footer-elementor.php:246
|
269 |
#. translators: %s: html tags
|
270 |
msgid ""
|
271 |
+
"The %1$sElementor Header & Footer Builder%2$s plugin requires "
|
272 |
"%1$sElementor%2$s plugin installed & activated."
|
273 |
msgstr ""
|
274 |
|
275 |
+
#: inc/class-header-footer-elementor.php:253
|
276 |
msgid "Activate Elementor"
|
277 |
msgstr ""
|
278 |
|
279 |
+
#: inc/class-header-footer-elementor.php:258
|
280 |
+
#: inc/class-header-footer-elementor.php:292
|
281 |
msgid "Install Elementor"
|
282 |
msgstr ""
|
283 |
|
284 |
+
#: inc/class-header-footer-elementor.php:280
|
285 |
+
#. translators: %s: html tags
|
286 |
+
msgid ""
|
287 |
+
"The %1$sElementor Header & Footer Builder%2$s plugin has stopped working "
|
288 |
+
"because you are using an older version of %1$sElementor%2$s plugin."
|
289 |
+
msgstr ""
|
290 |
+
|
291 |
+
#: inc/class-header-footer-elementor.php:287
|
292 |
+
msgid "Update Elementor"
|
293 |
+
msgstr ""
|
294 |
+
|
295 |
+
#: inc/class-header-footer-elementor.php:318
|
296 |
+
#. translators: %s: html tags
|
297 |
+
msgid ""
|
298 |
+
"Thank you for installing %1$s Elementor Header & Footer Builder %2$s "
|
299 |
+
"Plugin! Click here to %3$sget started. %4$s"
|
300 |
+
msgstr ""
|
301 |
+
|
302 |
+
#: inc/class-header-footer-elementor.php:477
|
303 |
+
#. translators: %s: html tags
|
304 |
+
msgid "Theme Support"
|
305 |
+
msgstr ""
|
306 |
+
|
307 |
+
#: inc/class-hfe-settings-page.php:62 inc/class-hfe-settings-page.php:672
|
308 |
+
msgid "Activate"
|
309 |
+
msgstr ""
|
310 |
+
|
311 |
+
#: inc/class-hfe-settings-page.php:63 inc/class-hfe-settings-page.php:664
|
312 |
+
msgid "Activated"
|
313 |
+
msgstr ""
|
314 |
+
|
315 |
+
#: inc/class-hfe-settings-page.php:64 inc/class-hfe-settings-page.php:661
|
316 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1046
|
317 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1228
|
318 |
+
msgid "Active"
|
319 |
+
msgstr ""
|
320 |
+
|
321 |
+
#: inc/class-hfe-settings-page.php:65
|
322 |
+
msgid "Deactivate"
|
323 |
+
msgstr ""
|
324 |
+
|
325 |
+
#: inc/class-hfe-settings-page.php:66 inc/class-hfe-settings-page.php:669
|
326 |
+
msgid "Inactive"
|
327 |
+
msgstr ""
|
328 |
+
|
329 |
+
#: inc/class-hfe-settings-page.php:67 inc/class-hfe-settings-page.php:685
|
330 |
+
msgid "Install"
|
331 |
+
msgstr ""
|
332 |
+
|
333 |
+
#: inc/class-hfe-settings-page.php:68
|
334 |
+
msgid "Theme Installed"
|
335 |
+
msgstr ""
|
336 |
+
|
337 |
+
#: inc/class-hfe-settings-page.php:69
|
338 |
+
msgid "Plugin Installed"
|
339 |
+
msgstr ""
|
340 |
+
|
341 |
+
#: inc/class-hfe-settings-page.php:70
|
342 |
+
msgid "Download"
|
343 |
+
msgstr ""
|
344 |
+
|
345 |
+
#: inc/class-hfe-settings-page.php:71
|
346 |
+
msgid "Already Exists."
|
347 |
+
msgstr ""
|
348 |
+
|
349 |
+
#: inc/class-hfe-settings-page.php:72 inc/class-hfe-settings-page.php:690
|
350 |
+
msgid "Visit Website"
|
351 |
+
msgstr ""
|
352 |
+
|
353 |
+
#: inc/class-hfe-settings-page.php:73
|
354 |
+
msgid "Could not install. Please download from WordPress.org and install manually."
|
355 |
+
msgstr ""
|
356 |
+
|
357 |
+
#: inc/class-hfe-settings-page.php:74
|
358 |
+
msgid "Your details are submitted successfully."
|
359 |
+
msgstr ""
|
360 |
+
|
361 |
+
#: inc/class-hfe-settings-page.php:75
|
362 |
+
msgid "Encountered an error while performing your request."
|
363 |
+
msgstr ""
|
364 |
+
|
365 |
+
#: inc/class-hfe-settings-page.php:125
|
366 |
+
msgid "Add Theme Support"
|
367 |
+
msgstr ""
|
368 |
+
|
369 |
+
#: inc/class-hfe-settings-page.php:142
|
370 |
+
msgid ""
|
371 |
+
"The Elementor Header & Footer Builder plugin need compatibility with your "
|
372 |
+
"current theme to work smoothly.</br></br>Following are two methods that "
|
373 |
+
"enable theme support for the plugin.</br></br>Method 1 is selected by "
|
374 |
+
"default and that works fine almost will all themes. In case, you face any "
|
375 |
+
"issue with the header or footer template, try choosing Method 2."
|
376 |
+
msgstr ""
|
377 |
+
|
378 |
+
#: inc/class-hfe-settings-page.php:159
|
379 |
+
msgid " Method 1 (Recommended)"
|
380 |
+
msgstr ""
|
381 |
+
|
382 |
+
#: inc/class-hfe-settings-page.php:160
|
383 |
+
msgid ""
|
384 |
+
"This method replaces your theme's header (header.php) & footer (footer.php) "
|
385 |
+
"template with plugin's custom templates."
|
386 |
+
msgstr ""
|
387 |
+
|
388 |
+
#: inc/class-hfe-settings-page.php:163
|
389 |
+
msgid "Method 2"
|
390 |
+
msgstr ""
|
391 |
+
|
392 |
+
#: inc/class-hfe-settings-page.php:176
|
393 |
+
msgid ""
|
394 |
+
"Sometimes above methods might not work well with your theme, in this case, "
|
395 |
+
"contact your theme author and request them to add support for the <a "
|
396 |
+
"href=\"https://github.com/Nikschavan/header-footer-elementor/wiki/Adding-"
|
397 |
+
"Header-Footer-Elementor-support-for-your-theme\">plugin.</>"
|
398 |
+
msgstr ""
|
399 |
+
|
400 |
+
#: inc/class-hfe-settings-page.php:195 inc/class-hfe-settings-page.php:196
|
401 |
+
#: inc/class-hfe-settings-page.php:808
|
402 |
+
msgid "Settings"
|
403 |
+
msgstr ""
|
404 |
+
|
405 |
+
#: inc/class-hfe-settings-page.php:204 inc/class-hfe-settings-page.php:205
|
406 |
+
#: inc/class-hfe-settings-page.php:279
|
407 |
+
msgid "About Us"
|
408 |
+
msgstr ""
|
409 |
+
|
410 |
+
#: inc/class-hfe-settings-page.php:239
|
411 |
+
msgid "Elementor Header & Footer Builder "
|
412 |
+
msgstr ""
|
413 |
+
|
414 |
+
#: inc/class-hfe-settings-page.php:325
|
415 |
+
#. translators: 1: Elementor, 2: Link to plugin review
|
416 |
+
msgid ""
|
417 |
+
"Help us spread the word about the plugin by leaving %2$s %1$s %3$s ratings "
|
418 |
+
"on %2$s WordPress.org %3$s. Thank you from the Brainstorm Force team!"
|
419 |
+
msgstr ""
|
420 |
+
|
421 |
+
#: inc/class-hfe-settings-page.php:368
|
422 |
+
msgid "Create Impressive Header and Footer Designs"
|
423 |
+
msgstr ""
|
424 |
+
|
425 |
+
#: inc/class-hfe-settings-page.php:369
|
426 |
+
msgid ""
|
427 |
+
"Elementor Header & Footer Builder plugin lets you build impactful "
|
428 |
+
"navigation for your website very easily. Before we begin, we would like to "
|
429 |
+
"know more about you. This will help us to serve you better."
|
430 |
+
msgstr ""
|
431 |
+
|
432 |
+
#: inc/class-hfe-settings-page.php:383
|
433 |
+
#. translators: %1$s and %3$s are opening anchor tags, and %2$s and %4$s is
|
434 |
+
#. closing anchor tags.
|
435 |
+
msgid "By submitting, you agree to our %1$sTerms%2$s and %3$sPrivacy Policy%4$s."
|
436 |
+
msgstr ""
|
437 |
+
|
438 |
+
#: inc/class-hfe-settings-page.php:401
|
439 |
+
msgid "Skip"
|
440 |
+
msgstr ""
|
441 |
+
|
442 |
+
#: inc/class-hfe-settings-page.php:419
|
443 |
+
msgid "Beginner"
|
444 |
+
msgstr ""
|
445 |
+
|
446 |
+
#: inc/class-hfe-settings-page.php:420
|
447 |
+
msgid "Intermediate"
|
448 |
+
msgstr ""
|
449 |
+
|
450 |
+
#: inc/class-hfe-settings-page.php:421
|
451 |
+
msgid "Expert"
|
452 |
+
msgstr ""
|
453 |
+
|
454 |
+
#: inc/class-hfe-settings-page.php:423 inc/class-hfe-settings-page.php:432
|
455 |
+
msgid "Field is required"
|
456 |
+
msgstr ""
|
457 |
+
|
458 |
+
#: inc/class-hfe-settings-page.php:424
|
459 |
+
msgid "I'm a WordPress:"
|
460 |
+
msgstr ""
|
461 |
+
|
462 |
+
#: inc/class-hfe-settings-page.php:429
|
463 |
+
msgid "Myself/My company"
|
464 |
+
msgstr ""
|
465 |
+
|
466 |
+
#: inc/class-hfe-settings-page.php:430
|
467 |
+
msgid "My client"
|
468 |
+
msgstr ""
|
469 |
+
|
470 |
+
#: inc/class-hfe-settings-page.php:433
|
471 |
+
msgid "I'm building website for:"
|
472 |
+
msgstr ""
|
473 |
+
|
474 |
+
#: inc/class-hfe-settings-page.php:456
|
475 |
+
msgid "First name is required"
|
476 |
+
msgstr ""
|
477 |
+
|
478 |
+
#: inc/class-hfe-settings-page.php:457
|
479 |
+
msgid "Your First Name"
|
480 |
+
msgstr ""
|
481 |
+
|
482 |
+
#: inc/class-hfe-settings-page.php:461
|
483 |
+
msgid "Email address is required"
|
484 |
+
msgstr ""
|
485 |
+
|
486 |
+
#: inc/class-hfe-settings-page.php:462
|
487 |
+
msgid "Your Work Email"
|
488 |
+
msgstr ""
|
489 |
+
|
490 |
+
#: inc/class-hfe-settings-page.php:467
|
491 |
+
msgid "Submit"
|
492 |
+
msgstr ""
|
493 |
+
|
494 |
+
#: inc/class-hfe-settings-page.php:521
|
495 |
+
msgid "Welcome to Elementor Header & Footer Builder!"
|
496 |
+
msgstr ""
|
497 |
+
|
498 |
+
#: inc/class-hfe-settings-page.php:523
|
499 |
+
msgid ""
|
500 |
+
"With this awesome plugin, experience the easiest way to create a customized "
|
501 |
+
"header and footer for your website with Elementor. That too 100% FREE!"
|
502 |
+
msgstr ""
|
503 |
+
|
504 |
+
#: inc/class-hfe-settings-page.php:525
|
505 |
+
msgid ""
|
506 |
+
"Design beautiful layouts with simple drag & drop and display them at "
|
507 |
+
"desired location with powerful target controls. The plugin comes with "
|
508 |
+
"inbuilt Elementor widgets that offer essential features to build header and "
|
509 |
+
"footer. It's a lightweight plugin that works seamlessly with all themes and "
|
510 |
+
"backed up by 24/7 support."
|
511 |
+
msgstr ""
|
512 |
+
|
513 |
+
#: inc/class-hfe-settings-page.php:527
|
514 |
+
msgid ""
|
515 |
+
"Trusted by more than 1+ Million users, Elementor Header & Footer Builder is "
|
516 |
+
"a modern way to build advanced navigation for your website."
|
517 |
+
msgstr ""
|
518 |
+
|
519 |
+
#: inc/class-hfe-settings-page.php:529
|
520 |
+
msgid ""
|
521 |
+
"This plugin is brought to you by the same team behind the popular WordPress "
|
522 |
+
"theme Astra and a series of Ultimate Addons plugins."
|
523 |
+
msgstr ""
|
524 |
+
|
525 |
+
#: inc/class-hfe-settings-page.php:535
|
526 |
+
msgid "Team photo"
|
527 |
+
msgstr ""
|
528 |
+
|
529 |
+
#: inc/class-hfe-settings-page.php:537
|
530 |
+
msgid "Brainstorm Force Team"
|
531 |
+
msgstr ""
|
532 |
+
|
533 |
+
#: inc/class-hfe-settings-page.php:581
|
534 |
+
#. translators: %s - addon status label.
|
535 |
+
msgid "%1$s %3$s %2$s"
|
536 |
+
msgstr ""
|
537 |
+
|
538 |
+
#: inc/class-hfe-settings-page.php:598
|
539 |
+
#. translators: %s - addon status label.
|
540 |
+
msgid "Status: %s"
|
541 |
+
msgstr ""
|
542 |
+
|
543 |
+
#: inc/class-hfe-settings-page.php:617
|
544 |
+
msgid "WordPress.org"
|
545 |
+
msgstr ""
|
546 |
+
|
547 |
+
#: inc/class-hfe-settings-page.php:682
|
548 |
+
msgid "Not Installed"
|
549 |
+
msgstr ""
|
550 |
+
|
551 |
+
#: inc/class-hfe-settings-page.php:715
|
552 |
+
msgid "Astra Theme"
|
553 |
+
msgstr ""
|
554 |
+
|
555 |
+
#: inc/class-hfe-settings-page.php:716
|
556 |
+
msgid ""
|
557 |
+
"Powering over 1+ Million websites, Astra is loved for the fast performance "
|
558 |
+
"and ease of use it offers. It is suitable for all kinds of websites like "
|
559 |
+
"blogs, portfolios, business, and WooCommerce stores."
|
560 |
+
msgstr ""
|
561 |
+
|
562 |
+
#: inc/class-hfe-settings-page.php:727
|
563 |
+
msgid "Starter Templates"
|
564 |
+
msgstr ""
|
565 |
+
|
566 |
+
#: inc/class-hfe-settings-page.php:728
|
567 |
+
msgid ""
|
568 |
+
"A popular templates plugin that provides an extensive library of "
|
569 |
+
"professional and fully customizable 600+ ready website and templates. More "
|
570 |
+
"than 1+ Million websites have built with this plugin."
|
571 |
+
msgstr ""
|
572 |
+
|
573 |
+
#: inc/class-hfe-settings-page.php:739
|
574 |
+
msgid "Ultimate Addons for Elementor"
|
575 |
+
msgstr ""
|
576 |
+
|
577 |
+
#: inc/class-hfe-settings-page.php:740
|
578 |
+
msgid ""
|
579 |
+
"It’s a collection of 40+ unique, creative, and optimized Elementor widgets "
|
580 |
+
"with 100+ readymade templates. Trusted by more than 600+ K web "
|
581 |
+
"professionals. It’s a #1 toolkit for Elementor Page Builder."
|
582 |
+
msgstr ""
|
583 |
+
|
584 |
+
#: inc/class-hfe-settings-page.php:807
|
585 |
+
msgid "Go to HFE Settings page"
|
586 |
+
msgstr ""
|
587 |
+
|
588 |
#: inc/lib/notices/class-astra-notices.php:120
|
589 |
msgid "WordPress Nonce not validated."
|
590 |
msgstr ""
|
740 |
msgid "The same display setting is already exist in %s post/s."
|
741 |
msgstr ""
|
742 |
|
|
|
|
|
|
|
|
|
743 |
#: inc/widgets-manager/class-widgets-loader.php:234
|
744 |
#: inc/widgets-manager/widgets/class-cart.php:51
|
745 |
#: inc/widgets-manager/widgets/class-cart.php:661
|
756 |
msgstr ""
|
757 |
|
758 |
#: inc/widgets-manager/widgets/class-cart.php:130
|
759 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:235
|
760 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:460
|
761 |
#: inc/widgets-manager/widgets/class-page-title.php:192
|
762 |
#: inc/widgets-manager/widgets/class-page-title.php:241
|
763 |
#: inc/widgets-manager/widgets/class-site-logo.php:232
|
772 |
msgstr ""
|
773 |
|
774 |
#: inc/widgets-manager/widgets/class-cart.php:139
|
775 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:590
|
776 |
#: inc/widgets-manager/widgets/class-page-title.php:364
|
777 |
#: inc/widgets-manager/widgets/class-search-button.php:145
|
778 |
#: inc/widgets-manager/widgets/class-search-button.php:767
|
800 |
msgstr ""
|
801 |
|
802 |
#: inc/widgets-manager/widgets/class-cart.php:160
|
803 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:506
|
804 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:838
|
805 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1440
|
806 |
#: inc/widgets-manager/widgets/class-page-title.php:193
|
807 |
#: inc/widgets-manager/widgets/class-retina.php:196
|
808 |
#: inc/widgets-manager/widgets/class-retina.php:227
|
824 |
|
825 |
#: inc/widgets-manager/widgets/class-cart.php:176
|
826 |
#: inc/widgets-manager/widgets/class-cart.php:192
|
827 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:250
|
828 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:267
|
829 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:558
|
830 |
#: inc/widgets-manager/widgets/class-site-logo.php:137
|
831 |
#: inc/widgets-manager/widgets/class-site-logo.php:202
|
832 |
#: inc/widgets-manager/widgets/class-site-logo.php:264
|
835 |
|
836 |
#: inc/widgets-manager/widgets/class-cart.php:177
|
837 |
#: inc/widgets-manager/widgets/class-cart.php:193
|
838 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:251
|
839 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:268
|
840 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:559
|
841 |
#: inc/widgets-manager/widgets/class-site-logo.php:138
|
842 |
#: inc/widgets-manager/widgets/class-site-logo.php:201
|
843 |
#: inc/widgets-manager/widgets/class-site-logo.php:265
|
854 |
|
855 |
#: inc/widgets-manager/widgets/class-cart.php:207
|
856 |
#: inc/widgets-manager/widgets/class-copyright.php:142
|
857 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:303
|
858 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:519
|
859 |
#: inc/widgets-manager/widgets/class-page-title.php:254
|
860 |
#: inc/widgets-manager/widgets/class-retina.php:167
|
861 |
#: inc/widgets-manager/widgets/class-site-logo.php:172
|
866 |
|
867 |
#: inc/widgets-manager/widgets/class-cart.php:211
|
868 |
#: inc/widgets-manager/widgets/class-copyright.php:146
|
869 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:307
|
870 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:338
|
871 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:373
|
872 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:409
|
873 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:523
|
874 |
#: inc/widgets-manager/widgets/class-page-title.php:258
|
875 |
#: inc/widgets-manager/widgets/class-retina.php:171
|
876 |
#: inc/widgets-manager/widgets/class-site-logo.php:176
|
881 |
|
882 |
#: inc/widgets-manager/widgets/class-cart.php:215
|
883 |
#: inc/widgets-manager/widgets/class-copyright.php:150
|
884 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:311
|
885 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:377
|
886 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:413
|
887 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:527
|
888 |
#: inc/widgets-manager/widgets/class-page-title.php:262
|
889 |
#: inc/widgets-manager/widgets/class-retina.php:175
|
890 |
#: inc/widgets-manager/widgets/class-site-logo.php:180
|
895 |
|
896 |
#: inc/widgets-manager/widgets/class-cart.php:219
|
897 |
#: inc/widgets-manager/widgets/class-copyright.php:154
|
898 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:315
|
899 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:339
|
900 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:381
|
901 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:417
|
902 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:531
|
903 |
#: inc/widgets-manager/widgets/class-page-title.php:266
|
904 |
#: inc/widgets-manager/widgets/class-retina.php:179
|
905 |
#: inc/widgets-manager/widgets/class-site-logo.php:184
|
917 |
msgstr ""
|
918 |
|
919 |
#: inc/widgets-manager/widgets/class-cart.php:282
|
920 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1473
|
921 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1595
|
922 |
#: inc/widgets-manager/widgets/class-retina.php:359
|
923 |
#: inc/widgets-manager/widgets/class-search-button.php:356
|
924 |
#: inc/widgets-manager/widgets/class-search-button.php:589
|
927 |
msgstr ""
|
928 |
|
929 |
#: inc/widgets-manager/widgets/class-cart.php:301
|
930 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1300
|
931 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1611
|
932 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1743
|
933 |
#: inc/widgets-manager/widgets/class-retina.php:399
|
934 |
#: inc/widgets-manager/widgets/class-search-button.php:381
|
935 |
#: inc/widgets-manager/widgets/class-search-button.php:612
|
938 |
msgstr ""
|
939 |
|
940 |
#: inc/widgets-manager/widgets/class-cart.php:321
|
941 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1684
|
942 |
#: inc/widgets-manager/widgets/class-retina.php:584
|
943 |
#: inc/widgets-manager/widgets/class-site-logo.php:626
|
944 |
msgid "Padding"
|
946 |
|
947 |
#: inc/widgets-manager/widgets/class-cart.php:338
|
948 |
#: inc/widgets-manager/widgets/class-cart.php:536
|
949 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:939
|
950 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1142
|
951 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1510
|
952 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1698
|
953 |
#: inc/widgets-manager/widgets/class-page-title.php:339
|
954 |
#: inc/widgets-manager/widgets/class-retina.php:424
|
955 |
#: inc/widgets-manager/widgets/class-search-button.php:241
|
966 |
#: inc/widgets-manager/widgets/class-cart.php:543
|
967 |
#: inc/widgets-manager/widgets/class-cart.php:580
|
968 |
#: inc/widgets-manager/widgets/class-copyright.php:167
|
969 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:946
|
970 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:985
|
971 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1053
|
972 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1149
|
973 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1192
|
974 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1235
|
975 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1705
|
976 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1772
|
977 |
#: inc/widgets-manager/widgets/class-retina.php:539
|
978 |
#: inc/widgets-manager/widgets/class-search-button.php:251
|
979 |
#: inc/widgets-manager/widgets/class-search-button.php:418
|
996 |
#: inc/widgets-manager/widgets/class-cart.php:426
|
997 |
#: inc/widgets-manager/widgets/class-cart.php:557
|
998 |
#: inc/widgets-manager/widgets/class-cart.php:594
|
999 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:819
|
1000 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:961
|
1001 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1003
|
1002 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1066
|
1003 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1166
|
1004 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1209
|
1005 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1252
|
1006 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1529
|
1007 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1562
|
1008 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1718
|
1009 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1784
|
1010 |
#: inc/widgets-manager/widgets/class-retina.php:554
|
1011 |
#: inc/widgets-manager/widgets/class-search-button.php:286
|
1012 |
#: inc/widgets-manager/widgets/class-search-button.php:450
|
1020 |
|
1021 |
#: inc/widgets-manager/widgets/class-cart.php:381
|
1022 |
#: inc/widgets-manager/widgets/class-cart.php:437
|
1023 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1456
|
1024 |
#: inc/widgets-manager/widgets/class-retina.php:381
|
1025 |
#: inc/widgets-manager/widgets/class-search-button.php:335
|
1026 |
#: inc/widgets-manager/widgets/class-search-button.php:483
|
1031 |
|
1032 |
#: inc/widgets-manager/widgets/class-cart.php:394
|
1033 |
#: inc/widgets-manager/widgets/class-cart.php:573
|
1034 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:978
|
1035 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1185
|
1036 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1542
|
1037 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1765
|
1038 |
#: inc/widgets-manager/widgets/class-retina.php:459
|
1039 |
#: inc/widgets-manager/widgets/class-search-button.php:684
|
1040 |
#: inc/widgets-manager/widgets/class-search-button.php:800
|
1044 |
msgstr ""
|
1045 |
|
1046 |
#: inc/widgets-manager/widgets/class-cart.php:451
|
1047 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1577
|
1048 |
#: inc/widgets-manager/widgets/class-search-button.php:717
|
1049 |
#: inc/widgets-manager/widgets/class-search-button.php:822
|
1050 |
msgid "Icon Size"
|
1105 |
msgid "Menu"
|
1106 |
msgstr ""
|
1107 |
|
1108 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:214
|
1109 |
#. translators: %s Nav menu URL
|
1110 |
msgid ""
|
1111 |
"Go to the <a href=\"%s\" target=\"_blank\">Menus screen</a> to manage your "
|
1112 |
"menus."
|
1113 |
msgstr ""
|
1114 |
|
1115 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:223
|
1116 |
#. translators: %s Nav menu URL
|
1117 |
msgid ""
|
1118 |
"<strong>There are no menus in your site.</strong><br>Go to the <a "
|
1119 |
"href=\"%s\" target=\"_blank\">Menus screen</a> to create one."
|
1120 |
msgstr ""
|
1121 |
|
1122 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:232
|
1123 |
msgid "Last Menu Item"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:236
|
1127 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1662
|
1128 |
#: inc/widgets-manager/widgets/class-search-button.php:638
|
1129 |
msgid "Button"
|
1130 |
msgstr ""
|
1131 |
|
1132 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:248
|
1133 |
msgid "Enable Schema Support"
|
1134 |
msgstr ""
|
1135 |
|
1136 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:265
|
1137 |
+
msgid "Hide + & - Sign"
|
1138 |
+
msgstr ""
|
1139 |
+
|
1140 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:281
|
1141 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:288
|
1142 |
#: inc/widgets-manager/widgets/class-search-button.php:140
|
1143 |
msgid "Layout"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:292
|
1147 |
msgid "Horizontal"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:293
|
1151 |
msgid "Vertical"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:294
|
1155 |
msgid "Expanded"
|
1156 |
msgstr ""
|
1157 |
|
1158 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:295
|
1159 |
msgid "Flyout"
|
1160 |
msgstr ""
|
1161 |
|
1162 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:319
|
1163 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:421
|
1164 |
#: inc/widgets-manager/widgets/class-site-tagline.php:194
|
1165 |
#: inc/widgets-manager/widgets/class-site-title.php:261
|
1166 |
msgid "Justify"
|
1167 |
msgstr ""
|
1168 |
|
1169 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:334
|
1170 |
msgid "Flyout Orientation"
|
1171 |
msgstr ""
|
1172 |
|
1173 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:350
|
1174 |
msgid "Appear Effect"
|
1175 |
msgstr ""
|
1176 |
|
1177 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:355
|
1178 |
msgid "Slide"
|
1179 |
msgstr ""
|
1180 |
|
1181 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:356
|
1182 |
msgid "Push"
|
1183 |
msgstr ""
|
1184 |
|
1185 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:368
|
1186 |
msgid "Hamburger Align"
|
1187 |
msgstr ""
|
1188 |
|
1189 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:405
|
1190 |
msgid "Menu Items Align"
|
1191 |
msgstr ""
|
1192 |
|
1193 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:441
|
1194 |
msgid "Submenu Icon"
|
1195 |
msgstr ""
|
1196 |
|
1197 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:445
|
1198 |
msgid "Arrows"
|
1199 |
msgstr ""
|
1200 |
|
1201 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:446
|
1202 |
msgid "Plus Sign"
|
1203 |
msgstr ""
|
1204 |
|
1205 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:447
|
1206 |
msgid "Classic"
|
1207 |
msgstr ""
|
1208 |
|
1209 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:456
|
1210 |
msgid "Submenu Animation"
|
1211 |
msgstr ""
|
1212 |
|
1213 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:461
|
1214 |
msgid "Slide Up"
|
1215 |
msgstr ""
|
1216 |
|
1217 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:473
|
1218 |
msgid "Action On Menu Click"
|
1219 |
msgstr ""
|
1220 |
|
1221 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:476
|
1222 |
msgid "For Horizontal layout, this will affect on the selected breakpoint"
|
1223 |
msgstr ""
|
1224 |
|
1225 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:478
|
1226 |
msgid "Open Submenu"
|
1227 |
msgstr ""
|
1228 |
|
1229 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:479
|
1230 |
msgid "Redirect To Self Link"
|
1231 |
msgstr ""
|
1232 |
|
1233 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:489
|
1234 |
msgid "Responsive"
|
1235 |
msgstr ""
|
1236 |
|
1237 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:500
|
1238 |
msgid "Breakpoint"
|
1239 |
msgstr ""
|
1240 |
|
1241 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:504
|
1242 |
msgid "Mobile (768px >)"
|
1243 |
msgstr ""
|
1244 |
|
1245 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:505
|
1246 |
msgid "Tablet (1025px >)"
|
1247 |
msgstr ""
|
1248 |
|
1249 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:536
|
1250 |
msgid "This is the alignement of menu icon on selected responsive breakpoints."
|
1251 |
msgstr ""
|
1252 |
|
1253 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:555
|
1254 |
msgid "Full Width"
|
1255 |
msgstr ""
|
1256 |
|
1257 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:556
|
1258 |
msgid "Enable this option to stretch the Sub Menu to Full Width."
|
1259 |
msgstr ""
|
1260 |
|
1261 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:574
|
1262 |
msgid "Menu Icon"
|
1263 |
msgstr ""
|
1264 |
|
1265 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:605
|
1266 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:621
|
1267 |
#: inc/widgets-manager/widgets/class-search-button.php:846
|
1268 |
msgid "Close Icon"
|
1269 |
msgstr ""
|
1270 |
|
1271 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:646
|
1272 |
msgid "Main Menu"
|
1273 |
msgstr ""
|
1274 |
|
1275 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:657
|
1276 |
msgid "Flyout Box Width"
|
1277 |
msgstr ""
|
1278 |
|
1279 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:684
|
1280 |
msgid "Flyout Box Padding"
|
1281 |
msgstr ""
|
1282 |
|
1283 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:707
|
1284 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1358
|
1285 |
msgid "Horizontal Padding"
|
1286 |
msgstr ""
|
1287 |
|
1288 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:732
|
1289 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1380
|
1290 |
msgid "Vertical Padding"
|
1291 |
msgstr ""
|
1292 |
|
1293 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:753
|
1294 |
msgid "Space Between"
|
1295 |
msgstr ""
|
1296 |
|
1297 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:779
|
1298 |
msgid "Row Spacing"
|
1299 |
msgstr ""
|
1300 |
|
1301 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:799
|
1302 |
msgid "Menu Item Top Spacing"
|
1303 |
msgstr ""
|
1304 |
|
1305 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:834
|
1306 |
msgid "Link Hover Effect"
|
1307 |
msgstr ""
|
1308 |
|
1309 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:839
|
1310 |
msgid "Underline"
|
1311 |
msgstr ""
|
1312 |
|
1313 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:840
|
1314 |
msgid "Overline"
|
1315 |
msgstr ""
|
1316 |
|
1317 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:841
|
1318 |
msgid "Double Line"
|
1319 |
msgstr ""
|
1320 |
|
1321 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:842
|
1322 |
msgid "Framed"
|
1323 |
msgstr ""
|
1324 |
|
1325 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:843
|
1326 |
msgid "Text"
|
1327 |
msgstr ""
|
1328 |
|
1329 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:854
|
1330 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:896
|
1331 |
msgid "Animation"
|
1332 |
msgstr ""
|
1333 |
|
1334 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:875
|
1335 |
msgid "Frame Animation"
|
1336 |
msgstr ""
|
1337 |
|
1338 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1021
|
1339 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1082
|
1340 |
msgid "Link Hover Effect Color"
|
1341 |
msgstr ""
|
1342 |
|
1343 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1117
|
|
|
|
|
|
|
|
|
|
|
1344 |
msgid "Dropdown"
|
1345 |
msgstr ""
|
1346 |
|
1347 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1125
|
1348 |
msgid ""
|
1349 |
"<b>Note:</b> On desktop, below style options will apply to the submenu. On "
|
1350 |
"mobile, this will apply to the entire menu."
|
1351 |
msgstr ""
|
1352 |
|
1353 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1334
|
1354 |
msgid "Dropdown Width (px)"
|
1355 |
msgstr ""
|
1356 |
|
1357 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1405
|
1358 |
msgid "Top Distance"
|
1359 |
msgstr ""
|
1360 |
|
1361 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1426
|
1362 |
msgid "Divider"
|
1363 |
msgstr ""
|
1364 |
|
1365 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1435
|
1366 |
#: inc/widgets-manager/widgets/class-retina.php:340
|
1367 |
#: inc/widgets-manager/widgets/class-search-button.php:312
|
1368 |
#: inc/widgets-manager/widgets/class-search-button.php:550
|
1370 |
msgid "Border Style"
|
1371 |
msgstr ""
|
1372 |
|
1373 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1441
|
1374 |
#: inc/widgets-manager/widgets/class-retina.php:346
|
1375 |
#: inc/widgets-manager/widgets/class-search-button.php:318
|
1376 |
#: inc/widgets-manager/widgets/class-search-button.php:556
|
1378 |
msgid "Solid"
|
1379 |
msgstr ""
|
1380 |
|
1381 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1442
|
1382 |
#: inc/widgets-manager/widgets/class-retina.php:347
|
1383 |
#: inc/widgets-manager/widgets/class-search-button.php:319
|
1384 |
#: inc/widgets-manager/widgets/class-search-button.php:557
|
1386 |
msgid "Double"
|
1387 |
msgstr ""
|
1388 |
|
1389 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1443
|
1390 |
#: inc/widgets-manager/widgets/class-retina.php:348
|
1391 |
#: inc/widgets-manager/widgets/class-search-button.php:320
|
1392 |
#: inc/widgets-manager/widgets/class-search-button.php:558
|
1394 |
msgid "Dotted"
|
1395 |
msgstr ""
|
1396 |
|
1397 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1444
|
1398 |
#: inc/widgets-manager/widgets/class-retina.php:349
|
1399 |
#: inc/widgets-manager/widgets/class-search-button.php:321
|
1400 |
#: inc/widgets-manager/widgets/class-search-button.php:559
|
1402 |
msgid "Dashed"
|
1403 |
msgstr ""
|
1404 |
|
1405 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1500
|
1406 |
msgid "Menu Trigger & Close Icon"
|
1407 |
msgstr ""
|
1408 |
|
1409 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1517
|
1410 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1549
|
1411 |
#: inc/widgets-manager/widgets/class-page-title.php:312
|
1412 |
#: inc/widgets-manager/widgets/class-search-button.php:787
|
1413 |
#: inc/widgets-manager/widgets/class-search-button.php:807
|
1418 |
msgid "Color"
|
1419 |
msgstr ""
|
1420 |
|
1421 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1623
|
1422 |
msgid "Close Icon Color"
|
1423 |
msgstr ""
|
1424 |
|
1425 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1641
|
1426 |
msgid "Close Icon Size"
|
1427 |
msgstr ""
|
1428 |
|
1429 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1674
|
1430 |
msgid "Typography"
|
1431 |
msgstr ""
|
1432 |
|
1433 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1735
|
1434 |
msgid "Border"
|
1435 |
msgstr ""
|
1436 |
|
1437 |
+
#: inc/widgets-manager/widgets/class-navigation-menu.php:1800
|
1438 |
msgid "Border Hover Color"
|
1439 |
msgstr ""
|
1440 |
|
1720 |
msgid "General"
|
1721 |
msgstr ""
|
1722 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1723 |
#. Plugin URI of the plugin/theme
|
1724 |
msgid "https://github.com/Nikschavan/header-footer-elementor"
|
1725 |
msgstr ""
|
readme.txt
CHANGED
@@ -1,11 +1,11 @@
|
|
1 |
-
=== Elementor
|
2 |
Contributors: brainstormforce, Nikschavan
|
3 |
Tags: elementor, header footer builder, header template, footer template, elementor widget, WordPress header, WordPress footer, elementor menu, website header design, footer design, blocks
|
4 |
Donate link: https://www.paypal.me/BrainstormForce
|
5 |
Requires at least: 4.4
|
6 |
Requires PHP: 5.4
|
7 |
Tested up to: 5.7
|
8 |
-
Stable tag: 1.
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
@@ -15,7 +15,7 @@ Create Header, Footer and Blocks for your WordPress website using Elementor Page
|
|
15 |
|
16 |
Have you ever imagined you could create your website header and footer with <a href="https://elementor.com/">Elementor</a> for FREE?
|
17 |
|
18 |
-
Elementor
|
19 |
- Header
|
20 |
- Footer
|
21 |
- Block (anywhere on the website)
|
@@ -58,13 +58,13 @@ The plugin offers inbuilt widgets that help to create header/footer layouts. The
|
|
58 |
|
59 |
= WORKS WITH ALL THEMES =
|
60 |
|
61 |
-
Elementor
|
62 |
|
63 |
-
In case you face any difficulty displaying header/footer, manually choose the theme support method. Visit Appearance > Header Footer
|
64 |
|
65 |
= STEPS TO USE THE PLUGIN =
|
66 |
|
67 |
-
Step 1 - Visit Appearance > Header Footer
|
68 |
|
69 |
Step 2 - Select ‘Type of Template’ (header/footer/block). Set its display location and user roles.
|
70 |
|
@@ -82,7 +82,7 @@ Check [Ultimate Addons for Elementor](https://ultimateelementor.com/?utm_source=
|
|
82 |
|
83 |
= HAVE YOU TRIED ASTRA WITH ELEMENTOR? =
|
84 |
|
85 |
-
Powering over
|
86 |
|
87 |
People love Astra for -
|
88 |
|
@@ -95,53 +95,62 @@ People love Astra for -
|
|
95 |
= SUPPORTED & ACTIVELY DEVELOPED =
|
96 |
Need help with something? Have an issue to report? Visit [Plugin’s Forum](https://wordpress.org/plugins/header-footer-elementor/ "Plugin’s Forum").
|
97 |
|
98 |
-
[Get in touch](https://github.com/Nikschavan/header-footer-elementor "Elementor
|
99 |
|
100 |
Made with love at [Brainstorm Force](https://www.brainstormforce.com/?utm_source=wp-repo&utm_campaign=header-footer-elementor&utm_medium=description "Brainstorm Force")!
|
101 |
|
102 |
== Installation ==
|
103 |
|
104 |
-
1. Go to `Plugins -> Add New` and search for Elementor
|
105 |
2. Activate the plugin through the 'Plugins' screen in WordPress.
|
106 |
-
3. Go to `Appearance -> Header Footer
|
107 |
4. After the layout is ready assign it as header or footer using the option `Select the type of template this is` (<a href="https://cloudup.com/clK2sPg9nXK+">screenshot</a>)
|
108 |
|
109 |
== Frequently Asked Questions ==
|
110 |
|
111 |
= How Does This Plugin Work? =
|
112 |
|
113 |
-
1. Go to Appearance -> Header Footer
|
114 |
2. Click on “Add New” and design a template with Elementor.
|
115 |
3. Once the template is ready, set is as a header/footer/block using options “Type of Template” (<a href="https://share.getcloudapp.com/geurz2JR">screenshot</a>).
|
116 |
4.
|
117 |
-
|
118 |
a) For Header/Footer - Select the target location with the option “Display On”. With this Header/Footer will be visible only on selected locations for selected “User Roles”.
|
119 |
-
|
120 |
-
b) For Custom Block - Just copy the shortcode and add it anywhere on the website. Your designed template will display automatically. Display conditions or user roles will not be effective with shortcodes.
|
121 |
|
122 |
= Can You Create a Mobile Responsive Header/Footer Using This Plugin? =
|
123 |
|
124 |
-
Yes, You can create the mobile responsive layout of your header using the plugin.
|
125 |
|
126 |
-
The Elementor
|
127 |
|
128 |
Here is a documentation by Elementor Page builder which explains how you can create mobile responsive layouts using Elementor - [https://elementor.com/introducing-mobile-editing/](https://elementor.com/introducing-mobile-editing/)
|
129 |
This same applies when you are creating your Header/Footer using this plugin.
|
130 |
|
131 |
== Screenshots ==
|
132 |
|
133 |
-
1. Go to Appearance -> Header Footer
|
134 |
2. Assign template to be a header/footer and select display rules.
|
135 |
-
3. 3. For blocks, select the type of template as Custom Blocks. You can copy the shortcode and use it anywhere.
|
136 |
4. Methods to add Theme Support.
|
137 |
-
5. Default widgets available with Elementor
|
138 |
|
139 |
== Changelog ==
|
140 |
-
= 1.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
141 |
- Improvement: Added notice to update Elementor to v3.0.0 or higher
|
142 |
-
Elementor has deprecated few functions and namespaces with its v3.0.0. Following Elementor, our plugin too deprecates similar functions and namespaces. You will now require the Elementor v3.0.0 or higher.
|
143 |
- Improvement: Elementor 3.2 Compatibility - Added Elementor Global Color and Typography scheme support.
|
144 |
-
- Fix: Navigation Menu - Last menu item button disappearing while switching from mobile to desktop.
|
145 |
- Fix: Navigation Menu - Last menu item button alignment not working in RTL view.
|
146 |
|
147 |
= 1.5.8 =
|
@@ -243,7 +252,7 @@ Elementor has deprecated few functions and namespaces with its v3.0.0. Following
|
|
243 |
- Fix: Flush permalinks on plugin update to Elementor error when trying to edit the Header/Footer.
|
244 |
|
245 |
= 1.1.3 =
|
246 |
-
- Improvement: Allow changing the permalinks for the hfe templates (<a href="https://github.com/Nikschavan/header-footer-elementor/pull/162/">#162</a>)
|
247 |
- Fix: WPML Translations do not work when using the Elementor Template as a shortcode. (<a href="https://github.com/Nikschavan/header-footer-elementor/pull/159/">#159</a>)
|
248 |
- Fix: Page content appears over the header. (<a href="https://github.com/Nikschavan/header-footer-elementor/pull/150/">#150</a>)
|
249 |
- Fix: Remove the deprecated function warning for shortcode functions. (Props <a href="https://github.com/hogash">@hogash</a> <a href="https://github.com/Nikschavan/header-footer-elementor/pull/145/">#145</a>)
|
@@ -255,7 +264,7 @@ Elementor has deprecated few functions and namespaces with its v3.0.0. Following
|
|
255 |
- Fix: Blank header being displayed when only footer is translated using WPML.
|
256 |
|
257 |
= 1.1.0 =
|
258 |
-
- New: Rename plugin to be Header Footer & Blocks builder as now
|
259 |
- New: Add templates before the footer for Astra Theme. Options for other themes will be coming soon.
|
260 |
- New: Use templates (Blocks) anywhere in your content with the help of shortcodes.
|
261 |
- Improvement: Improved the UI of the metabox for Header Footer post type.
|
@@ -273,24 +282,24 @@ Elementor has deprecated few functions and namespaces with its v3.0.0. Following
|
|
273 |
= 1.0.13 =
|
274 |
- Fix: PHP Notices and errors due to WP_Query being called early when some plugins use filters inside WP_Query.
|
275 |
|
276 |
-
= 1.0.12 =
|
277 |
- Fix: Compatibility with Elementor 2.0 changed canvas template path.
|
278 |
|
279 |
-
= 1.0.11 =
|
280 |
- Load the CSS footer early in the page to avoid slow rendering of CSS.
|
281 |
- Change the schema.org links to be https.
|
282 |
- Fix: Added correct schema markup for the footer.
|
283 |
|
284 |
-
= 1.0.10 =
|
285 |
- Load the header layout correctly in the <body> in Elementor canvas template.
|
286 |
- Load the Elementor Pro CSS/JS files in <head>.
|
287 |
- Provide more filters for the helper functions.
|
288 |
|
289 |
-
= 1.0.9 =
|
290 |
- Add Support for WPML.
|
291 |
- Updated the missing strings from the translations template.
|
292 |
|
293 |
-
= 1.0.8 =
|
294 |
- Allow filters to override the WP_Query parameters when retreiving the Header / Footer template id.
|
295 |
|
296 |
= 1.0.7 =
|
1 |
+
=== Elementor Header & Footer Builder ===
|
2 |
Contributors: brainstormforce, Nikschavan
|
3 |
Tags: elementor, header footer builder, header template, footer template, elementor widget, WordPress header, WordPress footer, elementor menu, website header design, footer design, blocks
|
4 |
Donate link: https://www.paypal.me/BrainstormForce
|
5 |
Requires at least: 4.4
|
6 |
Requires PHP: 5.4
|
7 |
Tested up to: 5.7
|
8 |
+
Stable tag: 1.6.0
|
9 |
License: GPLv2 or later
|
10 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
11 |
|
15 |
|
16 |
Have you ever imagined you could create your website header and footer with <a href="https://elementor.com/">Elementor</a> for FREE?
|
17 |
|
18 |
+
Elementor Header & Footer Builder is a simple yet powerful WordPress plugin that allows you to create a layout with Elementor and set it as
|
19 |
- Header
|
20 |
- Footer
|
21 |
- Block (anywhere on the website)
|
58 |
|
59 |
= WORKS WITH ALL THEMES =
|
60 |
|
61 |
+
Elementor Header & Footer Builder plugin works with all WordPress themes. Few of the themes have direct support while for few you can choose a method to add theme support.
|
62 |
|
63 |
+
In case you face any difficulty displaying header/footer, manually choose the theme support method. Visit Appearance > Elementor Header & Footer Builder > Theme Support. Select a method to suit your current theme and you are good to go!
|
64 |
|
65 |
= STEPS TO USE THE PLUGIN =
|
66 |
|
67 |
+
Step 1 - Visit Appearance > Elementor Header & Footer Builder and click on the ‘Add New’.
|
68 |
|
69 |
Step 2 - Select ‘Type of Template’ (header/footer/block). Set its display location and user roles.
|
70 |
|
82 |
|
83 |
= HAVE YOU TRIED ASTRA WITH ELEMENTOR? =
|
84 |
|
85 |
+
Powering over 1+ Million WordPress websites, Astra is loved for the performance and ease-of-use it offers.
|
86 |
|
87 |
People love Astra for -
|
88 |
|
95 |
= SUPPORTED & ACTIVELY DEVELOPED =
|
96 |
Need help with something? Have an issue to report? Visit [Plugin’s Forum](https://wordpress.org/plugins/header-footer-elementor/ "Plugin’s Forum").
|
97 |
|
98 |
+
[Get in touch](https://github.com/Nikschavan/header-footer-elementor "Elementor Header & Footer Builder on GitHub") with us on GitHub.
|
99 |
|
100 |
Made with love at [Brainstorm Force](https://www.brainstormforce.com/?utm_source=wp-repo&utm_campaign=header-footer-elementor&utm_medium=description "Brainstorm Force")!
|
101 |
|
102 |
== Installation ==
|
103 |
|
104 |
+
1. Go to `Plugins -> Add New` and search for Elementor Header & Footer Builder.
|
105 |
2. Activate the plugin through the 'Plugins' screen in WordPress.
|
106 |
+
3. Go to `Appearance -> Elementor Header & Footer Builder` to build a header or footer layout using Elementor.
|
107 |
4. After the layout is ready assign it as header or footer using the option `Select the type of template this is` (<a href="https://cloudup.com/clK2sPg9nXK+">screenshot</a>)
|
108 |
|
109 |
== Frequently Asked Questions ==
|
110 |
|
111 |
= How Does This Plugin Work? =
|
112 |
|
113 |
+
1. Go to Appearance -> Elementor Header & Footer Builder to build a header or footer layout using Elementor.
|
114 |
2. Click on “Add New” and design a template with Elementor.
|
115 |
3. Once the template is ready, set is as a header/footer/block using options “Type of Template” (<a href="https://share.getcloudapp.com/geurz2JR">screenshot</a>).
|
116 |
4.
|
117 |
+
|
118 |
a) For Header/Footer - Select the target location with the option “Display On”. With this Header/Footer will be visible only on selected locations for selected “User Roles”.
|
119 |
+
|
120 |
+
b) For Custom Block - Just copy the shortcode and add it anywhere on the website. Your designed template will display automatically. Display conditions or user roles will not be effective with shortcodes.
|
121 |
|
122 |
= Can You Create a Mobile Responsive Header/Footer Using This Plugin? =
|
123 |
|
124 |
+
Yes, You can create the mobile responsive layout of your header using the plugin.
|
125 |
|
126 |
+
The Elementor Header & Footer Builder plugin just gives you a container where you can completely design the header using Elementor Page Builder, So the process of creating the mobile responsive layout is exactly the same as you would create a responsive layout of your other Elementor page.
|
127 |
|
128 |
Here is a documentation by Elementor Page builder which explains how you can create mobile responsive layouts using Elementor - [https://elementor.com/introducing-mobile-editing/](https://elementor.com/introducing-mobile-editing/)
|
129 |
This same applies when you are creating your Header/Footer using this plugin.
|
130 |
|
131 |
== Screenshots ==
|
132 |
|
133 |
+
1. Go to Appearance -> Elementor Header & Footer Builder to create a new template.
|
134 |
2. Assign template to be a header/footer and select display rules.
|
135 |
+
3. 3. For blocks, select the type of template as Custom Blocks. You can copy the shortcode and use it anywhere.
|
136 |
4. Methods to add Theme Support.
|
137 |
+
5. Default widgets available with Elementor Header & Footer Builder.
|
138 |
|
139 |
== Changelog ==
|
140 |
+
= 1.6.0 =
|
141 |
+
- New: Added Email Subscription and About Us section on the settings page.
|
142 |
+
- New: Renamed the plugin to Elementor Header & Footer Builder.
|
143 |
+
- Improvement: Added an option to hide + & - sign added by Twenty Twenty-One Theme.
|
144 |
+
- Fix: Navigation Menu - Border for dropdown is also applying to the menu trigger icon.
|
145 |
+
- Fix: Navigation Menu - Fix top distance option for dropdown adding a top-margin to sub-menu.
|
146 |
+
- Fix: Navigation Menu - Fixed active color issues in case of full-page anchor links used in nav links.
|
147 |
+
- Fix: Navigation Menu - Navigation schema not working.
|
148 |
+
|
149 |
+
= 1.5.9 =
|
150 |
- Improvement: Added notice to update Elementor to v3.0.0 or higher
|
151 |
+
Elementor has deprecated few functions and namespaces with its v3.0.0. Following Elementor, our plugin too deprecates similar functions and namespaces. You will now require the Elementor v3.0.0 or higher.
|
152 |
- Improvement: Elementor 3.2 Compatibility - Added Elementor Global Color and Typography scheme support.
|
153 |
+
- Fix: Navigation Menu - Last menu item button disappearing while switching from mobile to desktop.
|
154 |
- Fix: Navigation Menu - Last menu item button alignment not working in RTL view.
|
155 |
|
156 |
= 1.5.8 =
|
252 |
- Fix: Flush permalinks on plugin update to Elementor error when trying to edit the Header/Footer.
|
253 |
|
254 |
= 1.1.3 =
|
255 |
+
- Improvement: Allow changing the permalinks for the hfe templates (<a href="https://github.com/Nikschavan/header-footer-elementor/pull/162/">#162</a>)
|
256 |
- Fix: WPML Translations do not work when using the Elementor Template as a shortcode. (<a href="https://github.com/Nikschavan/header-footer-elementor/pull/159/">#159</a>)
|
257 |
- Fix: Page content appears over the header. (<a href="https://github.com/Nikschavan/header-footer-elementor/pull/150/">#150</a>)
|
258 |
- Fix: Remove the deprecated function warning for shortcode functions. (Props <a href="https://github.com/hogash">@hogash</a> <a href="https://github.com/Nikschavan/header-footer-elementor/pull/145/">#145</a>)
|
264 |
- Fix: Blank header being displayed when only footer is translated using WPML.
|
265 |
|
266 |
= 1.1.0 =
|
267 |
+
- New: Rename plugin to be Header Footer & Blocks builder as now the blocks templates can be used as shortcodes.
|
268 |
- New: Add templates before the footer for Astra Theme. Options for other themes will be coming soon.
|
269 |
- New: Use templates (Blocks) anywhere in your content with the help of shortcodes.
|
270 |
- Improvement: Improved the UI of the metabox for Header Footer post type.
|
282 |
= 1.0.13 =
|
283 |
- Fix: PHP Notices and errors due to WP_Query being called early when some plugins use filters inside WP_Query.
|
284 |
|
285 |
+
= 1.0.12 =
|
286 |
- Fix: Compatibility with Elementor 2.0 changed canvas template path.
|
287 |
|
288 |
+
= 1.0.11 =
|
289 |
- Load the CSS footer early in the page to avoid slow rendering of CSS.
|
290 |
- Change the schema.org links to be https.
|
291 |
- Fix: Added correct schema markup for the footer.
|
292 |
|
293 |
+
= 1.0.10 =
|
294 |
- Load the header layout correctly in the <body> in Elementor canvas template.
|
295 |
- Load the Elementor Pro CSS/JS files in <head>.
|
296 |
- Provide more filters for the helper functions.
|
297 |
|
298 |
+
= 1.0.9 =
|
299 |
- Add Support for WPML.
|
300 |
- Updated the missing strings from the translations template.
|
301 |
|
302 |
+
= 1.0.8 =
|
303 |
- Allow filters to override the WP_Query parameters when retreiving the Header / Footer template id.
|
304 |
|
305 |
= 1.0.7 =
|
themes/default/class-hfe-fallback-theme-support.php
DELETED
@@ -1,238 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
/**
|
3 |
-
* HFE Fallback Theme Support.
|
4 |
-
*
|
5 |
-
* Add theme compatibility for all the WordPress themes.
|
6 |
-
*
|
7 |
-
* @since 1.2.0
|
8 |
-
* @package hfe
|
9 |
-
*/
|
10 |
-
|
11 |
-
namespace HFE\Themes;
|
12 |
-
|
13 |
-
/**
|
14 |
-
* Class HFE Theme Fallback support.
|
15 |
-
*
|
16 |
-
* @since 1.2.0
|
17 |
-
*/
|
18 |
-
class HFE_Fallback_Theme_Support {
|
19 |
-
|
20 |
-
/**
|
21 |
-
* Constructor.
|
22 |
-
*
|
23 |
-
* @since 1.2.0
|
24 |
-
*/
|
25 |
-
public function __construct() {
|
26 |
-
$this->setup_fallback_support();
|
27 |
-
add_action( 'admin_menu', [ $this, 'hfe_register_settings_page' ] );
|
28 |
-
add_action( 'admin_init', [ $this, 'hfe_admin_init' ] );
|
29 |
-
add_action( 'admin_head', [ $this, 'hfe_global_css' ] );
|
30 |
-
add_filter( 'views_edit-elementor-hf', [ $this, 'hfe_settings' ], 10, 1 );
|
31 |
-
}
|
32 |
-
|
33 |
-
/**
|
34 |
-
* Adds CSS to Hide the extra submenu added for the settings tab.
|
35 |
-
*
|
36 |
-
* @since 1.2.0
|
37 |
-
* @return void
|
38 |
-
*/
|
39 |
-
public function hfe_global_css() {
|
40 |
-
wp_enqueue_style( 'hfe-admin-style', HFE_URL . 'admin/assets/css/ehf-admin.css', [], HFE_VER );
|
41 |
-
}
|
42 |
-
|
43 |
-
/**
|
44 |
-
* Adds a tab in plugin submenu page.
|
45 |
-
*
|
46 |
-
* @since 1.2.0
|
47 |
-
* @param string $views to add tab to current post type view.
|
48 |
-
*
|
49 |
-
* @return mixed
|
50 |
-
*/
|
51 |
-
public function hfe_settings( $views ) {
|
52 |
-
$this->hfe_tabs();
|
53 |
-
return $views;
|
54 |
-
}
|
55 |
-
|
56 |
-
|
57 |
-
/**
|
58 |
-
* Function for registering the settings api.
|
59 |
-
*
|
60 |
-
* @since 1.2.0
|
61 |
-
* @return void
|
62 |
-
*/
|
63 |
-
public function hfe_admin_init() {
|
64 |
-
register_setting( 'hfe-plugin-options', 'hfe_compatibility_option' );
|
65 |
-
add_settings_section( 'hfe-options', __( 'Add Theme Support', 'header-footer-elementor' ), [ $this, 'hfe_compatibility_callback' ], 'Settings' );
|
66 |
-
add_settings_field( 'hfe-way', 'Methods to Add Theme Support', [ $this, 'hfe_compatibility_option_callback' ], 'Settings', 'hfe-options' );
|
67 |
-
}
|
68 |
-
|
69 |
-
/**
|
70 |
-
* Call back function for the ssettings api function add_settings_section
|
71 |
-
*
|
72 |
-
* This function can be used to add description of the settings sections
|
73 |
-
*
|
74 |
-
* @since 1.2.0
|
75 |
-
* @return void
|
76 |
-
*/
|
77 |
-
public function hfe_compatibility_callback() {
|
78 |
-
_e( 'The Elementor - Header, Footer & Blocks plugin need compatibility with your current theme to work smoothly.</br></br>Following are two methods that enable theme support for the plugin.</br></br>Method 1 is selected by default and that works fine almost will all themes. In case, you face any issue with the header or footer template, try choosing Method 2.', 'header-footer-elementor' );
|
79 |
-
}
|
80 |
-
|
81 |
-
/**
|
82 |
-
* Call back function for the ssettings api function add_settings_field
|
83 |
-
*
|
84 |
-
* This function will contain the markup for the input feilds that we can add.
|
85 |
-
*
|
86 |
-
* @since 1.2.0
|
87 |
-
* @return void
|
88 |
-
*/
|
89 |
-
public function hfe_compatibility_option_callback() {
|
90 |
-
$hfe_radio_button = get_option( 'hfe_compatibility_option', '1' );
|
91 |
-
wp_enqueue_style( 'hfe-admin-style', HFE_URL . 'admin/assets/css/ehf-admin.css', [], HFE_VER );
|
92 |
-
?>
|
93 |
-
|
94 |
-
<label>
|
95 |
-
<input type="radio" name="hfe_compatibility_option" value= 1 <?php checked( $hfe_radio_button, 1 ); ?> > <div class="hfe_radio_options"><?php esc_html_e( ' Method 1 (Recommended)', 'header-footer-elementor' ); ?></div>
|
96 |
-
<p class="description"><?php esc_html_e( 'This method replaces your theme\'s header (header.php) & footer (footer.php) template with plugin\'s custom templates.', 'header-footer-elementor' ); ?></p><br>
|
97 |
-
</label>
|
98 |
-
<label>
|
99 |
-
<input type="radio" name="hfe_compatibility_option" value= 2 <?php checked( $hfe_radio_button, 2 ); ?> > <div class="hfe_radio_options"><?php esc_html_e( 'Method 2', 'header-footer-elementor' ); ?></div>
|
100 |
-
<p class="description">
|
101 |
-
<?php
|
102 |
-
echo sprintf(
|
103 |
-
esc_html( "This method hides your theme's header & footer template with CSS and displays custom templates from the plugin.", 'header-footer-elementor' ),
|
104 |
-
'<br>'
|
105 |
-
);
|
106 |
-
?>
|
107 |
-
</p><br>
|
108 |
-
</label>
|
109 |
-
<p class="description">
|
110 |
-
<?php
|
111 |
-
echo sprintf(
|
112 |
-
_e( 'Sometimes above methods might not work well with your theme, in this case, contact your theme author and request them to add support for the <a href="https://github.com/Nikschavan/header-footer-elementor/wiki/Adding-Header-Footer-Elementor-support-for-your-theme">plugin.</>', 'header-footer-elementor' ),
|
113 |
-
'<br>'
|
114 |
-
);
|
115 |
-
?>
|
116 |
-
</p>
|
117 |
-
|
118 |
-
<?php
|
119 |
-
}
|
120 |
-
|
121 |
-
/**
|
122 |
-
* Setup Theme Support.
|
123 |
-
*
|
124 |
-
* @since 1.2.0
|
125 |
-
* @return void
|
126 |
-
*/
|
127 |
-
public function setup_fallback_support() {
|
128 |
-
$hfe_compatibility_option = get_option( 'hfe_compatibility_option', '1' );
|
129 |
-
|
130 |
-
if ( '1' === $hfe_compatibility_option ) {
|
131 |
-
require HFE_DIR . 'themes/default/class-hfe-default-compat.php';
|
132 |
-
} elseif ( '2' === $hfe_compatibility_option ) {
|
133 |
-
require HFE_DIR . 'themes/default/class-global-theme-compatibility.php';
|
134 |
-
}
|
135 |
-
}
|
136 |
-
|
137 |
-
/**
|
138 |
-
* Show a settings page incase of unsupported theme.
|
139 |
-
*
|
140 |
-
* @since 1.2.0
|
141 |
-
*
|
142 |
-
* @return void
|
143 |
-
*/
|
144 |
-
public function hfe_register_settings_page() {
|
145 |
-
add_submenu_page(
|
146 |
-
'themes.php',
|
147 |
-
__( 'Settings', 'header-footer-elementor' ),
|
148 |
-
__( 'Settings', 'header-footer-elementor' ),
|
149 |
-
'manage_options',
|
150 |
-
'hfe-settings',
|
151 |
-
[ $this, 'hfe_settings_page' ]
|
152 |
-
);
|
153 |
-
}
|
154 |
-
|
155 |
-
/**
|
156 |
-
* Settings page.
|
157 |
-
*
|
158 |
-
* Call back function for add submenu page function.
|
159 |
-
*
|
160 |
-
* @since 1.2.0
|
161 |
-
*/
|
162 |
-
public function hfe_settings_page() {
|
163 |
-
echo '<h1 class="hfe-heading-inline">';
|
164 |
-
esc_attr_e( 'Elementor - Header, Footer & Blocks ', 'header-footer-elementor' );
|
165 |
-
echo '</h1>';
|
166 |
-
|
167 |
-
?>
|
168 |
-
<h2 class="nav-tab-wrapper">
|
169 |
-
<?php
|
170 |
-
$tabs = [
|
171 |
-
'hfe_templates' => [
|
172 |
-
'name' => __( 'All Templates', 'header-footer-elementor' ),
|
173 |
-
'url' => admin_url( 'edit.php?post_type=elementor-hf' ),
|
174 |
-
],
|
175 |
-
'hfe_settings' => [
|
176 |
-
'name' => __( 'Theme Support', 'header-footer-elementor' ),
|
177 |
-
'url' => admin_url( 'themes.php?page=hfe-settings' ),
|
178 |
-
],
|
179 |
-
];
|
180 |
-
$active_tab = 'hfe-settings' == isset( $_GET['page'] ) && $_GET['page'] ? 'hfe_settings' : 'hfe_templates';
|
181 |
-
foreach ( $tabs as $tab_id => $tab ) {
|
182 |
-
$active = $active_tab == $tab_id ? ' nav-tab-active' : '';
|
183 |
-
echo '<a href="' . esc_url( $tab['url'] ) . '" class="nav-tab' . $active . '">';
|
184 |
-
echo esc_html( $tab['name'] );
|
185 |
-
echo '</a>';
|
186 |
-
}
|
187 |
-
?>
|
188 |
-
</h2>
|
189 |
-
<br />
|
190 |
-
<?php
|
191 |
-
$hfe_radio_button = get_option( 'hfe_compatibility_option', '1' );
|
192 |
-
?>
|
193 |
-
<form action="options.php" method="post">
|
194 |
-
<?php settings_fields( 'hfe-plugin-options' ); ?>
|
195 |
-
<?php do_settings_sections( 'Settings' ); ?>
|
196 |
-
<?php submit_button(); ?>
|
197 |
-
</form></div>
|
198 |
-
<?php
|
199 |
-
}
|
200 |
-
|
201 |
-
/**
|
202 |
-
* Function for adding tabs
|
203 |
-
*
|
204 |
-
* @since 1.2.0
|
205 |
-
* @return void
|
206 |
-
*/
|
207 |
-
public function hfe_tabs() {
|
208 |
-
?>
|
209 |
-
<h2 class="nav-tab-wrapper">
|
210 |
-
<?php
|
211 |
-
$tabs = [
|
212 |
-
'hfe_templates' => [
|
213 |
-
'name' => __( 'All templates', 'header-footer-elementor' ),
|
214 |
-
'url' => admin_url( 'edit.php?post_type=elementor-hf' ),
|
215 |
-
],
|
216 |
-
'hfe_settings' => [
|
217 |
-
'name' => __( 'Theme Support', 'header-footer-elementor' ),
|
218 |
-
'url' => admin_url( 'themes.php?page=hfe-settings' ),
|
219 |
-
],
|
220 |
-
];
|
221 |
-
$active_tab = 'hfe-settings' == isset( $_GET['page'] ) && $_GET['page'] ? 'hfe_settings' : 'hfe_templates';
|
222 |
-
foreach ( $tabs as $tab_id => $tab ) {
|
223 |
-
$active = $active_tab == $tab_id ? ' nav-tab-active' : '';
|
224 |
-
|
225 |
-
echo '<a href="' . esc_url( $tab['url'] ) . '" class="nav-tab' . esc_attr( $active ) . '">';
|
226 |
-
echo esc_html( $tab['name'] );
|
227 |
-
echo '</a>';
|
228 |
-
}
|
229 |
-
|
230 |
-
?>
|
231 |
-
</h2>
|
232 |
-
<br />
|
233 |
-
<?php
|
234 |
-
}
|
235 |
-
|
236 |
-
}
|
237 |
-
|
238 |
-
new HFE_Fallback_Theme_Support();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
themes/hello-elementor/class-hfe-hello-elementor-compat.php
CHANGED
@@ -24,7 +24,9 @@ class HFE_Hello_Elementor_Compat {
|
|
24 |
if ( ! isset( self::$instance ) ) {
|
25 |
self::$instance = new HFE_Hello_Elementor_Compat();
|
26 |
|
27 |
-
|
|
|
|
|
28 |
}
|
29 |
|
30 |
return self::$instance;
|
24 |
if ( ! isset( self::$instance ) ) {
|
25 |
self::$instance = new HFE_Hello_Elementor_Compat();
|
26 |
|
27 |
+
if ( ! class_exists( 'HFE_Default_Compat' ) ) {
|
28 |
+
require_once HFE_DIR . 'themes/default/class-hfe-default-compat.php';
|
29 |
+
}
|
30 |
}
|
31 |
|
32 |
return self::$instance;
|