Header Footer Elementor - Version 1.4.0

Version Description

  • New: WooCommerce Menu Cart widget.
  • Improvement: Compatibility to Elementor Pro v2.9 full site editing.
  • Improvement: In-built support to Hello Elementor theme.
  • Improvement: WPML support to before footer template.
  • Improvement: Navigation Menu - Added option to convert last item into CTA.
Download this release

Release Info

Developer Nikschavan
Plugin Icon Header Footer Elementor
Version 1.4.0
Comparing to
See all releases

Code changes from version 1.3.1 to 1.4.0

admin/class-hfe-admin.php CHANGED
@@ -80,6 +80,9 @@ class HFE_Admin {
80
add_filter( 'single_template', [ $this, 'load_canvas_template' ] );
81
add_filter( 'manage_elementor-hf_posts_columns', [ $this, 'set_shortcode_columns' ] );
82
add_action( 'manage_elementor-hf_posts_custom_column', [ $this, 'render_shortcode_column' ], 10, 2 );
83
84
if ( is_admin() ) {
85
add_action( 'manage_elementor-hf_posts_custom_column', [ $this, 'column_content' ], 10, 2 );
@@ -87,6 +90,40 @@ class HFE_Admin {
87
}
88
}
89
90
/**
91
* Adds or removes list table column headings.
92
*
80
add_filter( 'single_template', [ $this, 'load_canvas_template' ] );
81
add_filter( 'manage_elementor-hf_posts_columns', [ $this, 'set_shortcode_columns' ] );
82
add_action( 'manage_elementor-hf_posts_custom_column', [ $this, 'render_shortcode_column' ], 10, 2 );
83
+ if ( defined( 'ELEMENTOR_PRO_VERSION' ) && ELEMENTOR_PRO_VERSION > 2.8 ) {
84
+ add_action( 'elementor/editor/footer', [ $this, 'register_hfe_epro_script' ], 99 );
85
+ }
86
87
if ( is_admin() ) {
88
add_action( 'manage_elementor-hf_posts_custom_column', [ $this, 'column_content' ], 10, 2 );
90
}
91
}
92
93
+ /**
94
+ * Script for Elementor Pro full site editing support.
95
+ *
96
+ * @since 1.4.0
97
+ *
98
+ * @return void
99
+ */
100
+ public function register_hfe_epro_script() {
101
+ $ids_array = [
102
+ [
103
+ 'id' => get_hfe_header_id(),
104
+ 'value' => 'Header',
105
+ ],
106
+ [
107
+ 'id' => get_hfe_footer_id(),
108
+ 'value' => 'Footer',
109
+ ],
110
+ [
111
+ 'id' => hfe_get_before_footer_id(),
112
+ 'value' => 'Before Footer',
113
+ ],
114
+ ];
115
+
116
+ wp_enqueue_script( 'hfe-elementor-pro-compatibility', HFE_URL . 'inc/js/hfe-elementor-pro-compatibility.js', [ 'jquery' ], HFE_VER, true );
117
+
118
+ wp_localize_script(
119
+ 'hfe-elementor-pro-compatibility',
120
+ 'hfe_admin',
121
+ [
122
+ 'ids_array' => wp_json_encode( $ids_array ),
123
+ ]
124
+ );
125
+ }
126
+
127
/**
128
* Adds or removes list table column headings.
129
*
assets/css/style.css CHANGED
@@ -40,26 +40,28 @@
40
border-style: solid;
41
}
42
43
.hfe-icon-copyright-widget:before {
44
- content: "\e905";
45
}
46
.hfe-icon-retina-image:before {
47
- content: "\e906";
48
}
49
-
50
.hfe-icon-page-title:before {
51
- content: "\e900";
52
}
53
.hfe-icon-site-logo:before {
54
- content: "\e901";
55
}
56
.hfe-icon-site-tagline:before {
57
- content: "\e902";
58
}
59
.hfe-icon-site-title:before {
60
- content: "\e903";
61
- }
62
- .hfe-icon-navigation-menu-4:before {
63
- content: "\e904";
64
- color: #556068;
65
}
40
border-style: solid;
41
}
42
43
+ .hfe-icon-navigation-menu:before {
44
+ content: "\e900";
45
+ color: #556068;
46
+ }
47
+ .hfe-icon-menu-cart:before {
48
+ content: "\e901";
49
+ }
50
.hfe-icon-copyright-widget:before {
51
+ content: "\e902";
52
}
53
.hfe-icon-retina-image:before {
54
+ content: "\e903";
55
}
56
.hfe-icon-page-title:before {
57
+ content: "\e904";
58
}
59
.hfe-icon-site-logo:before {
60
+ content: "\e905";
61
}
62
.hfe-icon-site-tagline:before {
63
+ content: "\e906";
64
}
65
.hfe-icon-site-title:before {
66
+ content: "\e907";
67
}
assets/fonts/hfe.eot CHANGED
Binary file
assets/fonts/hfe.svg CHANGED
@@ -7,11 +7,12 @@
7
<font-face units-per-em="1024" ascent="960" descent="-64" />
8
<missing-glyph horiz-adv-x="1024" />
9
<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
10
- <glyph unicode="&#xe900;" glyph-name="page-title" d="M553.613 952.083c-4.695 4.946-11.132 7.913-17.805 7.913h-399.462c-73.71 0-134.555-60.602-134.555-134.304v-755.383c0-73.712 60.845-134.312 134.555-134.312h542.175c73.71 0 134.555 60.6 134.555 134.312v599.803c0 6.429-2.968 12.609-7.172 17.314l-252.291 264.657zM560.785 872.683l168.938-177.344h-109.82c-32.65 0-59.117 26.217-59.117 58.867v118.477zM678.521-14.535h-542.175c-46.25 0-85.086 38.335-85.086 84.844v755.383c0 46.25 38.585 84.836 85.086 84.836h374.97v-156.321c0-60.101 48.485-108.336 108.586-108.336h143.705v-575.564c0-46.509-38.587-84.842-85.086-84.842zM300.571 417.609c7.633 0 13.879 6.242 13.879 13.879v16.795h61.069v-144.352h-25.953c-7.637 0-13.881-6.248-13.881-13.883 0-7.631 6.244-13.879 13.881-13.879h79.806c7.639 0 13.881 6.248 13.881 13.879 0 7.635-6.242 13.883-13.881 13.883h-26.093v144.348h61.075v-16.795c0-7.633 6.242-13.879 13.879-13.879 7.633 0 13.879 6.246 13.879 13.879v31.093c0 7.637-6.523 13.462-14.156 13.462h-177.11c-7.633 0-14.156-5.825-14.156-13.462v-31.093c-0.002-7.633 6.246-13.875 13.879-13.875z" />
11
- <glyph unicode="&#xe901;" glyph-name="site-logo" d="M619.652 354.789l-53.825-61.702-112.904 160.165c-4.644 6.978-12.637 10.976-21.005 10.504-8.217-0.193-15.919-4.046-21.005-10.504l-173.292-233.682c-5.975-8.956-6.968-20.341-2.626-30.194 4.219-9.539 13.25-16.062 23.631-17.067h480.492c10.38 1.005 19.414 7.528 23.631 17.067 4.372 9.4 3.37 20.424-2.626 28.882l-99.774 133.908c-4.402 6.752-11.662 11.109-19.693 11.815-8.079 0.525-15.909-2.902-21.005-9.192zM526.441 224.821h-215.304l120.779 162.791 114.215-162.791h-19.69zM686.606 224.821h-76.144l-13.127 21.005 40.698 45.949 48.573-66.954zM573.702 426.995c44.228 0 80.081 35.853 80.081 80.081s-35.853 80.081-80.081 80.081-80.081-35.853-80.081-80.081v0c0-44.228 35.853-80.081 80.081-80.081zM546.134 507.076c0 15.225 12.343 27.568 27.568 27.568s27.568-12.343 27.568-27.568c0-15.225-12.343-27.568-27.568-27.568s-27.568 12.343-27.568 27.568c0 0 0 0 0 0zM911.099 675.119l-278.32 277.003c-4.847 4.948-11.453 7.777-18.379 7.878h-378.092c-72.505 0-131.282-58.777-131.282-131.282v-761.435c0-72.505 58.777-131.282 131.282-131.282h551.386c72.505 0 131.282 58.777 131.282 131.282v589.458c-0.101 6.923-2.932 13.529-7.878 18.379zM643.282 697.435v170.668l185.107-183.795h-171.98c-6.481-0.771-12.358 3.857-13.127 10.338-0.111 0.925-0.111 1.862 0 2.789zM866.461 67.282c0-43.502-35.267-78.769-78.769-78.769h-551.383c-43.502 0-78.769 35.265-78.769 78.769v761.435c0 43.502 35.265 78.769 78.769 78.769h354.461v-210.052c0-36.252 29.387-65.64 65.64-65.64h210.052v-564.513z" />
12
- <glyph unicode="&#xe902;" glyph-name="site-tagline" d="M553.613 952.083c-4.695 4.946-11.132 7.913-17.805 7.913h-399.462c-73.71 0-134.555-60.602-134.555-134.304v-755.383c0-73.712 60.845-134.312 134.555-134.312h542.175c73.71 0 134.555 60.6 134.555 134.312v599.803c0 6.429-2.968 12.609-7.172 17.314l-252.291 264.657zM560.785 872.683l168.938-177.344h-109.82c-32.65 0-59.117 26.217-59.117 58.867v118.477zM678.521-14.535h-542.175c-46.25 0-85.086 38.335-85.086 84.844v755.383c0 46.25 38.585 84.836 85.086 84.836h374.97v-156.321c0-60.101 48.485-108.336 108.586-108.336h143.705v-575.564c0-46.509-38.587-84.842-85.086-84.842zM535.324 446.395h-354.679c-11.849 0-21.548-7.008-21.548-15.58 0-8.567 9.699-15.578 21.548-15.578h354.895c11.849 0 21.548 7.012 21.548 15.578 0 8.573-9.699 15.58-21.765 15.58zM535.324 352.211h-354.679c-11.849 0-21.548-7.008-21.548-15.58 0-8.567 9.699-15.578 21.548-15.578h354.895c11.849 0 21.548 7.012 21.548 15.578 0 8.573-9.699 15.58-21.765 15.58zM535.324 262.65h-354.679c-11.849 0-21.548-7.008-21.548-15.58 0-8.567 9.699-15.578 21.548-15.578h354.895c11.849 0 21.548 7.012 21.548 15.578 0 8.573-9.699 15.58-21.765 15.58zM178.859 677.192c8.016 0 14.576 6.555 14.576 14.574v17.636h64.131v-151.588h-27.255c-8.020 0-14.576-6.561-14.576-14.576s6.557-14.574 14.576-14.574h83.806c8.020 0 14.576 6.561 14.576 14.574 0 8.016-6.555 14.576-14.576 14.576h-27.402v151.584h64.135v-17.636c0-8.016 6.555-14.574 14.574-14.574 8.016 0 14.576 6.559 14.576 14.574v32.65c0 8.020-6.851 14.14-14.867 14.14h-185.985c-8.016 0-14.865-6.118-14.865-14.14v-32.65c-0.002-8.016 6.559-14.57 14.574-14.57z" />
13
- <glyph unicode="&#xe903;" glyph-name="site-title" d="M659.821 954.086c-4.695 4.945-11.133 7.914-17.805 7.914h-399.462c-73.711 0-134.555-60.602-134.555-134.305v-755.384c0-73.711 60.844-134.313 134.555-134.313h542.173c73.711 0 134.555 60.602 134.555 134.313v599.806c0 6.43-2.969 12.609-7.172 17.313zM666.992 874.687l168.938-177.344h-109.821c-32.648 0-59.117 26.219-59.117 58.867zM784.727-12.533h-542.173c-46.25 0-85.086 38.336-85.086 84.844v755.384c0 46.25 38.586 84.836 85.086 84.836h374.969v-156.321c0-60.102 48.484-108.336 108.586-108.336h143.703v-575.564c0-46.508-38.586-84.844-85.086-84.844zM717.204 158.131h-407.126c-13.602 0-24.734-11.125-24.734-24.734 0-13.602 11.133-24.734 24.734-24.734h407.376c13.602 0 24.734 11.133 24.734 24.734 0 13.609-11.133 24.734-24.984 24.734zM355.343 504.171c13.602 0 24.734 11.125 24.734 24.734v29.93h108.828v-257.243h-46.25c-13.609 0-24.734-11.133-24.734-24.734s11.125-24.734 24.734-24.734h142.219c13.609 0 24.734 11.133 24.734 24.734s-11.125 24.734-24.734 24.734h-46.5v257.235h108.836v-29.93c0-13.602 11.125-24.734 24.734-24.734 13.602 0 24.734 11.133 24.734 24.734v55.406c0 13.609-11.625 23.992-25.227 23.992h-315.618c-13.602 0-25.227-10.383-25.227-23.992v-55.406c0-13.602 11.133-24.727 24.734-24.727z" />
14
- <glyph unicode="&#xe904;" glyph-name="navigation-menu-4" d="M921.6 467.626c0 10.834-8.794 19.628-19.626 19.628h-779.948c-10.832 0-19.626-8.794-19.626-19.628v-39.252c0-10.834 8.794-19.628 19.626-19.628h779.948c10.832 0 19.626 8.794 19.626 19.628v39.252zM921.6 254.294c0 10.832-8.794 19.626-19.626 19.626h-779.948c-10.832 0-19.626-8.794-19.626-19.626v-39.254c0-10.832 8.794-19.626 19.626-19.626h779.948c10.832 0 19.626 8.794 19.626 19.626v39.254zM921.6 680.96c0 10.832-8.794 19.626-19.626 19.626h-779.948c-10.832 0-19.626-8.794-19.626-19.626v-39.254c0-10.832 8.794-19.626 19.626-19.626h779.948c10.832 0 19.626 8.794 19.626 19.626v39.254z" />
15
- <glyph unicode="&#xe905;" glyph-name="copyright-widget" d="M512-64c-282.312 0-512 229.688-512 512s229.688 512 512 512 512-229.688 512-512-229.688-512-512-512zM512 896c-247.032 0-448-200.968-448-448s200.968-448 448-448 448 200.968 448 448-200.968 448-448 448zM512 191.999c-141.156 0-256.001 114.843-256.001 256.001s114.843 256.001 256.001 256.001c69.406 0 134.344-27.313 182.906-76.906l-45.749-44.749c-36.405 37.188-85.093 57.657-137.157 57.657-105.876 0-192.001-86.125-192.001-192.001s86.125-192.001 192.001-192.001c52.032 0 100.72 20.469 137.157 57.657l45.687-44.814c-48.533-49.563-113.468-76.844-182.844-76.846z" />
16
- <glyph unicode="&#xe906;" glyph-name="retina-image" d="M512 277.333c-94.123 0-170.667 76.544-170.667 170.667s76.544 170.667 170.667 170.667 170.667-76.544 170.667-170.667-76.544-170.667-170.667-170.667zM512 554.667c-58.795 0-106.667-47.872-106.667-106.667s47.872-106.667 106.667-106.667 106.667 47.872 106.667 106.667-47.872 106.667-106.667 106.667zM512 106.667c-202.88 0-392.747 121.728-507.861 325.589-5.504 9.771-5.504 21.675 0 31.445 115.115 203.904 304.981 325.632 507.861 325.632s392.747-121.728 507.861-325.589c5.504-9.771 5.504-21.675 0-31.445-115.115-203.904-304.981-325.632-507.861-325.632zM69.035 448c104.235-174.037 268.672-277.333 442.965-277.333s338.731 103.296 442.965 277.333c-104.235 174.037-268.672 277.333-442.965 277.333s-338.731-103.296-442.965-277.333zM992 603.819c-17.664 0-32 14.336-32 32v206.848c0 29.397-23.936 53.333-53.333 53.333h-206.848c-17.664 0-32 14.336-32 32s14.336 32 32 32h206.848c64.683 0 117.333-52.651 117.333-117.333v-206.848c0-17.664-14.336-32-32-32zM32 603.819c-17.664 0-32 14.336-32 32v206.848c0 64.683 52.651 117.333 117.333 117.333h206.848c17.664 0 32-14.336 32-32s-14.336-32-32-32h-206.848c-29.397 0-53.333-23.936-53.333-53.333v-206.848c0-17.664-14.336-32-32-32zM906.667-64h-206.848c-17.664 0-32 14.336-32 32s14.336 32 32 32h206.848c29.397 0 53.333 23.936 53.333 53.333v206.848c0 17.664 14.336 32 32 32s32-14.336 32-32v-206.848c0-64.683-52.651-117.333-117.333-117.333zM324.181-64h-206.848c-64.683 0-117.333 52.651-117.333 117.333v206.848c0 17.664 14.336 32 32 32s32-14.336 32-32v-206.848c0-29.397 23.936-53.333 53.333-53.333h206.848c17.664 0 32-14.336 32-32s-14.336-32-32-32z" />
17
</font></defs></svg>
7
<font-face units-per-em="1024" ascent="960" descent="-64" />
8
<missing-glyph horiz-adv-x="1024" />
9
<glyph unicode="&#x20;" horiz-adv-x="512" d="" />
10
+ <glyph unicode="&#xe900;" glyph-name="navigation-menu" d="M921.6 467.626c0 10.834-8.794 19.628-19.626 19.628h-779.948c-10.832 0-19.626-8.794-19.626-19.628v-39.252c0-10.834 8.794-19.628 19.626-19.628h779.948c10.832 0 19.626 8.794 19.626 19.628v39.252zM921.6 254.294c0 10.832-8.794 19.626-19.626 19.626h-779.948c-10.832 0-19.626-8.794-19.626-19.626v-39.254c0-10.832 8.794-19.626 19.626-19.626h779.948c10.832 0 19.626 8.794 19.626 19.626v39.254zM921.6 680.96c0 10.832-8.794 19.626-19.626 19.626h-779.948c-10.832 0-19.626-8.794-19.626-19.626v-39.254c0-10.832 8.794-19.626 19.626-19.626h779.948c10.832 0 19.626 8.794 19.626 19.626v39.254z" />
11
+ <glyph unicode="&#xe901;" glyph-name="menu-cart" d="M513.065 767.324l83.968-71.967c0.041-0.020 0.061-0.041 0.102-0.061 0.676-0.594 1.434-1.106 2.212-1.577 0.102-0.061 0.205-0.123 0.328-0.184 0.758-0.43 1.536-0.819 2.355-1.106 0.143-0.041 0.266-0.102 0.389-0.143 0.819-0.287 1.659-0.492 2.499-0.655 0.143-0.020 0.266-0.041 0.41-0.061 1.761-0.328 3.564-0.328 5.325 0 0.143 0.020 0.266 0.020 0.41 0.061 0.84 0.164 1.679 0.369 2.499 0.655 0.123 0.041 0.246 0.102 0.389 0.143 0.819 0.307 1.597 0.676 2.355 1.106 0.123 0.061 0.225 0.123 0.328 0.184 0.778 0.471 1.516 0.983 2.212 1.577 0.041 0.020 0.061 0.041 0.102 0.061l83.968 71.967c7.045 6.042 7.864 16.65 1.823 23.675-6.021 7.045-16.65 7.864-23.675 1.823l-56.259-48.21v198.595c0 9.277-7.496 16.794-16.773 16.794s-16.794-7.516-16.794-16.794v-198.615l-56.238 48.23c-7.045 6.042-17.633 5.222-23.675-1.823-6.124-7.025-5.304-17.633 1.741-23.675v0zM32.174 751.124h102.441c33.649 0.123 62.321-24.31 67.543-57.528l81.080-608.010c0-0.123 0.020-0.287 0.041-0.41 7.68-49.684 50.524-86.282 100.762-86.077h14.090c6.185-36.434 37.765-63.119 74.752-63.119 36.966 0 68.547 26.685 74.732 63.119h140.288c6.492-38.031 40.53-65.167 79.094-62.956s69.284 33.034 71.373 71.598c2.13 38.543-25.088 72.52-63.16 78.93s-74.875-16.835-85.484-53.965h-143.954c-9.277 32.563-39.035 55.009-72.888 55.009s-63.631-22.446-72.909-55.009h-15.933c-33.649-0.143-62.321 24.33-67.564 57.549l-24.433 183.255h523.981c43.459 0 82.145 27.546 96.399 68.608l95.232 274.883c1.782 5.14 0.963 10.813-2.171 15.237-3.154 4.424-8.253 7.066-13.701 7.066h-748.483l-7.864 58.941c-0.020 0.143-0.020 0.287-0.061 0.41-7.66 49.684-50.504 86.262-100.762 86.057h-102.42c-9.277 0-16.794-7.516-16.794-16.794s7.496-16.773 16.773-16.794v0zM762.655 54.149c23.347 0 42.25-18.903 42.25-42.25 0-23.327-18.903-42.25-42.25-42.25s-42.25 18.924-42.25 42.25c0.020 23.306 18.944 42.23 42.25 42.25zM472.883 54.149c23.327 0 42.25-18.903 42.25-42.25 0-23.327-18.903-42.25-42.25-42.25s-42.25 18.924-42.25 42.25c0.041 23.306 18.944 42.23 42.25 42.25v0zM968.233 605.716l-87.511-252.58c-9.564-27.566-35.492-46.019-64.655-46.019h-528.466l-39.813 298.619h720.445z" />
12
+ <glyph unicode="&#xe902;" glyph-name="copyright-widget" d="M512-64c-282.312 0-512 229.688-512 512s229.688 512 512 512 512-229.688 512-512-229.688-512-512-512zM512 896c-247.032 0-448-200.968-448-448s200.968-448 448-448 448 200.968 448 448-200.968 448-448 448zM512 191.999c-141.156 0-256.001 114.843-256.001 256.001s114.843 256.001 256.001 256.001c69.406 0 134.344-27.313 182.906-76.906l-45.749-44.749c-36.405 37.188-85.093 57.657-137.157 57.657-105.876 0-192.001-86.125-192.001-192.001s86.125-192.001 192.001-192.001c52.032 0 100.72 20.469 137.157 57.657l45.687-44.814c-48.533-49.563-113.468-76.844-182.844-76.846z" />
13
+ <glyph unicode="&#xe903;" glyph-name="retina-image" d="M512 277.333c-94.123 0-170.667 76.544-170.667 170.667s76.544 170.667 170.667 170.667 170.667-76.544 170.667-170.667-76.544-170.667-170.667-170.667zM512 554.667c-58.795 0-106.667-47.872-106.667-106.667s47.872-106.667 106.667-106.667 106.667 47.872 106.667 106.667-47.872 106.667-106.667 106.667zM512 106.667c-202.88 0-392.747 121.728-507.861 325.589-5.504 9.771-5.504 21.675 0 31.445 115.115 203.904 304.981 325.632 507.861 325.632s392.747-121.728 507.861-325.589c5.504-9.771 5.504-21.675 0-31.445-115.115-203.904-304.981-325.632-507.861-325.632zM69.035 448c104.235-174.037 268.672-277.333 442.965-277.333s338.731 103.296 442.965 277.333c-104.235 174.037-268.672 277.333-442.965 277.333s-338.731-103.296-442.965-277.333zM992 603.819c-17.664 0-32 14.336-32 32v206.848c0 29.397-23.936 53.333-53.333 53.333h-206.848c-17.664 0-32 14.336-32 32s14.336 32 32 32h206.848c64.683 0 117.333-52.651 117.333-117.333v-206.848c0-17.664-14.336-32-32-32zM32 603.819c-17.664 0-32 14.336-32 32v206.848c0 64.683 52.651 117.333 117.333 117.333h206.848c17.664 0 32-14.336 32-32s-14.336-32-32-32h-206.848c-29.397 0-53.333-23.936-53.333-53.333v-206.848c0-17.664-14.336-32-32-32zM906.667-64h-206.848c-17.664 0-32 14.336-32 32s14.336 32 32 32h206.848c29.397 0 53.333 23.936 53.333 53.333v206.848c0 17.664 14.336 32 32 32s32-14.336 32-32v-206.848c0-64.683-52.651-117.333-117.333-117.333zM324.181-64h-206.848c-64.683 0-117.333 52.651-117.333 117.333v206.848c0 17.664 14.336 32 32 32s32-14.336 32-32v-206.848c0-29.397 23.936-53.333 53.333-53.333h206.848c17.664 0 32-14.336 32-32s-14.336-32-32-32z" />
14
+ <glyph unicode="&#xe904;" glyph-name="page-title" d="M553.613 952.083c-4.695 4.946-11.132 7.913-17.805 7.913h-399.462c-73.71 0-134.555-60.602-134.555-134.304v-755.383c0-73.712 60.845-134.312 134.555-134.312h542.175c73.71 0 134.555 60.6 134.555 134.312v599.803c0 6.429-2.968 12.609-7.172 17.314l-252.291 264.657zM560.785 872.683l168.938-177.344h-109.82c-32.65 0-59.117 26.217-59.117 58.867v118.477zM678.521-14.535h-542.175c-46.25 0-85.086 38.335-85.086 84.844v755.383c0 46.25 38.585 84.836 85.086 84.836h374.97v-156.321c0-60.101 48.485-108.336 108.586-108.336h143.705v-575.564c0-46.509-38.587-84.842-85.086-84.842zM300.571 417.609c7.633 0 13.879 6.242 13.879 13.879v16.795h61.069v-144.352h-25.953c-7.637 0-13.881-6.248-13.881-13.883 0-7.631 6.244-13.879 13.881-13.879h79.806c7.639 0 13.881 6.248 13.881 13.879 0 7.635-6.242 13.883-13.881 13.883h-26.093v144.348h61.075v-16.795c0-7.633 6.242-13.879 13.879-13.879 7.633 0 13.879 6.246 13.879 13.879v31.093c0 7.637-6.523 13.462-14.156 13.462h-177.11c-7.633 0-14.156-5.825-14.156-13.462v-31.093c-0.002-7.633 6.246-13.875 13.879-13.875z" />
15
+ <glyph unicode="&#xe905;" glyph-name="site-logo" d="M619.652 354.789l-53.825-61.702-112.904 160.165c-4.644 6.978-12.637 10.976-21.005 10.504-8.217-0.193-15.919-4.046-21.005-10.504l-173.292-233.682c-5.975-8.956-6.968-20.341-2.626-30.194 4.219-9.539 13.25-16.062 23.631-17.067h480.492c10.38 1.005 19.414 7.528 23.631 17.067 4.372 9.4 3.37 20.424-2.626 28.882l-99.774 133.908c-4.402 6.752-11.662 11.109-19.693 11.815-8.079 0.525-15.909-2.902-21.005-9.192zM526.441 224.821h-215.304l120.779 162.791 114.215-162.791h-19.69zM686.606 224.821h-76.144l-13.127 21.005 40.698 45.949 48.573-66.954zM573.702 426.995c44.228 0 80.081 35.853 80.081 80.081s-35.853 80.081-80.081 80.081-80.081-35.853-80.081-80.081v0c0-44.228 35.853-80.081 80.081-80.081zM546.134 507.076c0 15.225 12.343 27.568 27.568 27.568s27.568-12.343 27.568-27.568c0-15.225-12.343-27.568-27.568-27.568s-27.568 12.343-27.568 27.568c0 0 0 0 0 0zM911.099 675.119l-278.32 277.003c-4.847 4.948-11.453 7.777-18.379 7.878h-378.092c-72.505 0-131.282-58.777-131.282-131.282v-761.435c0-72.505 58.777-131.282 131.282-131.282h551.386c72.505 0 131.282 58.777 131.282 131.282v589.458c-0.101 6.923-2.932 13.529-7.878 18.379zM643.282 697.435v170.668l185.107-183.795h-171.98c-6.481-0.771-12.358 3.857-13.127 10.338-0.111 0.925-0.111 1.862 0 2.789zM866.461 67.282c0-43.502-35.267-78.769-78.769-78.769h-551.383c-43.502 0-78.769 35.265-78.769 78.769v761.435c0 43.502 35.265 78.769 78.769 78.769h354.461v-210.052c0-36.252 29.387-65.64 65.64-65.64h210.052v-564.513z" />
16
+ <glyph unicode="&#xe906;" glyph-name="site-tagline" d="M553.613 952.083c-4.695 4.946-11.132 7.913-17.805 7.913h-399.462c-73.71 0-134.555-60.602-134.555-134.304v-755.383c0-73.712 60.845-134.312 134.555-134.312h542.175c73.71 0 134.555 60.6 134.555 134.312v599.803c0 6.429-2.968 12.609-7.172 17.314l-252.291 264.657zM560.785 872.683l168.938-177.344h-109.82c-32.65 0-59.117 26.217-59.117 58.867v118.477zM678.521-14.535h-542.175c-46.25 0-85.086 38.335-85.086 84.844v755.383c0 46.25 38.585 84.836 85.086 84.836h374.97v-156.321c0-60.101 48.485-108.336 108.586-108.336h143.705v-575.564c0-46.509-38.587-84.842-85.086-84.842zM535.324 446.395h-354.679c-11.849 0-21.548-7.008-21.548-15.58 0-8.567 9.699-15.578 21.548-15.578h354.895c11.849 0 21.548 7.012 21.548 15.578 0 8.573-9.699 15.58-21.765 15.58zM535.324 352.211h-354.679c-11.849 0-21.548-7.008-21.548-15.58 0-8.567 9.699-15.578 21.548-15.578h354.895c11.849 0 21.548 7.012 21.548 15.578 0 8.573-9.699 15.58-21.765 15.58zM535.324 262.65h-354.679c-11.849 0-21.548-7.008-21.548-15.58 0-8.567 9.699-15.578 21.548-15.578h354.895c11.849 0 21.548 7.012 21.548 15.578 0 8.573-9.699 15.58-21.765 15.58zM178.859 677.192c8.016 0 14.576 6.555 14.576 14.574v17.636h64.131v-151.588h-27.255c-8.020 0-14.576-6.561-14.576-14.576s6.557-14.574 14.576-14.574h83.806c8.020 0 14.576 6.561 14.576 14.574 0 8.016-6.555 14.576-14.576 14.576h-27.402v151.584h64.135v-17.636c0-8.016 6.555-14.574 14.574-14.574 8.016 0 14.576 6.559 14.576 14.574v32.65c0 8.020-6.851 14.14-14.867 14.14h-185.985c-8.016 0-14.865-6.118-14.865-14.14v-32.65c-0.002-8.016 6.559-14.57 14.574-14.57z" />
17
+ <glyph unicode="&#xe907;" glyph-name="site-title" d="M659.821 954.086c-4.695 4.945-11.133 7.914-17.805 7.914h-399.462c-73.711 0-134.555-60.602-134.555-134.305v-755.384c0-73.711 60.844-134.313 134.555-134.313h542.173c73.711 0 134.555 60.602 134.555 134.313v599.806c0 6.43-2.969 12.609-7.172 17.313zM666.992 874.687l168.938-177.344h-109.821c-32.648 0-59.117 26.219-59.117 58.867zM784.727-12.533h-542.173c-46.25 0-85.086 38.336-85.086 84.844v755.384c0 46.25 38.586 84.836 85.086 84.836h374.969v-156.321c0-60.102 48.484-108.336 108.586-108.336h143.703v-575.564c0-46.508-38.586-84.844-85.086-84.844zM717.204 158.131h-407.126c-13.602 0-24.734-11.125-24.734-24.734 0-13.602 11.133-24.734 24.734-24.734h407.376c13.602 0 24.734 11.133 24.734 24.734 0 13.609-11.133 24.734-24.984 24.734zM355.343 504.171c13.602 0 24.734 11.125 24.734 24.734v29.93h108.828v-257.243h-46.25c-13.609 0-24.734-11.133-24.734-24.734s11.125-24.734 24.734-24.734h142.219c13.609 0 24.734 11.133 24.734 24.734s-11.125 24.734-24.734 24.734h-46.5v257.235h108.836v-29.93c0-13.602 11.125-24.734 24.734-24.734 13.602 0 24.734 11.133 24.734 24.734v55.406c0 13.609-11.625 23.992-25.227 23.992h-315.618c-13.602 0-25.227-10.383-25.227-23.992v-55.406c0-13.602 11.133-24.727 24.734-24.727z" />
18
</font></defs></svg>
assets/fonts/hfe.ttf CHANGED
Binary file
assets/fonts/hfe.woff CHANGED
Binary file
header-footer-elementor.php CHANGED
@@ -7,12 +7,12 @@
7
* Author URI: https://www.brainstormforce.com/
8
* Text Domain: header-footer-elementor
9
* Domain Path: /languages
10
- * Version: 1.3.1
11
*
12
* @package header-footer-elementor
13
*/
14
15
- define( 'HFE_VER', '1.3.1' );
16
define( 'HFE_DIR', plugin_dir_path( __FILE__ ) );
17
define( 'HFE_URL', plugins_url( '/', __FILE__ ) );
18
define( 'HFE_PATH', plugin_basename( __FILE__ ) );
7
* Author URI: https://www.brainstormforce.com/
8
* Text Domain: header-footer-elementor
9
* Domain Path: /languages
10
+ * Version: 1.4.0
11
*
12
* @package header-footer-elementor
13
*/
14
15
+ define( 'HFE_VER', '1.4.0' );
16
define( 'HFE_DIR', plugin_dir_path( __FILE__ ) );
17
define( 'HFE_URL', plugins_url( '/', __FILE__ ) );
18
define( 'HFE_PATH', plugin_basename( __FILE__ ) );
inc/class-header-footer-elementor.php CHANGED
@@ -70,6 +70,8 @@ class Header_Footer_Elementor {
70
require HFE_DIR . 'themes/oceanwp/class-hfe-oceanwp-compat.php';
71
} elseif ( 'storefront' == $this->template ) {
72
require HFE_DIR . 'themes/storefront/class-hfe-storefront-compat.php';
73
} else {
74
add_action( 'init', [ $this, 'setup_unsupported_theme' ] );
75
}
70
require HFE_DIR . 'themes/oceanwp/class-hfe-oceanwp-compat.php';
71
} elseif ( 'storefront' == $this->template ) {
72
require HFE_DIR . 'themes/storefront/class-hfe-storefront-compat.php';
73
+ } elseif ( 'hello-elementor' == $this->template ) {
74
+ require HFE_DIR . 'themes/hello-elementor/class-hfe-hello-elementor-compat.php';
75
} else {
76
add_action( 'init', [ $this, 'setup_unsupported_theme' ] );
77
}
inc/compatibility/class-hfe-wpml-compatibility.php CHANGED
@@ -46,6 +46,7 @@ class HFE_WPML_Compatibility {
46
private function __construct() {
47
add_filter( 'hfe_get_settings_type_header', [ $this, 'get_wpml_object' ] );
48
add_filter( 'hfe_get_settings_type_footer', [ $this, 'get_wpml_object' ] );
49
add_filter( 'hfe_render_template_id', [ $this, 'get_wpml_object' ] );
50
}
51
46
private function __construct() {
47
add_filter( 'hfe_get_settings_type_header', [ $this, 'get_wpml_object' ] );
48
add_filter( 'hfe_get_settings_type_footer', [ $this, 'get_wpml_object' ] );
49
+ add_filter( 'hfe_get_settings_type_before_footer', [ $this, 'get_wpml_object' ] );
50
add_filter( 'hfe_render_template_id', [ $this, 'get_wpml_object' ] );
51
}
52
inc/js/hfe-elementor-pro-compatibility.js ADDED
@@ -0,0 +1,37 @@
1
+ (function($){
2
+
3
+ EHF_EPRO_Compatibility = {
4
+
5
+ /**
6
+ * Binds events for the Elementor Header Footer.
7
+ *
8
+ * @since 1.4.0
9
+ * @access private
10
+ * @method _bind
11
+ */
12
+ init: function() {
13
+ elementor.on( "document:loaded", function() {
14
+ setTimeout( function() {
15
+ jQuery.each( elementorFrontend.documentsManager.documents, function ( index, document ) {
16
+ var $documentElement = document.$element;
17
+ var ids_array = JSON.parse( hfe_admin.ids_array );
18
+ ids_array.forEach( function( item, index ){
19
+ var elementor_id = $documentElement.data( 'elementor-id' );
20
+ if( elementor_id == ids_array[index].id ){
21
+ $documentElement.find( '.elementor-document-handle__title' ).text( elementor.translate('edit_element', [ids_array[index].value] ) );
22
+ }
23
+ } );
24
+ });
25
+ }, 1000 );
26
+ });
27
+ }
28
+ };
29
+
30
+ /**
31
+ * Initialize EHF_EPRO_Compatibility
32
+ */
33
+ $(function(){
34
+ EHF_EPRO_Compatibility.init();
35
+ });
36
+
37
+ })(jQuery);
inc/js/hfe-nav-menu.js CHANGED
@@ -12,7 +12,9 @@
12
var id = $scope.data( 'id' );
13
var wrapper = $scope.find('.elementor-widget-hfe-nav-menu ');
14
var layout = $( '.elementor-element-' + id + ' .hfe-nav-menu' ).data( 'layout' );
15
- var flyout_data = $( '.hfe-flyout-wrapper' ).data( 'flyout-class' );
16
17
$( 'div.hfe-has-submenu-container' ).removeClass( 'sub-menu-active' );
18
@@ -28,8 +30,6 @@
28
29
_eventClick( id );
30
}
31
-
32
- _borderClass( id );
33
34
$( '.elementor-element-' + id + ' .hfe-flyout-trigger .hfe-nav-menu-icon' ).off( 'click keyup' ).on( 'click keyup', function() {
35
@@ -55,6 +55,13 @@
55
$scope.find( parent ).removeClass( 'parent-has-no-child' );
56
});
57
58
$( window ).resize( function(){
59
60
if( 'horizontal' !== layout ) {
@@ -405,6 +412,10 @@
405
406
function _borderClass( id ){
407
408
$( '.elementor-element-' + id + ' nav').removeClass('hfe-dropdown');
409
410
if ( window.matchMedia( "( max-width: 767px )" ).matches ) {
@@ -412,20 +423,44 @@
412
if( $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-mobile') || $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-tablet')){
413
414
$( '.elementor-element-' + id + ' nav').addClass('hfe-dropdown');
415
}else{
416
417
$( '.elementor-element-' + id + ' nav').removeClass('hfe-dropdown');
418
}
419
}else if ( window.matchMedia( "( max-width: 1023px )" ).matches ) {
420
421
if( $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-tablet') ) {
422
423
$( '.elementor-element-' + id + ' nav').addClass('hfe-dropdown');
424
}else{
425
426
$( '.elementor-element-' + id + ' nav').removeClass('hfe-dropdown');
427
}
428
}
429
}
430
431
function _toggleClick( id ){
12
var id = $scope.data( 'id' );
13
var wrapper = $scope.find('.elementor-widget-hfe-nav-menu ');
14
var layout = $( '.elementor-element-' + id + ' .hfe-nav-menu' ).data( 'layout' );
15
+ var flyout_data = $( '.elementor-element-' + id + ' .hfe-flyout-wrapper' ).data( 'flyout-class' );
16
+ var last_item = $( '.elementor-element-' + id + ' .hfe-nav-menu' ).data( 'last-item' );
17
+ var last_item_flyout = $( '.elementor-element-' + id + ' .hfe-flyout-wrapper' ).data( 'last-item' );
18
19
$( 'div.hfe-has-submenu-container' ).removeClass( 'sub-menu-active' );
20
30
31
_eventClick( id );
32
}
33
34
$( '.elementor-element-' + id + ' .hfe-flyout-trigger .hfe-nav-menu-icon' ).off( 'click keyup' ).on( 'click keyup', function() {
35
55
$scope.find( parent ).removeClass( 'parent-has-no-child' );
56
});
57
58
+ if( ( 'cta' == last_item || 'cta' == last_item_flyout ) && 'expandible' != layout ){
59
+ $( '.elementor-element-' + id + ' li.menu-item:last-child a.hfe-menu-item' ).parent().addClass( 'elementor-button-wrapper' );
60
+ $( '.elementor-element-' + id + ' li.menu-item:last-child a.hfe-menu-item' ).addClass( 'elementor-button' );
61
+ }
62
+
63
+ _borderClass( id );
64
+
65
$( window ).resize( function(){
66
67
if( 'horizontal' !== layout ) {
412
413
function _borderClass( id ){
414
415
+ var last_item = $( '.elementor-element-' + id + ' .hfe-nav-menu' ).data( 'last-item' );
416
+ var last_item_flyout = $( '.elementor-element-' + id + ' .hfe-flyout-wrapper' ).data( 'last-item' );
417
+ var layout = $( '.elementor-element-' + id + ' .hfe-nav-menu' ).data( 'layout' );
418
+
419
$( '.elementor-element-' + id + ' nav').removeClass('hfe-dropdown');
420
421
if ( window.matchMedia( "( max-width: 767px )" ).matches ) {
423
if( $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-mobile') || $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-tablet')){
424
425
$( '.elementor-element-' + id + ' nav').addClass('hfe-dropdown');
426
+ if( ( 'cta' == last_item || 'cta' == last_item_flyout ) && 'expandible' != layout ){
427
+ $( '.elementor-element-' + id + ' li.menu-item:last-child a.hfe-menu-item' ).parent().removeClass( 'elementor-button-wrapper' );
428
+ $( '.elementor-element-' + id + ' li.menu-item:last-child a.hfe-menu-item' ).removeClass( 'elementor-button' );
429
+ }
430
}else{
431
432
$( '.elementor-element-' + id + ' nav').removeClass('hfe-dropdown');
433
+ if( ( 'cta' == last_item || 'cta' == last_item_flyout ) && 'expandible' != layout ){
434
+ $( '.elementor-element-' + id + ' li.menu-item:last-child a.hfe-menu-item' ).parent().addClass( 'elementor-button-wrapper' );
435
+ $( '.elementor-element-' + id + ' li.menu-item:last-child a.hfe-menu-item' ).addClass( 'elementor-button' );
436
+ }
437
}
438
}else if ( window.matchMedia( "( max-width: 1023px )" ).matches ) {
439
440
if( $( '.elementor-element-' + id ).hasClass('hfe-nav-menu__breakpoint-tablet') ) {
441
442
$( '.elementor-element-' + id + ' nav').addClass('hfe-dropdown');
443
+ if( ( 'cta' == last_item || 'cta' == last_item_flyout ) && 'expandible' != layout ){
444
+ $( '.elementor-element-' + id + ' li.menu-item:last-child a.hfe-menu-item' ).parent().removeClass( 'elementor-button-wrapper' );
445
+ $( '.elementor-element-' + id + ' li.menu-item:last-child a.hfe-menu-item' ).removeClass( 'elementor-button' );
446
+ }
447
}else{
448
449
$( '.elementor-element-' + id + ' nav').removeClass('hfe-dropdown');
450
+ if( ( 'cta' == last_item || 'cta' == last_item_flyout ) && 'expandible' != layout ){
451
+ $( '.elementor-element-' + id + ' li.menu-item:last-child a.hfe-menu-item' ).parent().addClass( 'elementor-button-wrapper' );
452
+ $( '.elementor-element-' + id + ' li.menu-item:last-child a.hfe-menu-item' ).addClass( 'elementor-button' );
453
+ }
454
}
455
}
456
+
457
+ var layout = $( '.elementor-element-' + id + ' .hfe-nav-menu' ).data( 'layout' );
458
+ if( 'expandible' == layout ){
459
+ if( ( 'cta' == last_item || 'cta' == last_item_flyout ) && 'expandible' != layout ){
460
+ $( '.elementor-element-' + id + ' li.menu-item:last-child a.hfe-menu-item' ).parent().removeClass( 'elementor-button-wrapper' );
461
+ $( '.elementor-element-' + id + ' li.menu-item:last-child a.hfe-menu-item' ).removeClass( 'elementor-button' );
462
+ }
463
+ }
464
}
465
466
function _toggleClick( id ){
inc/widgets-css/frontend.css CHANGED
@@ -135,7 +135,15 @@ div.hfe-nav-menu,
135
-webkit-justify-content: flex-end;
136
-moz-box-pack: end;
137
justify-content: flex-end; }
138
-
139
.hfe-nav-menu__align-left .hfe-nav-menu {
140
margin-right: auto;
141
-webkit-box-pack: start;
@@ -162,14 +170,14 @@ div.hfe-nav-menu,
162
justify-content: center; }
163
164
.hfe-nav-menu__align-center .hfe-nav-menu__layout-vertical li a.hfe-menu-item,
165
- .hfe-nav-menu__align-center .hfe-nav-menu__layout-vertical li a.hfe-sub-menu-item{
166
-webkit-box-pack: center;
167
-ms-flex-pack: center;
168
-webkit-justify-content: center;
169
-moz-box-pack: center;
170
justify-content: center; }
171
172
- .hfe-nav-menu__layout-horizontal .hfe-nav-menu{
173
-js-display: flex;
174
display: -webkit-box;
175
display: -webkit-flex;
@@ -904,11 +912,25 @@ div.hfe-nav-menu,
904
-webkit-backface-visibility: hidden;
905
}
906
907
- .hfe-flyout-animating,
908
- .hfe-side,
909
- .hfe-flyout-overlay {
910
- -webkit-transition: all 0.3s;
911
- transition: all 0.3s;
912
}
913
914
.hfe-flyout-close {
@@ -1079,6 +1101,14 @@ div.hfe-nav-menu,
1079
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
1080
}
1081
1082
/* Tablet */
1083
@media only screen and ( max-width: 1023px ) {
1084
@@ -1267,7 +1297,8 @@ div.hfe-nav-menu,
1267
}
1268
1269
.hfe-nav-menu__breakpoint-tablet.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li a.hfe-menu-item,
1270
- .hfe-nav-menu__breakpoint-tablet.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li a.hfe-sub-menu-item {
1271
-webkit-box-pack: justify;
1272
-webkit-justify-content: space-between;
1273
-moz-box-pack: justify;
@@ -1280,7 +1311,8 @@ div.hfe-nav-menu,
1280
@media only screen and ( max-width: 767px ) {
1281
1282
.hfe-nav-menu__breakpoint-mobile.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li a.hfe-menu-item,
1283
- .hfe-nav-menu__breakpoint-mobile.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li a.hfe-sub-menu-item {
1284
-webkit-box-pack: justify;
1285
-webkit-justify-content: space-between;
1286
-moz-box-pack: justify;
@@ -1555,4 +1587,158 @@ div.hfe-nav-menu,
1555
1556
.hfe-icon {
1557
display: inline-block;
1558
- }
135
-webkit-justify-content: flex-end;
136
-moz-box-pack: end;
137
justify-content: flex-end; }
138
+ .hfe-nav-menu__align-right .hfe-nav-menu__layout-vertical li.elementor-button-wrapper{
139
+ text-align: right;
140
+ }
141
+ .hfe-nav-menu__align-left .hfe-nav-menu__layout-vertical li.elementor-button-wrapper{
142
+ text-align: left;
143
+ }
144
+ .hfe-nav-menu__align-center .hfe-nav-menu__layout-vertical li.elementor-button-wrapper{
145
+ text-align: center;
146
+ }
147
.hfe-nav-menu__align-left .hfe-nav-menu {
148
margin-right: auto;
149
-webkit-box-pack: start;
170
justify-content: center; }
171
172
.hfe-nav-menu__align-center .hfe-nav-menu__layout-vertical li a.hfe-menu-item,
173
+ .hfe-nav-menu__align-center .hfe-nav-menu__layout-vertical li a.hfe-sub-menu-item {
174
-webkit-box-pack: center;
175
-ms-flex-pack: center;
176
-webkit-justify-content: center;
177
-moz-box-pack: center;
178
justify-content: center; }
179
180
+ .hfe-nav-menu__layout-horizontal .hfe-nav-menu {
181
-js-display: flex;
182
display: -webkit-box;
183
display: -webkit-flex;
912
-webkit-backface-visibility: hidden;
913
}
914
915
+ /* No link hover effect to last menu item */
916
+
917
+ .hfe-pointer__underline .menu-item.parent a.hfe-menu-item.elementor-button:after,
918
+ .hfe-pointer__overline .menu-item.parent a.hfe-menu-item.elementor-button:before,
919
+ .hfe-pointer__double-line .menu-item.parent a.hfe-menu-item.elementor-button:after,
920
+ .hfe-pointer__double-line .menu-item.parent a.hfe-menu-item.elementor-button:before {
921
+ height: 0px;
922
+ }
923
+
924
+ .hfe-pointer__framed .menu-item.parent a.hfe-menu-item.elementor-button:before,
925
+ .hfe-pointer__framed .menu-item.parent a.hfe-menu-item.elementor-button:after{
926
+ border-width: 0px;
927
+ }
928
+
929
+ .hfe-pointer__text.hfe-animation__grow .menu-item.parent a.hfe-menu-item.elementor-button:hover,
930
+ .hfe-pointer__text.hfe-animation__grow .menu-item.parent a.hfe-menu-item.elementor-button:focus
931
+ {
932
+ -webkit-transform: none;
933
+ transform: none;
934
}
935
936
.hfe-flyout-close {
1101
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
1102
}
1103
1104
+ a.hfe-menu-item.elementor-button {
1105
+ display: inline-flex;
1106
+ }
1107
+
1108
+ .hfe-nav-menu li.elementor-button-wrapper {
1109
+ align-self: center;
1110
+ }
1111
+
1112
/* Tablet */
1113
@media only screen and ( max-width: 1023px ) {
1114
1297
}
1298
1299
.hfe-nav-menu__breakpoint-tablet.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li a.hfe-menu-item,
1300
+ .hfe-nav-menu__breakpoint-tablet.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li a.hfe-sub-menu-item,
1301
+ .hfe-nav-menu__breakpoint-tablet.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li.elementor-button-wrapper {
1302
-webkit-box-pack: justify;
1303
-webkit-justify-content: space-between;
1304
-moz-box-pack: justify;
1311
@media only screen and ( max-width: 767px ) {
1312
1313
.hfe-nav-menu__breakpoint-mobile.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li a.hfe-menu-item,
1314
+ .hfe-nav-menu__breakpoint-mobile.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li a.hfe-sub-menu-item
1315
+ .hfe-nav-menu__breakpoint-tablet.hfe-nav-menu__align-justify .hfe-nav-menu__layout-horizontal .hfe-nav-menu li.elementor-button-wrapper {
1316
-webkit-box-pack: justify;
1317
-webkit-justify-content: space-between;
1318
-moz-box-pack: justify;
1587
1588
.hfe-icon {
1589
display: inline-block;
1590
+ }
1591
+
1592
+ /* Menu Cart CSS */
1593
+
1594
+ .hfe-cart-menu-wrap-custom {
1595
+ display: inline-block;
1596
+ line-height: 1;
1597
+ }
1598
+
1599
+ .hfe-cart-menu-wrap-custom .count,
1600
+ .hfe-cart-menu-wrap-custom .count:after {
1601
+ border-color: #75c32c;
1602
+ color: #75c32c;
1603
+ }
1604
+
1605
+ .hfe-cart-menu-wrap-custom .count {
1606
+ font-weight: bold;
1607
+ position: relative;
1608
+ display: inline-block;
1609
+ vertical-align: middle;
1610
+ text-align: center;
1611
+ min-width: 2.1em;
1612
+ min-height: 2.1em;
1613
+ font-size: 0.860em;
1614
+ line-height: 1.8;
1615
+ border-radius: 0.3em 0.3em 0.3em 0.3em;
1616
+ border-width: 2px;
1617
+ border-style: solid;
1618
+ padding: 12px 24px;
1619
+ }
1620
+
1621
+ /* Default skin for cart*/
1622
+ .hfe-cart-menu-wrap-default {
1623
+ display: inline-block;
1624
+ line-height: 1;
1625
+ }
1626
+
1627
+ .hfe-cart-menu-wrap-default .count,
1628
+ .hfe-cart-menu-wrap-default .count:after {
1629
+ border-color: #75c32c;
1630
+ color: #75c32c;
1631
+ }
1632
+
1633
+ .hfe-cart-menu-wrap-default .count {
1634
+ font-weight: bold;
1635
+ position: relative;
1636
+ display: inline-block;
1637
+ vertical-align: middle;
1638
+ text-align: center;
1639
+ min-width: 2.1em;
1640
+ min-height: 2.1em;
1641
+ font-size: 0.860em;
1642
+ line-height: 1.8;
1643
+ border-radius: 0em 0em 0.3em 0.3em;
1644
+ border-width: 2px;
1645
+ border-style: solid;
1646
+ padding: 0 .4em;
1647
+ }
1648
+
1649
+ .hfe-cart-menu-wrap-default .count:after {
1650
+ bottom: 100%;
1651
+ margin-bottom: 0;
1652
+ height: .8em;
1653
+ width: .8em;
1654
+ left: 50%;
1655
+ transform: translateX(-50%);
1656
+ top: -.6em;
1657
+ content: ' ';
1658
+ position: absolute;
1659
+ pointer-events: none;
1660
+ border-width: 2px;
1661
+ border-style: solid;
1662
+ border-top-left-radius: 10em;
1663
+ border-top-right-radius: 10em;
1664
+ border-bottom: 0;
1665
+ }
1666
+
1667
+ .elementor-widget-hfe-cart:not(.hfe-menu-cart--show-subtotal-yes) .hfe-menu-cart__toggle .elementor-button-text {
1668
+ display: none;
1669
+ }
1670
+
1671
+ .elementor-widget-hfe-cart.toggle-icon--bag-light .hfe-menu-cart__toggle .elementor-button-icon i:before {
1672
+ content: '\e8e3';
1673
+ }
1674
+
1675
+ .elementor-widget-hfe-cart.toggle-icon--bag-medium .hfe-menu-cart__toggle .elementor-button-icon i:before {
1676
+ content: '\e8e4';
1677
+ }
1678
+
1679
+ .elementor-widget-hfe-cart.toggle-icon--bag-solid .hfe-menu-cart__toggle .elementor-button-icon i:before {
1680
+ content: '\e8e5';
1681
+ }
1682
+
1683
+ .hfe-menu-cart__toggle .elementor-button {
1684
+ background: transparent;
1685
+ border-radius: 0;
1686
+ color: #818a91;
1687
+ border: 1px solid;
1688
+ border-color: inherit;
1689
+ display: -webkit-inline-box;
1690
+ display: -ms-inline-flexbox;
1691
+ display: inline-flex;
1692
+ -webkit-box-align: center;
1693
+ -ms-flex-align: center;
1694
+ align-items: center;
1695
+ }
1696
+
1697
+ .hfe-menu-cart__toggle .elementor-button-text {
1698
+ margin-right: 0.3em; }
1699
+
1700
+ .hfe-menu-cart__toggle .elementor-button-icon {
1701
+ position: relative;
1702
+ -webkit-transition: color 0.1s;
1703
+ -o-transition: color 0.1s;
1704
+ transition: color 0.1s;
1705
+ }
1706
+
1707
+ .hfe-menu-cart--items-indicator-bubble .hfe-menu-cart__toggle .elementor-button-icon[data-counter]:before {
1708
+ content: attr(data-counter);
1709
+ display: block;
1710
+ position: absolute;
1711
+ min-width: 1.6em;
1712
+ height: 1.6em;
1713
+ line-height: 1.5em;
1714
+ top: -0.7em;
1715
+ right: -0.7em;
1716
+ border-radius: 100%;
1717
+ color: #fff;
1718
+ background-color: #d9534f;
1719
+ text-align: center;
1720
+ font-size: 10px;
1721
+ }
1722
+
1723
+ .hfe-menu-cart--items-indicator-plain .hfe-menu-cart__toggle .elementor-button-icon[data-counter]:before {
1724
+ content: attr(data-counter);
1725
+ display: inline-block;
1726
+ font-weight: normal;
1727
+ }
1728
+
1729
+ .hfe-menu-cart--empty-indicator-hide .hfe-menu-cart__toggle .elementor-button .elementor-button-icon[data-counter]:before {
1730
+ content: none;
1731
+ display: none;
1732
+ }
1733
+
1734
+ .hfe-menu-cart__toggle .elementor-button-icon {
1735
+ -webkit-box-ordinal-group: 16;
1736
+ -webkit-order: 15;
1737
+ -ms-flex-order: 15;
1738
+ order: 15;
1739
+ }
1740
+
1741
+ .hfe-menu-cart__toggle.elementor-button-wrapper .elementor-button {
1742
+ color:#4d4848;
1743
+ }
1744
+
inc/widgets-manager/class-widgets-loader.php CHANGED
@@ -93,6 +93,7 @@ class Widgets_Loader {
93
'page-title',
94
'site-tagline',
95
'site-logo',
96
];
97
98
return $widget_list;
@@ -107,7 +108,6 @@ class Widgets_Loader {
107
* @access public
108
*/
109
public function include_widgets_files() {
110
-
111
$js_files = $this->get_widget_script();
112
$widget_list = $this->get_widget_list();
113
@@ -119,7 +119,6 @@ class Widgets_Loader {
119
120
if ( ! empty( $js_files ) ) {
121
foreach ( $js_files as $handle => $data ) {
122
-
123
wp_register_script( $handle, HFE_URL . $data['path'], $data['dep'], HFE_VER, $data['in_footer'] );
124
}
125
}
@@ -181,6 +180,10 @@ class Widgets_Loader {
181
Plugin::instance()->widgets_manager->register_widget_type( new Widgets\Site_Title() );
182
Plugin::instance()->widgets_manager->register_widget_type( new Widgets\Site_Tagline() );
183
Plugin::instance()->widgets_manager->register_widget_type( new Widgets\Site_Logo() );
184
}
185
}
186
93
'page-title',
94
'site-tagline',
95
'site-logo',
96
+ 'cart',
97
];
98
99
return $widget_list;
108
* @access public
109
*/
110
public function include_widgets_files() {
111
$js_files = $this->get_widget_script();
112
$widget_list = $this->get_widget_list();
113
119
120
if ( ! empty( $js_files ) ) {
121
foreach ( $js_files as $handle => $data ) {
122
wp_register_script( $handle, HFE_URL . $data['path'], $data['dep'], HFE_VER, $data['in_footer'] );
123
}
124
}
180
Plugin::instance()->widgets_manager->register_widget_type( new Widgets\Site_Title() );
181
Plugin::instance()->widgets_manager->register_widget_type( new Widgets\Site_Tagline() );
182
Plugin::instance()->widgets_manager->register_widget_type( new Widgets\Site_Logo() );
183
+
184
+ if ( class_exists( 'woocommerce' ) ) {
185
+ Plugin::instance()->widgets_manager->register_widget_type( new Widgets\Cart() );
186
+ }
187
}
188
}
189
inc/widgets-manager/widgets/class-cart.php ADDED
@@ -0,0 +1,625 @@
1
+ <?php
2
+ /**
3
+ * Elementor Classes.
4
+ *
5
+ * @package header-footer-elementor
6
+ */
7
+
8
+ namespace HFE\WidgetsManager\Widgets;
9
+
10
+ use Elementor\Controls_Manager;
11
+ use Elementor\Group_Control_Typography;
12
+ use Elementor\Scheme_Typography;
13
+ use Elementor\Widget_Base;
14
+ use Elementor\Group_Control_Text_Shadow;
15
+ use Elementor\Scheme_Color;
16
+ use Elementor\Core\Schemes;
17
+ use Elementor\Group_Control_Border;
18
+
19
+ if ( ! defined( 'ABSPATH' ) ) {
20
+ exit; // Exit if accessed directly.
21
+ }
22
+
23
+ /**
24
+ * HFE Cart Widget
25
+ *
26
+ * @since 1.4.0
27
+ */
28
+ class Cart extends Widget_Base {
29
+
30
+ /**
31
+ * Retrieve the widget name.
32
+ *
33
+ * @since 1.4.0
34
+ *
35
+ * @access public
36
+ *
37
+ * @return string Widget name.
38
+ */
39
+ public function get_name() {
40
+ return 'hfe-cart';
41
+ }
42
+
43
+ /**
44
+ * Retrieve the widget title.
45
+ *
46
+ * @since 1.4.0
47
+ *
48
+ * @access public
49
+ *
50
+ * @return string Widget title.
51
+ */
52
+ public function get_title() {
53
+ return __( 'Cart', 'header-footer-elementor' );
54
+ }
55
+
56
+ /**
57
+ * Retrieve the widget icon.
58
+ *
59
+ * @since 1.4.0
60
+ *
61
+ * @access public
62
+ *
63
+ * @return string Widget icon.
64
+ */
65
+ public function get_icon() {
66
+ return 'hfe-icon-menu-cart';
67
+ }
68
+
69
+ /**
70
+ * Retrieve the list of categories the widget belongs to.
71
+ *
72
+ * Used to determine where to display the widget in the editor.
73
+ *
74
+ * Note that currently Elementor supports only one category.
75
+ * When multiple categories passed, Elementor uses the first one.
76
+ *
77
+ * @since 1.4.0
78
+ *
79
+ * @access public
80
+ *
81
+ * @return array Widget categories.
82
+ */
83
+ public function get_categories() {
84
+ return [ 'hfe-widgets' ];
85
+ }
86
+
87
+ /**
88
+ * Register cart controls controls.
89
+ *
90
+ * @since 1.4.0
91
+ * @access protected
92
+ */
93
+ protected function _register_controls() {
94
+
95
+ $this->register_general_content_controls();
96
+ $this->register_cart_typo_content_controls();
97
+ }
98
+
99
+ /**
100
+ * Register Menu Cart General Controls.
101
+ *
102
+ * @since 1.4.0
103
+ * @access protected
104
+ */
105
+ protected function register_general_content_controls() {
106
+
107
+ $this->start_controls_section(
108
+ 'section_general_fields',
109
+ [
110
+ 'label' => __( 'Menu Cart', 'header-footer-elementor' ),
111
+ ]
112
+ );
113
+
114
+ $this->add_control(
115
+ 'hfe_cart_type',
116
+ [
117
+ 'label' => __( 'Type', 'header-footer-elementor' ),
118
+ 'type' => Controls_Manager::SELECT,
119
+ 'default' => 'default',
120
+ 'options' => [
121
+ 'default' => __( 'Default', 'header-footer-elementor' ),
122
+ 'custom' => __( 'Custom', 'header-footer-elementor' ),
123
+ ],
124
+ ]
125
+ );
126
+
127
+ $this->add_control(
128
+ 'icon',
129
+ [
130
+ 'label' => __( 'Icon', 'header-footer-elementor' ),
131
+ 'type' => Controls_Manager::SELECT,
132
+ 'options' => [
133
+ 'bag-light' => __( 'Bag Light', 'header-footer-elementor' ),
134
+ 'bag-medium' => __( 'Bag Medium', 'header-footer-elementor' ),
135
+ 'bag-solid' => __( 'Bag Solid', 'header-footer-elementor' ),
136
+ ],
137
+ 'default' => 'bag-light',
138
+ 'prefix_class' => 'toggle-icon--',
139
+ 'condition' => [
140
+ 'hfe_cart_type' => 'custom',
141
+ ],
142
+ ]
143
+ );
144
+
145
+ $this->add_control(
146
+ 'items_indicator',
147
+ [
148
+ 'label' => __( 'Items Count', 'header-footer-elementor' ),
149
+ 'type' => Controls_Manager::SELECT,
150
+ 'options' => [
151
+ 'none' => __( 'None', 'header-footer-elementor' ),
152
+ 'bubble' => __( 'Bubble', 'header-footer-elementor' ),
153
+ ],
154
+ 'prefix_class' => 'hfe-menu-cart--items-indicator-',
155
+ 'default' => 'bubble',
156
+ 'condition' => [
157
+ 'hfe_cart_type' => 'custom',
158
+ ],
159
+ ]
160
+ );
161
+
162
+ $this->add_control(
163
+ 'show_subtotal',
164
+ [
165
+ 'label' => __( 'Show Total Price', 'header-footer-elementor' ),
166
+ 'type' => Controls_Manager::SWITCHER,
167
+ 'label_on' => __( 'Yes', 'header-footer-elementor' ),
168
+ 'label_off' => __( 'No', 'header-footer-elementor' ),
169
+ 'return_value' => 'yes',
170
+ 'default' => 'yes',
171
+ 'prefix_class' => 'hfe-menu-cart--show-subtotal-',
172
+ 'condition' => [
173
+ 'hfe_cart_type' => 'custom',
174
+ ],
175
+ ]
176
+ );
177
+
178
+ $this->add_control(
179
+ 'hide_empty_indicator',
180
+ [
181
+ 'label' => __( 'Hide Empty', 'header-footer-elementor' ),
182
+ 'type' => Controls_Manager::SWITCHER,
183
+ 'label_on' => __( 'Yes', 'header-footer-elementor' ),
184
+ 'label_off' => __( 'No', 'header-footer-elementor' ),
185
+ 'return_value' => 'hide',
186
+ 'prefix_class' => 'hfe-menu-cart--empty-indicator-',
187
+ 'description' => __( 'This will hide the items count until the cart is empty', 'header-footer-elementor' ),
188
+ 'condition' => [
189
+ 'items_indicator!' => 'none',
190
+ 'hfe_cart_type' => 'custom',
191
+ ],
192
+ ]
193
+ );
194
+
195
+ $this->add_responsive_control(
196
+ 'align',
197
+ [
198
+ 'label' => __( 'Alignment', 'header-footer-elementor' ),
199
+ 'type' => Controls_Manager::CHOOSE,
200
+ 'options' => [
201
+ 'left' => [
202
+ 'title' => __( 'Left', 'header-footer-elementor' ),
203
+ 'icon' => 'eicon-text-align-left',
204
+ ],
205
+ 'center' => [
206
+ 'title' => __( 'Center', 'header-footer-elementor' ),
207
+ 'icon' => 'eicon-text-align-center',
208
+ ],
209
+ 'right' => [
210
+ 'title' => __( 'Right', 'header-footer-elementor' ),
211
+ 'icon' => 'eicon-text-align-right',
212
+ ],
213
+ ],
214
+ 'prefix_class' => 'elementor%s-align-',
215
+ 'default' => '',
216
+ ]
217
+ );
218
+
219
+ $this->end_controls_section();
220
+ }
221
+
222
+
223
+ /**
224
+ * Register Menu Cart Typography Controls.
225
+ *
226
+ * @since 1.4.0
227
+ * @access protected
228
+ */
229
+ protected function register_cart_typo_content_controls() {
230
+ $this->start_controls_section(
231
+ 'section_heading_typography',
232
+ [
233
+ 'label' => __( 'Menu Cart', 'header-footer-elementor' ),
234
+ 'tab' => Controls_Manager::TAB_STYLE,
235
+ ]
236
+ );
237
+
238
+ $this->add_group_control(
239
+ Group_Control_Typography::get_type(),
240
+ [
241
+ 'name' => 'toggle_button_typography',
242
+ 'scheme' => Schemes\Typography::TYPOGRAPHY_1,
243
+ 'selector' => '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button',
244
+ 'condition' => [
245
+ 'hfe_cart_type' => 'custom',
246
+ ],
247
+ ]
248
+ );
249
+ $this->add_control(
250
+ 'icon_size',
251
+ [
252
+ 'label' => __( 'Size', 'header-footer-elementor' ),
253
+ 'type' => Controls_Manager::SLIDER,
254
+ 'range' => [
255
+ 'px' => [
256
+ 'min' => 15,
257
+ 'max' => 30,
258
+ ],
259
+ ],
260
+ 'selectors' => [
261
+ '{{WRAPPER}} .hfe-masthead-custom-menu-items .hfe-site-header-cart .hfe-site-header-cart-li ' => 'font-size: {{SIZE}}{{UNIT}};',
262
+ ],
263
+ 'condition' => [
264
+ 'hfe_cart_type' => 'default',
265
+ ],
266
+ ]
267
+ );
268
+ $this->add_control(
269
+ 'toggle_button_border_width',
270
+ [
271
+ 'label' => __( 'Border Width', 'header-footer-elementor' ),
272
+ 'type' => Controls_Manager::DIMENSIONS,
273
+ 'size_units' => [ 'px' ],
274
+ 'default' => [
275
+ 'top' => '1',
276
+ 'bottom' => '1',
277
+ 'left' => '1',
278
+ 'right' => '1',
279
+ 'unit' => 'px',
280
+ ],
281
+ 'selectors' => [
282
+ '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button,{{WRAPPER}} .hfe-cart-menu-wrap-default .count:after,.hfe-cart-menu-wrap-default .count' => 'border-width: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
283
+ ],
284
+ ]
285
+ );
286
+
287
+ $this->add_control(
288
+ 'toggle_button_border_radius',
289
+ [
290
+ 'label' => __( 'Border Radius', 'header-footer-elementor' ),
291
+ 'type' => Controls_Manager::DIMENSIONS,
292
+ 'default' => [
293
+ 'top' => '',
294
+ 'bottom' => '',
295
+ 'left' => '',
296
+ 'right' => '',
297
+ 'unit' => 'px',
298
+ ],
299
+ 'size_units' => [ 'px', 'em', '%' ],
300
+ 'selectors' => [
301
+ '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button,{{WRAPPER}} .hfe-cart-menu-wrap-default .count:after,.hfe-cart-menu-wrap-default .count' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
302
+ ],
303
+
304
+ ]
305
+ );
306
+
307
+ $this->add_responsive_control(
308
+ 'toggle_button_padding',
309
+ [
310
+ 'label' => __( 'Padding', 'header-footer-elementor' ),
311
+ 'type' => Controls_Manager::DIMENSIONS,
312
+ 'size_units' => [ 'px', 'em' ],
313
+ 'selectors' => [
314
+ '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}}',
315
+ ],
316
+ 'condition' => [
317
+ 'hfe_cart_type' => 'custom',
318
+ ],
319
+ ]
320
+ );
321
+
322
+ $this->start_controls_tabs( 'toggle_button_colors' );
323
+
324
+ $this->start_controls_tab(
325
+ 'toggle_button_normal_colors',
326
+ [
327
+ 'label' => __( 'Normal', 'header-footer-elementor' ),
328
+ ]
329
+ );
330
+
331
+ $this->add_control(
332
+ 'toggle_button_text_color',
333
+ [
334
+ 'label' => __( 'Text Color', 'header-footer-elementor' ),
335
+ 'type' => Controls_Manager::COLOR,
336
+ 'selectors' => [
337
+ '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button,{{WRAPPER}} .hfe-cart-menu-wrap-default span.count' => 'color: {{VALUE}}',
338
+ ],
339
+ ]
340
+ );
341
+
342
+ $this->add_control(
343
+ 'toggle_button_icon_color',
344
+ [
345
+ 'label' => __( 'Icon Color', 'header-footer-elementor' ),
346
+ 'type' => Controls_Manager::COLOR,
347
+ 'selectors' => [
348
+ '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button-icon' => 'color: {{VALUE}}',
349
+ ],
350
+ 'condition' => [
351
+ 'hfe_cart_type' => 'custom',
352
+ ],
353
+ ]
354
+ );
355
+
356
+ $this->add_control(
357
+ 'toggle_button_background_color',
358
+ [
359
+ 'label' => __( 'Background Color', 'header-footer-elementor' ),
360
+ 'type' => Controls_Manager::COLOR,
361
+ 'selectors' => [
362
+ '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button,{{WRAPPER}} .hfe-cart-menu-wrap-default span.count' => 'background-color: {{VALUE}}',
363
+ ],
364
+ ]
365
+ );
366
+
367
+ $this->add_control(
368
+ 'toggle_button_border_color',
369
+ [
370
+ 'label' => __( 'Border Color', 'header-footer-elementor' ),
371
+ 'type' => Controls_Manager::COLOR,
372
+ 'selectors' => [
373
+ '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button,{{WRAPPER}} .hfe-cart-menu-wrap-default .count:after,.hfe-cart-menu-wrap-default .count' => 'border-color: {{VALUE}}',
374
+ ],
375
+ ]
376
+ );
377
+
378
+ $this->end_controls_tab();
379
+
380
+ $this->start_controls_tab(
381
+ 'toggle_button_hover_colors',
382
+ [
383
+ 'label' => __( 'Hover', 'header-footer-elementor' ),
384
+ ]
385
+ );
386
+
387
+ $this->add_control(
388
+ 'toggle_button_hover_text_color',
389
+ [
390
+ 'label' => __( 'Text Color', 'header-footer-elementor' ),
391
+ 'type' => Controls_Manager::COLOR,
392
+ 'selectors' => [
393
+ '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button:hover,{{WRAPPER}} .hfe-cart-menu-wrap-default span.count:hover' => 'color: {{VALUE}}',
394
+ ],
395
+ ]
396
+ );
397
+
398
+ $this->add_control(
399
+ 'toggle_button_hover_icon_color',
400
+ [
401
+ 'label' => __( 'Icon Color', 'header-footer-elementor' ),
402
+ 'type' => Controls_Manager::COLOR,
403
+ 'selectors' => [
404
+ '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button:hover .elementor-button-icon' => 'color: {{VALUE}}',
405
+ ],
406
+ 'condition' => [
407
+ 'hfe_cart_type' => 'custom',
408
+ ],
409
+ ]
410
+ );
411
+
412
+ $this->add_control(
413
+ 'toggle_button_hover_background_color',
414
+ [
415
+ 'label' => __( 'Background Color', 'header-footer-elementor' ),
416
+ 'type' => Controls_Manager::COLOR,
417
+ 'selectors' => [
418
+ '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button:hover,{{WRAPPER}} .hfe-cart-menu-wrap-default span.count:hover' => 'background-color: {{VALUE}}',
419
+ ],
420
+ ]
421
+ );
422
+
423
+ $this->add_control(
424
+ 'toggle_button_hover_border_color',
425
+ [
426
+ 'label' => __( 'Border Color', 'header-footer-elementor' ),
427
+ 'type' => Controls_Manager::COLOR,
428
+ 'selectors' => [
429
+ '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button:hover,{{WRAPPER}} .hfe-cart-menu-wrap-default:hover .count:after,.hfe-cart-menu-wrap-default:hover .count' => 'border-color: {{VALUE}}',
430
+ ],
431
+ ]
432
+ );
433
+
434
+ $this->end_controls_tab();
435
+
436
+ $this->end_controls_tabs();
437
+ $this->add_control(
438
+ 'toggle_icon_size',
439
+ [
440
+ 'label' => __( 'Icon Size', 'header-footer-elementor' ),
441
+ 'type' => Controls_Manager::SLIDER,
442
+ 'range' => [
443
+ 'px' => [
444
+ 'min' => 0,
445
+ 'max' => 50,
446
+ ],
447
+ ],
448
+ 'size_units' => [ 'px', 'em' ],
449
+ 'selectors' => [
450
+ '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button-icon' => 'font-size: {{SIZE}}{{UNIT}}',
451
+ ],
452
+ 'condition' => [
453
+ 'hfe_cart_type' => 'custom',
454
+ ],
455
+ 'separator' => 'before',
456
+ ]
457
+ );
458
+
459
+ $this->add_control(
460
+ 'toggle_icon_spacing',
461
+ [
462
+ 'label' => __( 'Icon Spacing', 'header-footer-elementor' ),
463
+ 'type' => Controls_Manager::SLIDER,
464
+ 'range' => [
465
+ 'px' => [
466
+ 'min' => 0,
467
+ 'max' => 50,
468
+ ],
469
+ ],
470
+ 'size-units' => [ 'px', 'em' ],
471
+ 'selectors' => [
472
+ 'body:not(.rtl) {{WRAPPER}} .hfe-menu-cart__toggle .elementor-button-text' => 'margin-right: {{SIZE}}{{UNIT}}',
473
+ 'body.rtl {{WRAPPER}} .hfe-menu-cart__toggle .elementor-button-text' => 'margin-left: {{SIZE}}{{UNIT}}',
474
+ ],
475
+ 'condition' => [
476
+ 'hfe_cart_type' => 'custom',
477
+ ],
478
+ ]
479
+ );
480
+
481
+ $this->end_controls_section();
482
+
483
+ $this->start_controls_section(
484
+ 'section_icon',
485
+ [
486
+ 'label' => __( 'Items Count', 'header-footer-elementor' ),
487
+ 'tab' => Controls_Manager::TAB_STYLE,
488
+ 'condition' => [
489
+ 'icon[value]!' => '',
490
+ 'items_indicator!' => 'none',
491
+ 'hfe_cart_type' => 'custom',
492
+ ],
493
+ ]
494
+ );
495
+
496
+ $this->add_control(
497
+ 'items_indicator_text_color',
498
+ [
499
+ 'label' => __( 'Text Color', 'header-footer-elementor' ),
500
+ 'type' => Controls_Manager::COLOR,
501
+ 'selectors' => [
502
+ '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button-icon[data-counter]:before' => 'color: {{VALUE}}',
503
+ ],
504
+ 'condition' => [
505
+ 'items_indicator!' => 'none',
506
+ ],
507
+ ]
508
+ );
509
+
510
+ $this->add_control(
511
+ 'items_indicator_background_color',
512
+ [
513
+ 'label' => __( 'Background Color', 'header-footer-elementor' ),
514
+ 'type' => Controls_Manager::COLOR,
515
+ 'selectors' => [
516
+ '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button-icon[data-counter]:before' => 'background-color: {{VALUE}}',
517
+ ],
518
+ 'condition' => [
519
+ 'items_indicator' => 'bubble',
520
+ ],
521
+ ]
522
+ );
523
+
524
+ $this->add_control(
525
+ 'items_indicator_distance',
526
+ [
527
+ 'label' => __( 'Distance', 'header-footer-elementor' ),
528
+ 'type' => Controls_Manager::SLIDER,
529
+ 'default' => [
530
+ 'unit' => 'em',
531
+ ],
532
+ 'range' => [
533
+ 'em' => [
534
+ 'min' => 0,
535
+ 'max' => 4,
536
+ 'step' => 0.1,
537
+ ],
538
+ ],
539
+ 'selectors' => [
540
+ '{{WRAPPER}} .hfe-menu-cart__toggle .elementor-button-icon[data-counter]:before' => 'right: -{{SIZE}}{{UNIT}}; top: -{{SIZE}}{{UNIT}}',
541
+ ],
542
+ 'condition' => [
543
+ 'items_indicator' => 'bubble',
544
+ ],
545
+ ]
546
+ );
547
+
548
+ $this->end_controls_section();
549
+ }
550
+
551
+ /**
552
+ * Render Menu Cart output on the frontend.
553
+ *
554
+ * Written in PHP and used to generate the final HTML.
555
+ *
556
+ * @since 1.4.0
557
+ * @access protected
558
+ */
559
+ protected function render() {
560
+
561
+ $settings = $this->get_settings();
562
+ global $woocommerce;
563
+
564
+ if ( empty( $woocommerce ) ) {
565
+ return;
566
+ }
567
+ ?>
568
+
569
+ <div class="hfe-masthead-custom-menu-items woocommerce-custom-menu-item">
570
+ <div id="hfe-site-header-cart" class="hfe-site-header-cart hfe-menu-cart-with-border">
571
+ <div class="hfe-site-header-cart-li current-menu-item">
572
+ <?php if ( 'default' === $settings['hfe_cart_type'] ) { ?>
573
+ <a class="hfe-cart-container" href="<?php echo esc_url( wc_get_cart_url() ); ?>" title="View your shopping cart">
574
+ <div class="hfe-cart-menu-wrap-<?php echo $settings['hfe_cart_type']; ?>">
575
+ <span class="count">
576
+ <?php
577
+ echo $woocommerce->cart->cart_contents_count;
578
+ ?>
579
+ </span>
580
+ </div>
581
+ </a>
582
+ <?php } else { ?>
583
+ <div class="hfe-menu-cart__toggle elementor-button-wrapper">
584
+ <a id="hfe-menu-cart__toggle_button" href="<?php echo esc_url( wc_get_cart_url() ); ?>" class="elementor-button">
585
+ <span class="elementor-button-text">
586
+ <?php echo $woocommerce->cart->get_cart_total(); ?>
587
+ </span>
588
+ <span class="elementor-button-icon" data-counter="<?php echo $woocommerce->cart->cart_contents_count; ?>">
589
+ <i class="eicon" aria-hidden="true"></i>
590
+ <span class="elementor-screen-only">Cart</span>
591
+ </span>
592
+ </a>
593
+ <?php } ?>
594
+ </div>
595
+ </div>
596
+ </div>
597
+ <?php
598
+ }
599
+
600
+
601
+ /**
602
+ * Render Menu Cart output in the editor.
603
+ *
604
+ * Written as a Backbone JavaScript template and used to generate the live preview.
605
+ *
606
+ * @since 1.4.0
607
+ * @access protected
608
+ */
609
+ protected function content_template() {
610
+ }
611
+
612
+ /**
613
+ * Render cart output in the editor.
614
+ *
615
+ * Written as a Backbone JavaScript template and used to generate the live preview.
616
+ *
617
+ * Remove this after Elementor v3.3.0
618
+ *
619
+ * @since 1.4.0
620
+ * @access protected
621
+ */
622
+ protected function _content_template() {
623
+ $this->content_template();
624
+ }
625
+ }
inc/widgets-manager/widgets/class-navigation-menu.php CHANGED
@@ -15,6 +15,7 @@ use Elementor\Scheme_Typography;
15
use Elementor\Scheme_Color;
16
use Elementor\Group_Control_Border;
17
use Elementor\Group_Control_Box_Shadow;
18
use Elementor\Widget_Base;
19
use Elementor\Plugin;
20
@@ -72,7 +73,7 @@ class Navigation_Menu extends Widget_Base {
72
* @return string Widget icon.
73
*/
74
public function get_icon() {
75
- return 'hfe-icon-navigation-menu-4';
76
}
77
78
/**
@@ -217,6 +218,19 @@ class Navigation_Menu extends Widget_Base {
217
);
218
}
219
220
$this->end_controls_section();
221
222
$this->start_controls_section(
@@ -372,6 +386,8 @@ class Navigation_Menu extends Widget_Base {
372
],
373
'selectors' => [
374
'{{WRAPPER}} li.menu-item a' => 'justify-content: {{VALUE}};',
375
],
376
'prefix_class' => 'hfe-menu-item-',
377
]
@@ -688,12 +704,14 @@ class Navigation_Menu extends Widget_Base {
688
'selectors' => [
689
'body:not(.rtl) {{WRAPPER}} .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li.menu-item:not(:last-child)' => 'margin-right: {{SIZE}}{{UNIT}}',
690
'body.rtl {{WRAPPER}} .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li.menu-item:not(:last-child)' => 'margin-left: {{SIZE}}{{UNIT}}',
691
- '{{WRAPPER}} nav:not(.hfe-nav-menu__layout-horizontal) .hfe-nav-menu > li.menu-item:not(:last-child)' => 'margin-bottom: 0',
692
'(tablet)body:not(.rtl) {{WRAPPER}}.hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li.menu-item:not(:last-child)' => 'margin-right: 0px',
693
'(mobile)body:not(.rtl) {{WRAPPER}}.hfe-nav-menu__breakpoint-mobile .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li.menu-item:not(:last-child)' => 'margin-right: 0px',
694
],
695
'condition' => [
696
- 'layout' => 'horizontal',
697
],
698
]
699
);
@@ -745,7 +763,6 @@ class Navigation_Menu extends Widget_Base {
745
'type' => Controls_Manager::COLOR,
746
'default' => '#FFFFFF',
747
'selectors' => [
748
- '{{WRAPPER}} .menu-item a.hfe-menu-item' => 'background-color: {{VALUE}}',
749
'{{WRAPPER}} .hfe-flyout-content' => 'background-color: {{VALUE}}',
750
],
751
'condition' => [
@@ -1529,6 +1546,170 @@ class Navigation_Menu extends Widget_Base {
1529
]
1530
);
1531
1532
$this->end_controls_section();
1533
}
1534
@@ -1559,6 +1740,10 @@ class Navigation_Menu extends Widget_Base {
1559
if ( 'flyout' === $settings['layout'] ) {
1560
1561
$this->add_render_attribute( 'hfe-flyout', 'class', 'hfe-flyout-wrapper' );
1562
1563
?>
1564
<div class="hfe-nav-menu__toggle elementor-clickable hfe-flyout-trigger" tabindex="0">
@@ -1575,7 +1760,7 @@ class Navigation_Menu extends Widget_Base {
1575
<div class="hfe-flyout-container">
1576
<div id="hfe-flyout-content-id-<?php echo esc_attr( $this->get_id() ); ?>" class="hfe-side hfe-flyout-<?php echo esc_attr( $settings['flyout_layout'] ); ?> hfe-flyout-open" data-width="<?php echo esc_attr( $settings['width_flyout_menu_item']['size'] ); ?>" data-layout="<?php echo wp_kses_post( $settings['flyout_layout'] ); ?>" data-flyout-type="<?php echo wp_kses_post( $settings['flyout_type'] ); ?>">
1577
<div class="hfe-flyout-content push">
1578
- <nav <?php echo wp_kses_post( $this->get_render_attribute_string( 'hfe-nav-menu' ) ); ?>><?php echo wp_kses_post( $menu_html ); ?></nav>
1579
<div class="elementor-clickable hfe-flyout-close" tabindex="0">
1580
<?php if ( $this->is_elementor_updated() ) { ?>
1581
<i class="<?php echo esc_attr( $settings['dropdown_close_icon']['value'] ); ?>" aria-hidden="true"></i>
@@ -1604,6 +1789,11 @@ class Navigation_Menu extends Widget_Base {
1604
1605
$this->add_render_attribute( 'hfe-main-menu', 'data-layout', $settings['layout'] );
1606
1607
if ( $settings['pointer'] ) {
1608
if ( 'horizontal' === $settings['layout'] || 'vertical' === $settings['layout'] ) {
1609
$this->add_render_attribute( 'hfe-main-menu', 'class', 'hfe-pointer__' . $settings['pointer'] );
15
use Elementor\Scheme_Color;
16
use Elementor\Group_Control_Border;
17
use Elementor\Group_Control_Box_Shadow;
18
+ use Elementor\Group_Control_Background;
19
use Elementor\Widget_Base;
20
use Elementor\Plugin;
21
73
* @return string Widget icon.
74
*/
75
public function get_icon() {
76
+ return 'hfe-icon-navigation-menu';
77
}
78
79
/**
218
);
219
}
220
221
+ $this->add_control(
222
+ 'menu_last_item',
223
+ [
224
+ 'label' => __( 'Last Menu Item', 'header-footer-elementor' ),
225
+ 'type' => Controls_Manager::SELECT,
226
+ 'options' => [
227
+ 'none' => __( 'Default', 'header-footer-elementor' ),
228
+ 'cta' => __( 'Button', 'header-footer-elementor' ),
229
+ ],
230
+ 'default' => 'none',
231
+ ]
232
+ );
233
+
234
$this->end_controls_section();
235
236
$this->start_controls_section(
386
],
387
'selectors' => [
388
'{{WRAPPER}} li.menu-item a' => 'justify-content: {{VALUE}};',
389
+ '{{WRAPPER}} li.elementor-button-wrapper' => 'text-align: {{VALUE}};',
390
+ '{{WRAPPER}}.hfe-menu-item-flex-end li.elementor-button-wrapper' => 'text-align: right;',
391
],
392
'prefix_class' => 'hfe-menu-item-',
393
]
704
'selectors' => [
705
'body:not(.rtl) {{WRAPPER}} .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li.menu-item:not(:last-child)' => 'margin-right: {{SIZE}}{{UNIT}}',
706
'body.rtl {{WRAPPER}} .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li.menu-item:not(:last-child)' => 'margin-left: {{SIZE}}{{UNIT}}',
707
+ '{{WRAPPER}} nav:not(.hfe-nav-menu__layout-horizontal) .hfe-nav-menu > li.menu-item:not(:last-child)' => 'margin-bottom: {{SIZE}}{{UNIT}}',
708
'(tablet)body:not(.rtl) {{WRAPPER}}.hfe-nav-menu__breakpoint-tablet .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li.menu-item:not(:last-child)' => 'margin-right: 0px',
709
'(mobile)body:not(.rtl) {{WRAPPER}}.hfe-nav-menu__breakpoint-mobile .hfe-nav-menu__layout-horizontal .hfe-nav-menu > li.menu-item:not(:last-child)' => 'margin-right: 0px',
710
+ '(tablet)body {{WRAPPER}} nav.hfe-nav-menu__layout-vertical .hfe-nav-menu > li.menu-item:not(:last-child)' => 'margin-bottom: 0px',
711
+ '(mobile)body {{WRAPPER}} nav.hfe-nav-menu__layout-vertical .hfe-nav-menu > li.menu-item:not(:last-child)' => 'margin-bottom: 0px',
712
],
713
'condition' => [
714
+ 'layout!' => 'expandible',
715
],
716
]
717
);
763
'type' => Controls_Manager::COLOR,
764
'default' => '#FFFFFF',
765
'selectors' => [
766
'{{WRAPPER}} .hfe-flyout-content' => 'background-color: {{VALUE}}',
767
],
768
'condition' => [
1546
]
1547
);
1548
1549
+ $this->end_controls_section();
1550
+ $this->start_controls_section(
1551
+ 'style_button',
1552
+ [
1553
+ 'label' => __( 'Button', 'header-footer-elementor' ),
1554
+ 'tab' => Controls_Manager::TAB_STYLE,
1555
+ 'condition' => [
1556
+ 'menu_last_item' => 'cta',
1557
+ ],
1558
+ ]
1559
+ );
1560
+
1561
+ $this->add_group_control(
1562
+ Group_Control_Typography::get_type(),
1563
+ [
1564
+ 'name' => 'all_typography',
1565
+ 'label' => __( 'Typography', 'header-footer-elementor' ),
1566
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_4,
1567
+ 'selector' => '{{WRAPPER}} .menu-item a.hfe-menu-item.elementor-button',
1568
+ ]
1569
+ );
1570
+ $this->add_responsive_control(
1571
+ 'padding',
1572
+ [
1573
+ 'label' => __( 'Padding', 'header-footer-elementor' ),
1574
+ 'type' => Controls_Manager::DIMENSIONS,
1575
+ 'size_units' => [ 'px', 'em', '%' ],
1576
+ 'selectors' => [
1577
+ '{{WRAPPER}} .menu-item a.hfe-menu-item.elementor-button' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1578
+ ],
1579
+ ]
1580
+ );
1581
+
1582
+ $this->start_controls_tabs( '_button_style' );
1583
+
1584
+ $this->start_controls_tab(
1585
+ '_button_normal',
1586
+ [
1587
+ 'label' => __( 'Normal', 'header-footer-elementor' ),
1588
+ ]
1589
+ );
1590
+
1591
+ $this->add_control(
1592
+ 'all_text_color',
1593
+ [
1594
+ 'label' => __( 'Text Color', 'header-footer-elementor' ),
1595
+ 'type' => Controls_Manager::COLOR,
1596
+ 'default' => '',
1597
+ 'selectors' => [
1598
+ '{{WRAPPER}} .menu-item a.hfe-menu-item.elementor-button' => 'color: {{VALUE}};',
1599
+ ],
1600
+ ]
1601
+ );
1602
+
1603
+ $this->add_group_control(
1604
+ Group_Control_Background::get_type(),
1605
+ [
1606
+ 'name' => 'all_background_color',
1607
+ 'label' => __( 'Background Color', 'header-footer-elementor' ),
1608
+ 'types' => [ 'classic', 'gradient' ],
1609
+ 'selector' => '{{WRAPPER}} .menu-item a.hfe-menu-item.elementor-button',
1610
+ 'fields_options' => [
1611
+ 'color' => [
1612
+ 'scheme' => [
1613
+ 'type' => Scheme_Color::get_type(),
1614
+ 'value' => Scheme_Color::COLOR_4,
1615
+ ],
1616
+ ],
1617
+ ],
1618
+ ]
1619
+ );
1620
+
1621
+ $this->add_group_control(
1622
+ Group_Control_Border::get_type(),
1623
+ [
1624
+ 'name' => 'all_border',
1625
+ 'label' => __( 'Border', 'header-footer-elementor' ),
1626
+ 'selector' => '{{WRAPPER}} .menu-item a.hfe-menu-item.elementor-button',
1627
+ ]
1628
+ );
1629
+
1630
+ $this->add_control(
1631
+ 'all_border_radius',
1632
+ [
1633
+ 'label' => __( 'Border Radius', 'header-footer-elementor' ),
1634
+ 'type' => Controls_Manager::DIMENSIONS,
1635
+ 'size_units' => [ 'px', '%' ],
1636
+ 'selectors' => [
1637
+ '{{WRAPPER}} .menu-item a.hfe-menu-item.elementor-button' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}};',
1638
+ ],
1639
+ ]
1640
+ );
1641
+
1642
+ $this->add_group_control(
1643
+ Group_Control_Box_Shadow::get_type(),
1644
+ [
1645
+ 'name' => 'all_button_box_shadow',
1646
+ 'selector' => '{{WRAPPER}} .menu-item a.hfe-menu-item.elementor-button',
1647
+ ]
1648
+ );
1649
+
1650
+ $this->end_controls_tab();
1651
+
1652
+ $this->start_controls_tab(
1653
+ 'all_button_hover',
1654
+ [
1655
+ 'label' => __( 'Hover', 'header-footer-elementor' ),
1656
+ ]
1657
+ );
1658
+
1659
+ $this->add_control(
1660
+ 'all_hover_color',
1661
+ [
1662
+ 'label' => __( 'Text Color', 'header-footer-elementor' ),
1663
+ 'type' => Controls_Manager::COLOR,
1664
+ 'selectors' => [
1665
+ '{{WRAPPER}} .menu-item a.hfe-menu-item.elementor-button:hover' => 'color: {{VALUE}};',
1666
+ ],
1667
+ ]
1668
+ );
1669
+
1670
+ $this->add_group_control(
1671
+ Group_Control_Background::get_type(),
1672
+ [
1673
+ 'name' => 'all_background_hover_color',
1674
+ 'label' => __( 'Background Color', 'header-footer-elementor' ),
1675
+ 'types' => [ 'classic', 'gradient' ],
1676
+ 'selector' => '{{WRAPPER}} .menu-item a.hfe-menu-item.elementor-button:hover',
1677
+ 'fields_options' => [
1678
+ 'color' => [
1679
+ 'scheme' => [
1680
+ 'type' => Scheme_Color::get_type(),
1681
+ 'value' => Scheme_Color::COLOR_4,
1682
+ ],
1683
+ ],
1684
+ ],
1685
+ ]
1686
+ );
1687
+
1688
+ $this->add_control(
1689
+ 'all_border_hover_color',
1690
+ [
1691
+ 'label' => __( 'Border Hover Color', 'header-footer-elementor' ),
1692
+ 'type' => Controls_Manager::COLOR,
1693
+ 'default' => '',
1694
+ 'selectors' => [
1695
+ '{{WRAPPER}} .menu-item a.hfe-menu-item.elementor-button:hover' => 'border-color: {{VALUE}};',
1696
+ ],
1697
+ ]
1698
+ );
1699
+
1700
+ $this->add_group_control(
1701
+ Group_Control_Box_Shadow::get_type(),
1702
+ [
1703
+ 'name' => 'all_button_hover_box_shadow',
1704
+ 'selector' => '{{WRAPPER}} .menu-item a.hfe-menu-item.elementor-button:hover',
1705
+ 'separator' => 'after',
1706
+ ]
1707
+ );
1708
+
1709
+ $this->end_controls_tab();
1710
+
1711
+ $this->end_controls_tabs();
1712
+
1713
$this->end_controls_section();
1714
}
1715
1740
if ( 'flyout' === $settings['layout'] ) {
1741
1742
$this->add_render_attribute( 'hfe-flyout', 'class', 'hfe-flyout-wrapper' );
1743
+ if ( 'cta' === $settings['menu_last_item'] ) {
1744
+
1745
+ $this->add_render_attribute( 'hfe-flyout', 'data-last-item', $settings['menu_last_item'] );
1746
+ }
1747
1748
?>
1749
<div class="hfe-nav-menu__toggle elementor-clickable hfe-flyout-trigger" tabindex="0">
1760
<div class="hfe-flyout-container">
1761
<div id="hfe-flyout-content-id-<?php echo esc_attr( $this->get_id() ); ?>" class="hfe-side hfe-flyout-<?php echo esc_attr( $settings['flyout_layout'] ); ?> hfe-flyout-open" data-width="<?php echo esc_attr( $settings['width_flyout_menu_item']['size'] ); ?>" data-layout="<?php echo wp_kses_post( $settings['flyout_layout'] ); ?>" data-flyout-type="<?php echo wp_kses_post( $settings['flyout_type'] ); ?>">
1762
<div class="hfe-flyout-content push">
1763
+ <nav <?php echo wp_kses_post( $this->get_render_attribute_string( 'hfe-nav-menu' ) ); ?>><?php echo $menu_html; ?></nav>
1764
<div class="elementor-clickable hfe-flyout-close" tabindex="0">
1765
<?php if ( $this->is_elementor_updated() ) { ?>
1766
<i class="<?php echo esc_attr( $settings['dropdown_close_icon']['value'] ); ?>" aria-hidden="true"></i>
1789
1790
$this->add_render_attribute( 'hfe-main-menu', 'data-layout', $settings['layout'] );
1791
1792
+ if ( 'cta' === $settings['menu_last_item'] ) {
1793
+
1794
+ $this->add_render_attribute( 'hfe-main-menu', 'data-last-item', $settings['menu_last_item'] );
1795
+ }
1796
+
1797
if ( $settings['pointer'] ) {
1798
if ( 'horizontal' === $settings['layout'] || 'vertical' === $settings['layout'] ) {
1799
$this->add_render_attribute( 'hfe-main-menu', 'class', 'hfe-pointer__' . $settings['pointer'] );
inc/widgets-manager/widgets/class-site-logo.php CHANGED
@@ -35,7 +35,6 @@ if ( ! defined( 'ABSPATH' ) ) {
35
*/
36
class Site_Logo extends Widget_Base {
37
38
-
39
/**
40
* Retrieve the widget name.
41
*
35
*/
36
class Site_Logo extends Widget_Base {
37
38
/**
39
* Retrieve the widget name.
40
*
languages/header-footer-elementor.pot CHANGED
@@ -2,10 +2,10 @@
2
# This file is distributed under the same license as the Elementor - Header, Footer & Blocks package.
3
msgid ""
4
msgstr ""
5
- "Project-Id-Version: Elementor - Header, Footer & Blocks 1.3.1\n"
6
"Report-Msgid-Bugs-To: "
7
"https://wordpress.org/support/plugin/header-footer-elementor\n"
8
- "POT-Creation-Date: 2020-03-12 09:19:05+00:00\n"
9
"MIME-Version: 1.0\n"
10
"Content-Type: text/plain; charset=utf-8\n"
11
"Content-Transfer-Encoding: 8bit\n"
@@ -25,190 +25,190 @@ msgstr ""
25
"X-Textdomain-Support: yes\n"
26
"X-Generator: grunt-wp-i18n 1.0.3\n"
27
28
- #: admin/class-hfe-admin.php:99 admin/class-hfe-admin.php:332
29
msgid "Display Rules"
30
msgstr ""
31
32
- #: admin/class-hfe-admin.php:100
33
msgid "Date"
34
msgstr ""
35
36
- #: admin/class-hfe-admin.php:183 admin/class-hfe-admin.php:185
37
msgid "Header Footers Template"
38
msgstr ""
39
40
- #: admin/class-hfe-admin.php:184 admin/class-hfe-admin.php:186
41
msgid "Elementor Header Footer"
42
msgstr ""
43
44
- #: admin/class-hfe-admin.php:187
45
msgid "Add New"
46
msgstr ""
47
48
- #: admin/class-hfe-admin.php:188
49
msgid "Add New Header Footer"
50
msgstr ""
51
52
- #: admin/class-hfe-admin.php:189
53
msgid "New Header Footers Template"
54
msgstr ""
55
56
- #: admin/class-hfe-admin.php:190
57
msgid "Edit Header Footers Template"
58
msgstr ""
59
60
- #: admin/class-hfe-admin.php:191
61
msgid "View Header Footers Template"
62
msgstr ""
63
64
- #: admin/class-hfe-admin.php:192
65
msgid "All Elementor Header Footers"
66
msgstr ""
67
68
- #: admin/class-hfe-admin.php:193
69
msgid "Search Header Footers Templates"
70
msgstr ""
71
72
- #: admin/class-hfe-admin.php:194
73
msgid "Parent Header Footers Templates:"
74
msgstr ""
75
76
- #: admin/class-hfe-admin.php:195
77
msgid "No Header Footers Templates found."
78
msgstr ""
79
80
- #: admin/class-hfe-admin.php:196
81
msgid "No Header Footers Templates found in Trash."
82
msgstr ""
83
84
- #: admin/class-hfe-admin.php:225 admin/class-hfe-admin.php:226
85
msgid "Header Footer Builder"
86
msgstr ""
87
88
- #: admin/class-hfe-admin.php:238
89
msgid "Elementor Header Footer options"
90
msgstr ""
91
92
- #: admin/class-hfe-admin.php:266
93
msgid "Type of Template"
94
msgstr ""
95
96
- #: admin/class-hfe-admin.php:270
97
msgid "Select Option"
98
msgstr ""
99
100
- #: admin/class-hfe-admin.php:271
101
msgid "Header"
102
msgstr ""
103
104
- #: admin/class-hfe-admin.php:272
105
msgid "Before Footer"
106
msgstr ""
107
108
- #: admin/class-hfe-admin.php:273
109
msgid "Footer"
110
msgstr ""
111
112
- #: admin/class-hfe-admin.php:274
113
msgid "Custom Block"
114
msgstr ""
115
116
- #: admin/class-hfe-admin.php:282 admin/class-hfe-admin.php:527
117
msgid "Shortcode"
118
msgstr ""
119
120
- #: admin/class-hfe-admin.php:283
121
msgid ""
122
"Copy this shortcode and paste it into your post, page, or text widget "
123
"content."
124
msgstr ""
125
126
- #: admin/class-hfe-admin.php:295
127
msgid "Enable Layout for Elementor Canvas Template?"
128
msgstr ""
129
130
- #: admin/class-hfe-admin.php:297
131
msgid ""
132
"Enabling this option will display this layout on pages using Elementor "
133
"Canvas Template."
134
msgstr ""
135
136
- #: admin/class-hfe-admin.php:323
137
msgid "Display On"
138
msgstr ""
139
140
- #: admin/class-hfe-admin.php:325
141
msgid "Add locations for where this template should appear."
142
msgstr ""
143
144
- #: admin/class-hfe-admin.php:336
145
msgid "Add Display Rule"
146
msgstr ""
147
148
- #: admin/class-hfe-admin.php:345
149
msgid "Do Not Display On"
150
msgstr ""
151
152
- #: admin/class-hfe-admin.php:347
153
msgid "This Advanced Header will not appear at these locations."
154
msgstr ""
155
156
- #: admin/class-hfe-admin.php:354
157
msgid "Exclude On"
158
msgstr ""
159
160
- #: admin/class-hfe-admin.php:357
161
#: inc/lib/target-rule/class-astra-target-rules-fields.php:840
162
msgid "Add Exclusion Rule"
163
msgstr ""
164
165
- #: admin/class-hfe-admin.php:367
166
msgid "User Roles"
167
msgstr ""
168
169
- #: admin/class-hfe-admin.php:368
170
msgid "Display custom template based on user role."
171
msgstr ""
172
173
- #: admin/class-hfe-admin.php:375
174
msgid "Users"
175
msgstr ""
176
177
- #: admin/class-hfe-admin.php:378
178
msgid "Add User Rule"
179
msgstr ""
180
181
- #: admin/class-hfe-admin.php:458
182
#. Translators: Post title, Template Location
183
msgid "Template %1$s is already assigned to the location %2$s"
184
msgstr ""
185
186
- #: inc/class-header-footer-elementor.php:142
187
msgid ""
188
"Hello! Seems like you have used Elementor - Header, Footer & Blocks to "
189
"build this website — Thanks a ton!"
190
msgstr ""
191
192
- #: inc/class-header-footer-elementor.php:143
193
msgid ""
194
"Could you please do us a BIG favor and give it a 5-star rating on "
195
"WordPress? This would boost our motivation and help other users make a "
196
"comfortable decision while choosing the Elementor - Header, Footer & Blocks."
197
msgstr ""
198
199
- #: inc/class-header-footer-elementor.php:145
200
msgid "Ok, you deserve it"
201
msgstr ""
202
203
- #: inc/class-header-footer-elementor.php:147
204
msgid "Nope, maybe later"
205
msgstr ""
206
207
- #: inc/class-header-footer-elementor.php:148
208
msgid "I already did"
209
msgstr ""
210
211
- #: inc/class-header-footer-elementor.php:181
212
#. Translators: URL to install or activate Elementor plugin.
213
msgid ""
214
"The <strong>Header Footer Elementor</strong> plugin requires <strong><a "
@@ -370,491 +370,626 @@ msgstr ""
370
msgid "The same display setting is already exist in %s post/s."
371
msgstr ""
372
373
- #: inc/widgets-manager/class-widgets-loader.php:152
374
msgid "Header, Footer & Blocks"
375
msgstr ""
376
377
- #: inc/widgets-manager/widgets/class-copyright.php:52
378
- #: inc/widgets-manager/widgets/class-copyright.php:102
379
- msgid "Copyright"
380
msgstr ""
381
382
- #: inc/widgets-manager/widgets/class-copyright.php:109
383
- msgid "Copyright Text"
384
msgstr ""
385
386
- #: inc/widgets-manager/widgets/class-copyright.php:114
387
- msgid ""
388
- "Copyright © [hfe_current_year] [hfe_site_title] | Powered by "
389
- "[hfe_site_title]"
390
msgstr ""
391
392
- #: inc/widgets-manager/widgets/class-copyright.php:121
393
- #: inc/widgets-manager/widgets/class-page-title.php:166
394
- #: inc/widgets-manager/widgets/class-page-title.php:179
395
- #: inc/widgets-manager/widgets/class-retina.php:212
396
- #: inc/widgets-manager/widgets/class-retina.php:225
397
- #: inc/widgets-manager/widgets/class-site-logo.php:218
398
- #: inc/widgets-manager/widgets/class-site-logo.php:233
399
- #: inc/widgets-manager/widgets/class-site-title.php:167
400
- #: inc/widgets-manager/widgets/class-site-title.php:180
401
- msgid "Link"
402
msgstr ""
403
404
- #: inc/widgets-manager/widgets/class-copyright.php:123
405
- #: inc/widgets-manager/widgets/class-page-title.php:181
406
- #: inc/widgets-manager/widgets/class-retina.php:230
407
- #: inc/widgets-manager/widgets/class-site-logo.php:238
408
- #: inc/widgets-manager/widgets/class-site-title.php:182
409
- msgid "https://your-link.com"
410
msgstr ""
411
412
#: inc/widgets-manager/widgets/class-copyright.php:130
413
- #: inc/widgets-manager/widgets/class-navigation-menu.php:247
414
- #: inc/widgets-manager/widgets/class-navigation-menu.php:446
415
#: inc/widgets-manager/widgets/class-page-title.php:231
416
#: inc/widgets-manager/widgets/class-retina.php:156
417
- #: inc/widgets-manager/widgets/class-site-logo.php:162
418
#: inc/widgets-manager/widgets/class-site-tagline.php:167
419
#: inc/widgets-manager/widgets/class-site-title.php:232
420
msgid "Alignment"
421
msgstr ""
422
423
#: inc/widgets-manager/widgets/class-copyright.php:134
424
- #: inc/widgets-manager/widgets/class-navigation-menu.php:251
425
- #: inc/widgets-manager/widgets/class-navigation-menu.php:282
426
- #: inc/widgets-manager/widgets/class-navigation-menu.php:317
427
- #: inc/widgets-manager/widgets/class-navigation-menu.php:353
428
- #: inc/widgets-manager/widgets/class-navigation-menu.php:450
429
#: inc/widgets-manager/widgets/class-page-title.php:235
430
#: inc/widgets-manager/widgets/class-retina.php:160
431
- #: inc/widgets-manager/widgets/class-site-logo.php:166
432
#: inc/widgets-manager/widgets/class-site-tagline.php:171
433
#: inc/widgets-manager/widgets/class-site-title.php:236
434
msgid "Left"
435
msgstr ""
436
437
#: inc/widgets-manager/widgets/class-copyright.php:138
438
- #: inc/widgets-manager/widgets/class-navigation-menu.php:255
439
- #: inc/widgets-manager/widgets/class-navigation-menu.php:321
440
- #: inc/widgets-manager/widgets/class-navigation-menu.php:357
441
- #: inc/widgets-manager/widgets/class-navigation-menu.php:454
442
#: inc/widgets-manager/widgets/class-page-title.php:239
443
#: inc/widgets-manager/widgets/class-retina.php:164
444
- #: inc/widgets-manager/widgets/class-site-logo.php:170
445
#: inc/widgets-manager/widgets/class-site-tagline.php:175
446
#: inc/widgets-manager/widgets/class-site-title.php:240
447
msgid "Center"
448
msgstr ""
449
450
#: inc/widgets-manager/widgets/class-copyright.php:142
451
- #: inc/widgets-manager/widgets/class-navigation-menu.php:259
452
- #: inc/widgets-manager/widgets/class-navigation-menu.php:283
453
- #: inc/widgets-manager/widgets/class-navigation-menu.php:325
454
- #: inc/widgets-manager/widgets/class-navigation-menu.php:361
455
- #: inc/widgets-manager/widgets/class-navigation-menu.php:458
456
#: inc/widgets-manager/widgets/class-page-title.php:243
457
#: inc/widgets-manager/widgets/class-retina.php:168
458
- #: inc/widgets-manager/widgets/class-site-logo.php:174
459
#: inc/widgets-manager/widgets/class-site-tagline.php:179
460
#: inc/widgets-manager/widgets/class-site-title.php:244
461
msgid "Right"
462
msgstr ""
463
464
#: inc/widgets-manager/widgets/class-copyright.php:155
465
- #: inc/widgets-manager/widgets/class-navigation-menu.php:870
466
- #: inc/widgets-manager/widgets/class-navigation-menu.php:910
467
- #: inc/widgets-manager/widgets/class-navigation-menu.php:980
468
- #: inc/widgets-manager/widgets/class-navigation-menu.php:1074
469
- #: inc/widgets-manager/widgets/class-navigation-menu.php:1117
470
#: inc/widgets-manager/widgets/class-retina.php:529
471
- #: inc/widgets-manager/widgets/class-site-logo.php:572
472
msgid "Text Color"
473
msgstr ""
474
475
- #: inc/widgets-manager/widgets/class-navigation-menu.php:62
476
msgid "Navigation Menu"
477
msgstr ""
478
479
- #: inc/widgets-manager/widgets/class-navigation-menu.php:187
480
- #: inc/widgets-manager/widgets/class-navigation-menu.php:197
481
msgid "Menu"
482
msgstr ""
483
484
- #: inc/widgets-manager/widgets/class-navigation-menu.php:204
485
#. translators: %s Nav menu URL
486
msgid ""
487
"Go to the <a href=\"%s\" target=\"_blank\">Menus screen</a> to manage your "
488
"menus."
489
msgstr ""
490
491
- #: inc/widgets-manager/widgets/class-navigation-menu.php:213
492
#. translators: %s Nav menu URL
493
msgid ""
494
"<strong>There are no menus in your site.</strong><br>Go to the <a "
495
"href=\"%s\" target=\"_blank\">Menus screen</a> to create one."
496
msgstr ""
497
498
- #: inc/widgets-manager/widgets/class-navigation-menu.php:225
499
- #: inc/widgets-manager/widgets/class-navigation-menu.php:232
500
msgid "Layout"
501
msgstr ""
502
503
- #: inc/widgets-manager/widgets/class-navigation-menu.php:236
504
msgid "Horizontal"
505
msgstr ""
506
507
- #: inc/widgets-manager/widgets/class-navigation-menu.php:237
508
msgid "Vertical"
509
msgstr ""
510
511
- #: inc/widgets-manager/widgets/class-navigation-menu.php:238
512
msgid "Expanded"
513
msgstr ""
514
515
- #: inc/widgets-manager/widgets/class-navigation-menu.php:239
516
msgid "Flyout"
517
msgstr ""
518
519
- #: inc/widgets-manager/widgets/class-navigation-menu.php:263
520
- #: inc/widgets-manager/widgets/class-navigation-menu.php:365
521
#: inc/widgets-manager/widgets/class-site-tagline.php:183
522
#: inc/widgets-manager/widgets/class-site-title.php:248
523
msgid "Justify"
524
msgstr ""
525
526
- #: inc/widgets-manager/widgets/class-navigation-menu.php:278
527
msgid "Flyout Orientation"
528
msgstr ""
529
530
- #: inc/widgets-manager/widgets/class-navigation-menu.php:294
531
msgid "Appear Effect"
532
msgstr ""
533
534
- #: inc/widgets-manager/widgets/class-navigation-menu.php:299
535
msgid "Slide"
536
msgstr ""
537
538
- #: inc/widgets-manager/widgets/class-navigation-menu.php:300
539
msgid "Push"
540
msgstr ""
541
542
- #: inc/widgets-manager/widgets/class-navigation-menu.php:312
543
msgid "Hamburger Align"
544
msgstr ""
545
546
- #: inc/widgets-manager/widgets/class-navigation-menu.php:349
547
msgid "Menu Items Align"
548
msgstr ""
549
550
- #: inc/widgets-manager/widgets/class-navigation-menu.php:383
551
msgid "Submenu Icon"
552
msgstr ""
553
554
- #: inc/widgets-manager/widgets/class-navigation-menu.php:387
555
msgid "Arrows"
556
msgstr ""
557
558
- #: inc/widgets-manager/widgets/class-navigation-menu.php:388
559
msgid "Plus Sign"
560
msgstr ""
561
562
- #: inc/widgets-manager/widgets/class-navigation-menu.php:389
563
msgid "Classic"
564
msgstr ""
565