├── inc
├── demo-data
│ ├── screen-image.png
│ ├── css
│ │ └── demo-import.css
│ ├── fashe-widgets-demo.json
│ ├── demo-import.php
│ └── fashe-customizer.dat
├── fashe-meta
│ ├── assets
│ │ ├── img
│ │ │ ├── thumb_01.png
│ │ │ ├── thumb_02.png
│ │ │ └── thumb_03.png
│ │ ├── css
│ │ │ └── fashe-meta.css
│ │ └── js
│ │ │ └── fashe-meta.js
│ └── fashe-meta-config.php
├── elementor-widgets
│ ├── assets
│ │ ├── css
│ │ │ ├── elementor-edit.css
│ │ │ └── slick.css
│ │ ├── fonts
│ │ │ └── themify-icon
│ │ │ │ ├── fonts
│ │ │ │ ├── themify.eot
│ │ │ │ ├── themify.ttf
│ │ │ │ └── themify.woff
│ │ │ │ └── themify-icons.css
│ │ └── js
│ │ │ ├── fashe-companion-main.js
│ │ │ ├── countdowntime.js
│ │ │ └── map-custom.js
│ ├── widgets
│ │ ├── fashe-blog.php
│ │ ├── fashe-instagram.php
│ │ ├── fashe-banner-video.php
│ │ ├── fashe-our-products.php
│ │ ├── fashe-feature-products.php
│ │ ├── fashe-contact.php
│ │ ├── fashe-shipping.php
│ │ ├── fashe-about.php
│ │ ├── fashe-slider.php
│ │ └── fashe-product-categories.php
│ └── elementor-widget.php
├── sidebar-widgets
│ └── newsletter-widget.php
├── instagram-api.php
└── functions.php
├── fashe-init.php
├── .gitignore
├── js
└── loadmore-ajax.js
├── readme.txt
├── fashe-companion.php
└── languages
└── fashe-companion.pot
/inc/demo-data/screen-image.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/fashe-companion/master/inc/demo-data/screen-image.png
--------------------------------------------------------------------------------
/inc/fashe-meta/assets/img/thumb_01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/fashe-companion/master/inc/fashe-meta/assets/img/thumb_01.png
--------------------------------------------------------------------------------
/inc/fashe-meta/assets/img/thumb_02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/fashe-companion/master/inc/fashe-meta/assets/img/thumb_02.png
--------------------------------------------------------------------------------
/inc/fashe-meta/assets/img/thumb_03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/fashe-companion/master/inc/fashe-meta/assets/img/thumb_03.png
--------------------------------------------------------------------------------
/inc/elementor-widgets/assets/css/elementor-edit.css:
--------------------------------------------------------------------------------
1 | .elementor-choices-label i {
2 | font-size: 18px !important;
3 | padding: 5px 0;
4 | }
--------------------------------------------------------------------------------
/inc/elementor-widgets/assets/fonts/themify-icon/fonts/themify.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/fashe-companion/master/inc/elementor-widgets/assets/fonts/themify-icon/fonts/themify.eot
--------------------------------------------------------------------------------
/inc/elementor-widgets/assets/fonts/themify-icon/fonts/themify.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/fashe-companion/master/inc/elementor-widgets/assets/fonts/themify-icon/fonts/themify.ttf
--------------------------------------------------------------------------------
/inc/elementor-widgets/assets/fonts/themify-icon/fonts/themify.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ColorlibHQ/fashe-companion/master/inc/elementor-widgets/assets/fonts/themify-icon/fonts/themify.woff
--------------------------------------------------------------------------------
/inc/demo-data/css/demo-import.css:
--------------------------------------------------------------------------------
1 | .ocdi__demo-import-notice:not(:empty) {
2 | background-color: transparent !important;
3 | border-left: 0px !important;
4 | box-shadow: none !important;
5 | padding: 0px !important;
6 | }
7 | .ocdi__demo-import-notice img {
8 | border: 4px solid #dbe3ea;
9 | width: auto;
10 | }
11 |
12 | .about-wrap img {
13 | max-width: 100%;
14 | width: auto;
15 | }
--------------------------------------------------------------------------------
/inc/fashe-meta/assets/css/fashe-meta.css:
--------------------------------------------------------------------------------
1 | .radio-btn .ckb{
2 | display: inline-block;
3 | border: 1px solid #eee;
4 | padding: 6px;
5 | margin: 3px;
6 | width: 23%;
7 | text-align: center;
8 | }
9 |
10 | .radio-btn .ckb img{
11 | display: block;
12 | margin: 0 auto;
13 | margin-top: 8px;
14 | width: 100%;
15 | }
16 | .fashe-admin-selectbox {
17 | width: 100%;
18 | }
19 |
--------------------------------------------------------------------------------
/inc/elementor-widgets/assets/js/fashe-companion-main.js:
--------------------------------------------------------------------------------
1 | (function ($) {
2 | 'use strict';
3 |
4 |
5 | // MC Scripts
6 | var $subscribe = $( '.fashe-subscribe-newsletter-area' );
7 | if( $subscribe.length ){
8 | window.fnames = new Array();
9 | window.ftypes = new Array();
10 | fnames[0]='EMAIL';
11 | ftypes[0]='email';
12 | fnames[1]='FNAME';
13 | ftypes[1]='text';
14 | fnames[2]='LNAME';
15 | ftypes[2]='text';
16 | fnames[3]='ADDRESS';
17 | ftypes[3]='address';
18 | fnames[4]='PHONE';
19 | ftypes[4]='phone';
20 | fnames[5]='BIRTHDAY';
21 | ftypes[5]='birthday';
22 | }
23 |
24 |
25 |
26 | })(jQuery);
--------------------------------------------------------------------------------
/fashe-init.php:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.log
2 | wp-config.php
3 | wp-content/advanced-cache.php
4 | wp-content/backup-db/
5 | wp-content/backups/
6 | wp-content/blogs.dir/
7 | wp-content/cache/
8 | wp-content/upgrade/
9 | wp-content/uploads/
10 | wp-content/mu-plugins/
11 | wp-content/wp-cache-config.php
12 | wp-content/plugins/hello.php
13 |
14 | /.htaccess
15 | /license.txt
16 | /readme.html
17 | /sitemap.xml
18 | /sitemap.xml.gz
19 |
20 | *.log
21 | wp-config.php
22 | wp-content/advanced-cache.php
23 | wp-content/backup-db/
24 | wp-content/backups/
25 | wp-content/blogs.dir/
26 | wp-content/cache/
27 | wp-content/upgrade/
28 | wp-content/uploads/
29 | wp-content/mu-plugins/
30 | wp-content/wp-cache-config.php
31 | wp-content/plugins/hello.php
32 |
33 | /.htaccess
34 | /license.txt
35 | /readme.html
36 | /sitemap.xml
37 | /sitemap.xml.gz
38 | *.DS_Store
39 | .idea
40 | /.idea
41 | fashe-companion.zip
--------------------------------------------------------------------------------
/inc/demo-data/fashe-widgets-demo.json:
--------------------------------------------------------------------------------
1 | {"fashe-post-sidebar":{"search-2":{"title":""},"recent-posts-2":{"title":"","number":5},"recent-comments-2":{"title":"","number":5},"archives-2":{"title":"","count":0,"dropdown":0},"categories-2":{"title":"","count":0,"hierarchical":0,"dropdown":0},"meta-2":{"title":""}},"fashe-woo-sidebar":{"woocommerce_product_categories-3":{"title":"Categories","orderby":"name","dropdown":0,"count":0,"hierarchical":1,"show_children_only":0,"hide_empty":0,"max_depth":""},"woocommerce_price_filter-2":{"title":"Filters"},"woocommerce_product_search-2":{"title":""}},"footer-1":{"text-2":{"title":"GET IN TOUCH","text":"Any questions? Let us know in store at 8th floor, 379 Hudson St, New York, NY 10018 or call us on (+1) 96 716 6879","filter":true,"visual":true}},"footer-2":{"woocommerce_product_categories-2":{"title":"CATEGORIES","orderby":"name","dropdown":0,"count":0,"hierarchical":1,"show_children_only":0,"hide_empty":0,"max_depth":""}},"footer-3":{"meta-4":{"title":"LINKS"}},"footer-4":{"meta-3":{"title":"HELP"}},"footer-5":{"fashe_newsletter_widget-2":{"title":"About","actionurl":""}}}
--------------------------------------------------------------------------------
/inc/fashe-meta/assets/js/fashe-meta.js:
--------------------------------------------------------------------------------
1 | (function ($) {
2 | 'use strict';
3 |
4 | // page template change option
5 |
6 | var $template = $( '#page_template' ),
7 | $pagesettingsmeta = $('#pagesettings-meta-box'),
8 | $headerlayout = $('#page_header_layout'),
9 | $pageopt = $( '.page-opt' );
10 |
11 |
12 |
13 | // Page Template Event
14 |
15 | $template.on( 'change', function(){
16 | var $this = $(this);
17 | if( $this.val() == 'template-builder.php' ){
18 | $pagesettingsmeta.show();
19 | }else{
20 | $pagesettingsmeta.hide();
21 | }
22 |
23 | });
24 | // if page template builder selected
25 | if( $template.val() == 'template-builder.php' ){
26 | $pagesettingsmeta.show();
27 | }else{
28 | $pagesettingsmeta.hide();
29 | }
30 |
31 |
32 | // Page header layout Event
33 | $headerlayout.on( 'change', function(){
34 | var $this = $(this);
35 | if( $this.val() == 'pagemeta' ){
36 | $pageopt.show();
37 | }else{
38 | $pageopt.hide();
39 | }
40 |
41 | });
42 |
43 | // if page layout selected
44 | if( $headerlayout.val() != 'pagemeta' ){
45 | $pageopt.hide();
46 | }
47 |
48 |
49 | })(jQuery);
--------------------------------------------------------------------------------
/inc/elementor-widgets/assets/js/countdowntime.js:
--------------------------------------------------------------------------------
1 | (function ($) {
2 | "use strict";
3 |
4 | function getTimeRemaining(endtime) {
5 | var t = Date.parse(endtime) - Date.parse(new Date());
6 | var seconds = Math.floor((t / 1000) % 60);
7 | var minutes = Math.floor((t / 1000 / 60) % 60);
8 | var hours = Math.floor((t / (1000 * 60 * 60)) % 24);
9 | var days = Math.floor(t / (1000 * 60 * 60 * 24));
10 | return {
11 | 'total': t,
12 | 'days': days,
13 | 'hours': hours,
14 | 'minutes': minutes,
15 | 'seconds': seconds
16 | };
17 | }
18 |
19 | function initializeClock(id, endtime) {
20 | var daysSpan = $('.days');
21 | var hoursSpan = $('.hours');
22 | var minutesSpan = $('.minutes');
23 | var secondsSpan = $('.seconds');
24 |
25 | function updateClock() {
26 | var t = getTimeRemaining(endtime);
27 |
28 | daysSpan.html(t.days);
29 | hoursSpan.html(('0' + t.hours).slice(-2));
30 | minutesSpan.html(('0' + t.minutes).slice(-2));
31 | secondsSpan.html(('0' + t.seconds).slice(-2))
32 |
33 | if (t.total <= 0) {
34 | clearInterval(timeinterval);
35 | }
36 | }
37 |
38 | updateClock();
39 | var timeinterval = setInterval(updateClock, 1000);
40 | }
41 |
42 | var day = $( '.days' ).data('days');
43 |
44 | var deadline = new Date(Date.parse(new Date()) + day * 24 * 60 * 60 * 1000 + 13 * 60 * 60 * 1000);
45 |
46 | initializeClock('clockdiv', deadline);
47 |
48 | })(jQuery);
--------------------------------------------------------------------------------
/inc/elementor-widgets/assets/css/slick.css:
--------------------------------------------------------------------------------
1 | /* Slider */
2 | .slick-slider
3 | {
4 | position: relative;
5 |
6 | display: block;
7 | box-sizing: border-box;
8 |
9 | -webkit-user-select: none;
10 | -moz-user-select: none;
11 | -ms-user-select: none;
12 | user-select: none;
13 |
14 | -webkit-touch-callout: none;
15 | -khtml-user-select: none;
16 | -ms-touch-action: pan-y;
17 | touch-action: pan-y;
18 | -webkit-tap-highlight-color: transparent;
19 | }
20 |
21 | .slick-list
22 | {
23 | position: relative;
24 |
25 | display: block;
26 | overflow: hidden;
27 |
28 | margin: 0;
29 | padding: 0;
30 | }
31 | .slick-list:focus
32 | {
33 | outline: none;
34 | }
35 | .slick-list.dragging
36 | {
37 | cursor: pointer;
38 | cursor: hand;
39 | }
40 |
41 | .slick-slider .slick-track,
42 | .slick-slider .slick-list
43 | {
44 | -webkit-transform: translate3d(0, 0, 0);
45 | -moz-transform: translate3d(0, 0, 0);
46 | -ms-transform: translate3d(0, 0, 0);
47 | -o-transform: translate3d(0, 0, 0);
48 | transform: translate3d(0, 0, 0);
49 | }
50 |
51 | .slick-track
52 | {
53 | position: relative;
54 | top: 0;
55 | left: 0;
56 |
57 | display: block;
58 | margin-left: auto;
59 | margin-right: auto;
60 | }
61 | .slick-track:before,
62 | .slick-track:after
63 | {
64 | display: table;
65 |
66 | content: '';
67 | }
68 | .slick-track:after
69 | {
70 | clear: both;
71 | }
72 | .slick-loading .slick-track
73 | {
74 | visibility: hidden;
75 | }
76 |
77 | .slick-slide
78 | {
79 | display: none;
80 | float: left;
81 |
82 | height: 100%;
83 | min-height: 1px;
84 | }
85 | [dir='rtl'] .slick-slide
86 | {
87 | float: right;
88 | }
89 | .slick-slide img
90 | {
91 | display: block;
92 | }
93 | .slick-slide.slick-loading img
94 | {
95 | display: none;
96 | }
97 | .slick-slide.dragging img
98 | {
99 | pointer-events: none;
100 | }
101 | .slick-initialized .slick-slide
102 | {
103 | display: block;
104 | }
105 | .slick-loading .slick-slide
106 | {
107 | visibility: hidden;
108 | }
109 | .slick-vertical .slick-slide
110 | {
111 | display: block;
112 |
113 | height: auto;
114 |
115 | border: 1px solid transparent;
116 | }
117 | .slick-arrow.slick-hidden {
118 | display: none;
119 | }
120 |
--------------------------------------------------------------------------------
/inc/elementor-widgets/assets/js/map-custom.js:
--------------------------------------------------------------------------------
1 | (function ($) {
2 | // USE STRICT
3 | "use strict";
4 |
5 | $(document).ready(function () {
6 |
7 | var selector_map = $('#google_map');
8 | var img_pin = selector_map.attr('data-pin');
9 | var data_map_x = selector_map.attr('data-map-x');
10 | var data_map_y = selector_map.attr('data-map-y');
11 | var scrollwhell = selector_map.attr('data-scrollwhell');
12 | var draggable = selector_map.attr('data-draggable');
13 |
14 | if (img_pin == null) {
15 | img_pin = 'images/icons/location.png';
16 | }
17 | if (data_map_x == null || data_map_y == null) {
18 | data_map_x = 40.007749;
19 | data_map_y = -93.266572;
20 | }
21 | if (scrollwhell == null) {
22 | scrollwhell = 0;
23 | }
24 |
25 | if (draggable == null) {
26 | draggable = 0;
27 | }
28 |
29 | var style = [];
30 |
31 | var latitude = data_map_x,
32 | longitude = data_map_y,
33 | map_zoom = 14;
34 |
35 | var locations = [
36 | ['
'+fashemapmarkertext.map_markertext+'
'
37 | , latitude, longitude, 2]
38 | ];
39 |
40 | if (selector_map !== undefined) {
41 | var map = new google.maps.Map(document.getElementById('google_map'), {
42 | zoom: 15,
43 | scrollwheel: scrollwhell,
44 | navigationControl: true,
45 | mapTypeControl: false,
46 | scaleControl: false,
47 | draggable: draggable,
48 | styles: style,
49 | center: new google.maps.LatLng(latitude, longitude),
50 | mapTypeId: google.maps.MapTypeId.ROADMAP
51 | });
52 | }
53 |
54 | var infowindow = new google.maps.InfoWindow();
55 |
56 | var marker, i;
57 |
58 | for (i = 0; i < locations.length; i++) {
59 |
60 | marker = new google.maps.Marker({
61 | position: new google.maps.LatLng(locations[i][1], locations[i][2]),
62 | map: map,
63 | icon: img_pin
64 | });
65 |
66 | google.maps.event.addListener(marker, 'click', (function(marker, i) {
67 | return function() {
68 | infowindow.setContent(locations[i][0]);
69 | infowindow.open(map, marker);
70 | }
71 | })(marker, i));
72 | }
73 |
74 | });
75 |
76 | })(jQuery);
--------------------------------------------------------------------------------
/js/loadmore-ajax.js:
--------------------------------------------------------------------------------
1 | (function ($) {
2 | 'use strict';
3 |
4 | // Portfolio load more button Ajax
5 |
6 | var $loadbutton = $( '.loadAjax' );
7 | if( $loadbutton.length ){
8 |
9 | // When default max pages 1 remove load more button
10 | if( portfolioloadajax.max_pages == 1 ){
11 | $loadbutton.remove();
12 | }
13 | //
14 | $loadbutton.on( 'click', function(){
15 |
16 | var $button = $( this ),
17 | $data;
18 |
19 | $data = {
20 | 'action' : 'fashe_load_ajax',
21 | 'query' : portfolioloadajax.posts,
22 | 'page' : portfolioloadajax.current_page,
23 | 'postNumber' : portfolioloadajax.postNumber
24 | };
25 |
26 | $.ajax({
27 |
28 | url : portfolioloadajax.action_url,
29 | data : $data,
30 | type : 'POST',
31 | beforeSend : function( xhr ){
32 |
33 | $button.text( portfolioloadajax.btnLodingLabel );
34 |
35 | },
36 | success: function( data ){
37 |
38 | var $dataload = $('.dataload'),
39 | $portfolioItems = $dataload.parent('.fashe-portfolio');
40 | if( data ) {
41 | // insert new posts
42 | $dataload.before(data);
43 | // increment page
44 | portfolioloadajax.current_page++;
45 |
46 | if ( $portfolioItems.length ) {
47 | setTimeout(function () {
48 | $portfolioItems.isotope('reloadItems').isotope({
49 | animationEngine: 'best-available',
50 | itemSelector: '.single_gallery_item'
51 | });
52 | }, 300);
53 | }
54 |
55 |
56 | // Change Button text From loading
57 | $button.text( portfolioloadajax.btnLabel );
58 |
59 | // if last page, remove the button
60 | if ( portfolioloadajax.current_page == portfolioloadajax.max_pages ){
61 | $button.remove();
62 | }
63 |
64 | } else {
65 | // if no data, remove the button as well
66 | $button.remove();
67 | }
68 |
69 | }
70 |
71 | });
72 |
73 | return false;
74 |
75 | } );
76 |
77 |
78 | }
79 |
80 |
81 | })(jQuery);
--------------------------------------------------------------------------------
/readme.txt:
--------------------------------------------------------------------------------
1 | === Plugin Name ===
2 | Contributors: colorlibplugins, silkalns
3 | Tags: woocommerce, widgets, plugin, demo, companion, home page, one page, parallax, social, portfolio, projects
4 | Requires at least: 4.6
5 | Tested up to: 5.1
6 | Requires PHP: 5.6
7 | Stable tag: trunk
8 | License: GPLv3 or later
9 | License URI: http://www.gnu.org/licenses/gpl-3.0.html
10 |
11 | Fashe Companion is a companion plugin for Fashe WordPress theme by Colorlib.com.
12 |
13 | == Description ==
14 |
15 | Fashe Companion is a companion for Fashe One Page WordPress theme by Colorlib.com. This plugin won't do anything for other free or premium WordPress themes and you need to download and install Fashe . If you are having problems with Fashe theme or its companion plugin the fastest way to receive help is via our theme support forum .
16 |
17 | This plugin will add necessary WordPress options and allow to import demo content which will help you to with website setup.
18 |
19 | While Fashe is a great one page WordPress theme it might not be for everyone therefore you might want to check other free WordPress themes that are created by Colorlib.
20 |
21 | = Plugin Options =
22 |
23 | * Creates required WordPress options to be used in theme
24 | * Creates demo(dummy) content for options to make them easier to use and understand how they work
25 | * Provides an option to import demo(dummy) content.
26 |
27 | = About Colorlib =
28 |
29 | Colorlib is the best and by far the most popular source for free and premium WordPress themes. Our themes has been downloaded over 1,5 million times and are used by developers, webmasters and regular users all over the world. We believe in open source and that's why we have made our themes free to use for private and commercial use.
30 |
31 | = Further Reading =
32 |
33 | If you are new to WordPress but are dedicated to make a website on your own Colorlib is the right place to start. Usually the trickiest part is to choose the right hosting because all hosting providers are not equal. We have outlined the best WordPress hosting providers and we hope you'll find them useful.
34 |
35 |
36 | == Installation ==
37 |
38 | This section describes how to install the plugin and get it working.
39 |
40 | 1. Upload the whole contents of the folder `Fashe-companion` to the `/wp-content/plugins/` directory
41 | 2. Activate the plugin through the 'Plugins' menu in WordPress dashboard
42 | 3. Enjoy using it :)
43 |
44 |
45 | == Frequently Asked Questions ==
46 |
47 | = What themes this plugin supports? =
48 |
49 | Currently it works only with Fashe theme.
50 |
51 | = Am I obligated to use it? =
52 |
53 | You can still use Fashe theme without this plugin but you won't be able to import demo content and use theme specific options that you see on front page of theme demo.
54 |
55 | == Changelog ==
56 |
57 | = 1.0.0 =
58 | * Initial release.
--------------------------------------------------------------------------------
/inc/demo-data/demo-import.php:
--------------------------------------------------------------------------------
1 | ';
17 |
18 | return array(
19 | array(
20 | 'import_file_name' => 'Fashe Demo',
21 | 'local_import_file' => FASHE_COMPANION_DEMO_DIR_PATH .'fashe-demo.xml',
22 | 'local_import_widget_file' => FASHE_COMPANION_DEMO_DIR_PATH .'fashe-widgets-demo.json',
23 | 'import_customizer_file_url' => plugins_url( 'fashe-customizer.dat', __FILE__ ),
24 | 'import_notice' => $demoImg,
25 | ),
26 | );
27 | }
28 | add_filter( 'pt-ocdi/import_files', 'fashe_import_files' );
29 |
30 | // demo import setup
31 | function fashe_after_import_setup() {
32 | // Assign menus to their locations.
33 | $main_menu = get_term_by( 'name', 'Primary Menu', 'nav_menu' );
34 | $social_menu = get_term_by( 'name', 'Social Menu', 'nav_menu' );
35 |
36 | set_theme_mod( 'nav_menu_locations', array(
37 | 'primary-menu' => $main_menu->term_id,
38 | 'social-menu' => $social_menu->term_id,
39 | )
40 | );
41 |
42 | // Assign front page and posts page (blog page).
43 | $front_page_id = get_page_by_title( 'Homepage v1' );
44 | $blog_page_id = get_page_by_title( 'Blog' );
45 | $shop_page_id = get_page_by_title( 'Shop' );
46 |
47 | update_option( 'show_on_front', 'page' );
48 | update_option( 'page_on_front', absint( $front_page_id->ID ) );
49 | update_option( 'page_for_posts', absint( $blog_page_id->ID ) );
50 | update_option( 'woocommerce_shop_page_id', absint( $shop_page_id->ID ) );
51 | update_option( 'fashe_demodata_import', 'yes' );
52 |
53 | }
54 | add_action( 'pt-ocdi/after_import', 'fashe_after_import_setup' );
55 |
56 | //disable the branding notice after successful demo import
57 | add_filter( 'pt-ocdi/disable_pt_branding', '__return_true' );
58 |
59 | //change the location, title and other parameters of the plugin page
60 | function fashe_import_plugin_page_setup( $default_settings ) {
61 | $default_settings['parent_slug'] = 'themes.php';
62 | $default_settings['page_title'] = esc_html__( 'One Click Demo Import' , 'fashe-companion' );
63 | $default_settings['menu_title'] = esc_html__( 'Import Demo Data' , 'fashe-companion' );
64 | $default_settings['capability'] = 'import';
65 | $default_settings['menu_slug'] = 'fashe-demo-import';
66 |
67 |
68 | return $default_settings;
69 | }
70 | add_filter( 'pt-ocdi/plugin_page_setup', 'fashe_import_plugin_page_setup' );
71 |
72 | // Enqueue scripts
73 | function fashe_demo_import_custom_scripts(){
74 |
75 |
76 | if( isset( $_GET['page'] ) && $_GET['page'] == 'fashe-demo-import' ){
77 | // style
78 | wp_enqueue_style( 'fashe-demo-import', plugins_url( 'css/demo-import.css', __FILE__ ), array(), '1.0', false );
79 | }
80 |
81 |
82 | }
83 | add_action( 'admin_enqueue_scripts', 'fashe_demo_import_custom_scripts' );
84 |
85 |
86 |
87 | ?>
--------------------------------------------------------------------------------
/fashe-companion.php:
--------------------------------------------------------------------------------
1 | parent();
77 |
78 |
79 | if( ( 'Fashe' == $current_theme->get( 'Name' ) ) || ( $is_parent && 'Fashe' == $is_parent->get( 'Name' ) ) ){
80 | require_once FASHE_COMPANION_DIR_PATH . 'fashe-init.php';
81 | }else{
82 |
83 | add_action( 'admin_notices', 'fashe_companion_admin_notice', 99 );
84 | function fashe_companion_admin_notice() {
85 | $url = 'https://wordpress.org/themes/fashe/';
86 | ?>
87 |
88 |
Fashe Companion plugin you have to also install the %1$sFashe Theme%2$s', 'fashe-companion' ), '', ' ' ); ?>
89 |
90 |
--------------------------------------------------------------------------------
/inc/demo-data/fashe-customizer.dat:
--------------------------------------------------------------------------------
1 | a:4:{s:8:"template";s:5:"fashe";s:4:"mods";a:25:{i:0;b:0;s:18:"nav_menu_locations";a:2:{s:12:"primary-menu";i:22;s:11:"social-menu";i:21;}s:16:"sidebars_widgets";a:2:{s:4:"time";i:1533117906;s:4:"data";a:9:{s:19:"wp_inactive_widgets";a:0:{}s:18:"fashe-post-sidebar";a:6:{i:0;s:8:"search-2";i:1;s:14:"recent-posts-2";i:2;s:17:"recent-comments-2";i:3;s:10:"archives-2";i:4;s:12:"categories-2";i:5;s:6:"meta-2";}s:18:"fashe-page-sidebar";a:0:{}s:17:"fashe-woo-sidebar";a:0:{}s:8:"footer-1";a:1:{i:0;s:20:"fashe_about_widget-2";}s:8:"footer-2";a:1:{i:0;s:32:"woocommerce_product_categories-2";}s:8:"footer-3";a:1:{i:0;s:6:"meta-4";}s:8:"footer-4";a:1:{i:0;s:6:"meta-3";}s:8:"footer-5";a:1:{i:0;s:25:"fashe_newsletter_widget-2";}}}s:18:"custom_css_post_id";i:-1;s:29:"fashe-gototop-toggle-settings";b:1;s:26:"fashe-cart-toggle-settings";b:1;s:15:"fashe_login_url";s:1:"#";s:34:"fashe-headersocial-toggle-settings";b:1;s:21:"fashe_header_top_text";s:42:"Free shipping for standard order over $100";s:23:"fashe_header_promo_text";s:19:"20% off everything!";s:29:"fashe_header_promoanchor_text";s:9:" Shop Now";s:28:"fashe_header_promoanchor_url";s:1:"#";s:22:"fashe_header_top_email";s:17:"fashe@example.com";s:37:"fashe-headerTranslate-toggle-settings";b:1;s:18:"fashe_fof_text_one";s:17:"Ooops 404 Error !";s:18:"fashe_fof_text_two";s:70:"Either something went wrong or the page dosen’t exist anymore. Go to";s:11:"custom_logo";i:13;s:24:"fashe_header_top_bgColor";s:7:"#f5f5f5";s:26:"fashe_header_top_textColor";s:7:"#888888";s:28:"fashe-widget-toggle-settings";b:1;s:20:"fashe_igaccess_token";s:51:"1418025861.1677ed0.cf75b706a9da414e8b919bbd02819957";s:12:"header_image";s:74:"http://spondan.com/fashe/wp-content/uploads/2018/10/towel-1838210_1280.jpg";s:17:"header_image_data";O:8:"stdClass":5:{s:13:"attachment_id";i:352;s:3:"url";s:74:"http://spondan.com/fashe/wp-content/uploads/2018/10/towel-1838210_1280.jpg";s:13:"thumbnail_url";s:74:"http://spondan.com/fashe/wp-content/uploads/2018/10/towel-1838210_1280.jpg";s:6:"height";i:853;s:5:"width";i:1280;}s:16:"fashe_map_apikey";s:39:"AIzaSyAKFWBqlKAGCeS1rMVoaNlwyayu0e0YRes";s:29:"fashe-footer-payment-settings";a:5:{i:0;a:3:{s:10:"paymenturl";s:1:"#";s:10:"paymentimg";s:62:"http://spondan.com/fashe/wp-content/uploads/2018/06/paypal.png";s:5:"index";i:0;}i:1;a:3:{s:10:"paymenturl";s:1:"#";s:10:"paymentimg";s:60:"http://spondan.com/fashe/wp-content/uploads/2018/06/visa.png";s:5:"index";i:1;}i:2;a:3:{s:10:"paymenturl";s:1:"#";s:10:"paymentimg";s:63:"http://spondan.com/fashe/wp-content/uploads/2018/06/express.png";s:5:"index";i:3;}i:3;a:3:{s:10:"paymenturl";s:1:"#";s:10:"paymentimg";s:66:"http://spondan.com/fashe/wp-content/uploads/2018/06/mastercard.png";s:5:"index";i:3;}i:4;a:3:{s:10:"paymenturl";s:1:"#";s:10:"paymentimg";s:64:"http://spondan.com/fashe/wp-content/uploads/2018/06/discover.png";s:5:"index";i:4;}}}s:7:"options";a:21:{s:22:"woocommerce_demo_store";s:2:"no";s:29:"woocommerce_demo_store_notice";s:79:"This is a demo store for testing purposes — no orders shall be fulfilled.";s:29:"woocommerce_shop_page_display";s:0:"";s:36:"woocommerce_category_archive_display";s:0:"";s:35:"woocommerce_default_catalog_orderby";s:10:"menu_order";s:27:"woocommerce_catalog_columns";i:4;s:30:"woocommerce_single_image_width";s:3:"600";s:33:"woocommerce_thumbnail_image_width";s:3:"300";s:30:"woocommerce_thumbnail_cropping";s:3:"1:1";s:43:"woocommerce_thumbnail_cropping_custom_width";s:1:"4";s:44:"woocommerce_thumbnail_cropping_custom_height";s:1:"3";s:34:"woocommerce_checkout_company_field";s:8:"optional";s:36:"woocommerce_checkout_address_2_field";s:8:"optional";s:32:"woocommerce_checkout_phone_field";s:8:"required";s:46:"woocommerce_checkout_highlight_required_fields";s:3:"yes";s:55:"woocommerce_checkout_terms_and_conditions_checkbox_text";s:44:"I have read and agree to the website [terms]";s:40:"woocommerce_checkout_privacy_policy_text";s:161:"Your personal data will be used to process your order, support your experience throughout this website, and for other purposes described in our [privacy_policy].";s:26:"wp_page_for_privacy_policy";s:1:"3";s:25:"woocommerce_terms_page_id";s:0:"";s:9:"site_icon";s:1:"0";s:23:"nav_menus_created_posts";a:0:{}}s:6:"wp_css";s:0:"";}
--------------------------------------------------------------------------------
/inc/sidebar-widgets/newsletter-widget.php:
--------------------------------------------------------------------------------
1 | esc_html__( 'Add footer newsletter signup form.', 'fashe' ), )
28 | );
29 |
30 | }
31 |
32 | // This is where the action happens
33 | public function widget( $args, $instance ) {
34 |
35 | $title = apply_filters( 'widget_title', $instance['title'] );
36 | $actionurl = apply_filters( 'widget_actionurl', $instance['actionurl'] );
37 |
38 | // mc validation
39 | wp_enqueue_script( 'mc-validate');
40 |
41 | // before and after widget arguments are defined by themes
42 | echo wp_kses_post( $args['before_widget'] );
43 | if ( ! empty( $title ) )
44 | echo wp_kses_post( $args['before_title'] . $title . $args['after_title'] );
45 |
46 |
47 | ?>
48 |
49 |
66 |
67 |
68 |
69 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
Enter here your MailChimp action URL. How to
101 |
102 |
103 |
104 |
105 | access_token = fashe_opt( 'fashe_igaccess_token' );
42 | }
43 |
44 | /**
45 | * @param $screen_name string Instagram username
46 | * @param $image_limit int Number of images to retrieve
47 | * @param $image_width int Desired image width to retrieve
48 | *
49 | * @return array|bool Array of tweets or false if method fails
50 | */
51 | public function get_items( $image_limit, $image_width ) {
52 |
53 | $transient = 'zoom_instagram_is_configured';
54 |
55 | $response = wp_remote_get( sprintf( 'https://api.instagram.com/v1/users/self/media/recent/?access_token=%s&count=%s', $this->access_token, $image_limit ) );
56 |
57 |
58 | if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) {
59 | set_transient( $transient, false, MINUTE_IN_SECONDS );
60 |
61 | return false;
62 | }
63 |
64 |
65 |
66 | $data = json_decode( wp_remote_retrieve_body( $response ) );
67 |
68 | $result = array();
69 | $username = '';
70 |
71 | foreach ( $data->data as $item ) {
72 |
73 | if(empty($username)){
74 | $username = $item->user->username;
75 | }
76 |
77 | $result[] = array(
78 | 'link' => $item->link,
79 | 'image-url' => $item->images->{ $this->get_best_size( $image_width ) }->url,
80 | 'likes' => $item->likes->count,
81 | 'comments' => $item->comments->count,
82 | 'location' => !empty( $item->location->name ) ? $item->location->name : ''
83 | );
84 | }
85 |
86 | $result = array('items' => $result, 'username'=> $username );
87 | set_transient( $transient, $result, 30 * MINUTE_IN_SECONDS );
88 |
89 | return $result;
90 | }
91 |
92 | /**
93 | * @param $screen_name string Instagram username
94 | *
95 | * @return bool|int Instagram user id or false on error
96 | */
97 | protected function get_user_id( $screen_name ) {
98 | $user_id_option = 'zoom_instagram_uid_' . $screen_name;
99 |
100 | if ( false !== ( $user_id = get_option( $user_id_option ) ) ) {
101 | return $user_id;
102 | }
103 |
104 | $response = wp_remote_get( sprintf( 'https://api.instagram.com/v1/users/search?q=%s&access_token=%s', $screen_name, $this->access_token ) );
105 |
106 | if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) {
107 | return false;
108 | }
109 |
110 | $result = json_decode( wp_remote_retrieve_body( $response ) );
111 |
112 | if ( ! isset( $result->data ) ) {
113 | return false;
114 | }
115 |
116 | $user_id = false;
117 |
118 | foreach ( $result->data as $user ) {
119 | if ( $user->username === $screen_name ) {
120 | $user_id = $user->id;
121 |
122 | break;
123 | }
124 | }
125 |
126 | update_option( $user_id_option, $user_id );
127 |
128 | return $user_id;
129 | }
130 |
131 | /**
132 | * @param $desired_width int Desired image width in pixels
133 | *
134 | * @return string Image size for Instagram API
135 | */
136 | protected function get_best_size( $desired_width ) {
137 | $size = 'thumbnail';
138 | $sizes = array(
139 | 'thumbnail' => 137,
140 | 'low_resolution' => 150,
141 | 'standard_resolution' => 640
142 | );
143 |
144 | $diff = PHP_INT_MAX;
145 |
146 | foreach ( $sizes as $key => $value ) {
147 | if ( abs( $desired_width - $value ) < $diff ) {
148 | $size = $key;
149 | $diff = abs( $desired_width - $value );
150 | }
151 | }
152 |
153 | return $size;
154 | }
155 |
156 | /**
157 | * Check if given access token is valid for Instagram Api.
158 | */
159 | public static function is_access_token_valid( $access_token ) {
160 | $response = wp_remote_get( sprintf( 'https://api.instagram.com/v1/users/self/?access_token=%s', $access_token ) );
161 |
162 | if ( is_wp_error( $response ) ) {
163 | return $response;
164 | }
165 |
166 | if ( 200 != wp_remote_retrieve_response_code( $response ) ) {
167 | return false;
168 | }
169 |
170 | return true;
171 | }
172 |
173 | public function is_configured() {
174 | $transient = 'zoom_instagram_is_configured';
175 |
176 | if ( false !== ( $result = get_transient( $transient ) ) ) {
177 | if ( 'yes' === $result ) {
178 | return true;
179 | }
180 |
181 | if ( 'no' === $result ) {
182 | return false;
183 | }
184 | }
185 |
186 | $condition = $this->is_access_token_valid( $this->access_token );
187 |
188 | if ( true === $condition ) {
189 | set_transient( $transient, 'yes', DAY_IN_SECONDS );
190 |
191 | return true;
192 | }
193 |
194 | set_transient( $transient, 'no', DAY_IN_SECONDS );
195 |
196 | return false;
197 | }
198 |
199 | public static function reset_cache() {
200 | delete_transient( 'zoom_instagram_is_configured' );
201 | }
202 |
203 | public function get_access_token() {
204 | return $this->access_token;
205 | }
206 |
207 | public function set_access_token( $access_token ) {
208 | $this->access_token = $access_token;
209 | }
210 | }
211 | ?>
--------------------------------------------------------------------------------
/inc/elementor-widgets/widgets/fashe-blog.php:
--------------------------------------------------------------------------------
1 | start_controls_section(
49 | 'blog_content',
50 | [
51 | 'label' => __( 'Blgo', 'fashe-companion' ),
52 | ]
53 | );
54 | $this->add_control(
55 | 'blog_sectiontitle',
56 | [
57 | 'label' => esc_html__( 'Section Title', 'fashe-companion' ),
58 | 'type' => Controls_Manager::TEXT,
59 | ]
60 | );
61 | $this->add_control(
62 | 'blog_limit',
63 | [
64 | 'label' => esc_html__( 'Post Limit', 'fashe-companion' ),
65 | 'type' => Controls_Manager::TEXT,
66 | 'default' => 3
67 | ]
68 | );
69 |
70 | $this->end_controls_section(); // End few words content
71 |
72 | //------------------------------ Style text ------------------------------
73 | $this->start_controls_section(
74 | 'style_color', [
75 | 'label' => __( 'Style Text Color', 'fashe-companion' ),
76 | 'tab' => Controls_Manager::TAB_STYLE,
77 | ]
78 | );
79 | $this->add_control(
80 | 'color_blogtitle', [
81 | 'label' => __( 'Blog Title Color', 'fashe-companion' ),
82 | 'type' => Controls_Manager::COLOR,
83 | 'default' => '#333333',
84 | 'selectors' => [
85 | '{{WRAPPER}} .blog .block3 h4.p-b-7 a' => 'color: {{VALUE}};',
86 | '{{WRAPPER}} .blog .block3 .s-text7' => 'color: {{VALUE}};',
87 | ],
88 | ]
89 | );
90 | $this->add_control(
91 | 'color_blogtitlehov', [
92 | 'label' => __( 'Blog Title Hover Color', 'fashe-companion' ),
93 | 'type' => Controls_Manager::COLOR,
94 | 'default' => '#e65540',
95 | 'selectors' => [
96 | '{{WRAPPER}} .blog .block3 h4.p-b-7 a:hover' => 'color: {{VALUE}};',
97 | ],
98 | ]
99 | );
100 | $this->add_control(
101 | 'color_blogtext', [
102 | 'label' => __( 'Blog Text Color', 'fashe-companion' ),
103 | 'type' => Controls_Manager::COLOR,
104 | 'default' => '#888888',
105 | 'selectors' => [
106 | '{{WRAPPER}} .blog .post-excerpt p' => 'color: {{VALUE}};',
107 | '{{WRAPPER}} .blog span.s-text6' => 'color: {{VALUE}};',
108 | ],
109 | ]
110 | );
111 |
112 | $this->end_controls_section();
113 |
114 | //------------------------------ Style Section ------------------------------
115 | $this->start_controls_section(
116 | 'style_section', [
117 | 'label' => __( 'Style Section', 'fashe-companion' ),
118 | 'tab' => Controls_Manager::TAB_STYLE,
119 | ]
120 | );
121 | $this->add_control(
122 | 'color_secttitle', [
123 | 'label' => __( 'Section Title Color', 'fashe-companion' ),
124 | 'type' => Controls_Manager::COLOR,
125 | 'default' => '#333333',
126 | 'selectors' => [
127 | '{{WRAPPER}} .blog .sec-title .m-text5' => 'color: {{VALUE}};',
128 | ],
129 | ]
130 | );
131 | $this->add_group_control(
132 | Group_Control_Typography::get_type(), [
133 | 'name' => 'typography_secttitle',
134 | 'selector' => '{{WRAPPER}} .blog .sec-title .m-text5',
135 | ]
136 | );
137 | $this->add_group_control(
138 | Group_Control_Text_Shadow::get_type(), [
139 | 'name' => 'text_shadow_secttitle',
140 | 'selector' => '{{WRAPPER}} .blog .sec-title .m-text5',
141 | ]
142 | );
143 | $this->end_controls_section();
144 |
145 |
146 | }
147 |
148 | protected function render() {
149 |
150 | $settings = $this->get_settings();
151 |
152 | ?>
153 |
154 |
155 | 'h3',
160 | 'text' => esc_html( $settings['blog_sectiontitle'] ),
161 | 'class' => 'm-text5 t-center',
162 | 'wrap_before' => '
',
163 | 'wrap_after' => '
',
164 | )
165 | );
166 | }
167 | // Blog
168 | fashe_blog_section( $settings['blog_limit'] );
169 | ?>
170 |
171 |
172 |
173 | start_controls_section(
50 | 'settings_instagram',
51 | [
52 | 'label' => __( 'Instagram settings', 'fashe-companion' ),
53 | ]
54 | );
55 | $this->add_control(
56 | 'section_title', [
57 | 'label' => __( 'Section Title', 'fashe-companion' ),
58 | 'type' => Controls_Manager::TEXT,
59 |
60 | ]
61 | );
62 | $this->add_control(
63 | 'img_limit', [
64 | 'label' => __( 'Image Limit', 'fashe-companion' ),
65 | 'type' => Controls_Manager::NUMBER,
66 | 'default' => '5',
67 |
68 | ]
69 | );
70 | $this->add_control(
71 | 'img_width', [
72 | 'label' => __( 'Image Widht', 'fashe-companion' ),
73 | 'type' => Controls_Manager::NUMBER,
74 | 'default' => '420'
75 |
76 | ]
77 | );
78 |
79 | $this->end_controls_section(); // End Instagram settings
80 |
81 |
82 |
83 | /**
84 | * Style Tab
85 | * ------------------------------ Style Title ------------------------------
86 | *
87 | */
88 | $this->start_controls_section(
89 | 'style_title', [
90 | 'label' => __( 'Style Title', 'fashe-companion' ),
91 | 'tab' => Controls_Manager::TAB_STYLE,
92 | ]
93 | );
94 |
95 | $this->add_control(
96 | 'color_title', [
97 | 'label' => __( 'Title Color', 'fashe-companion' ),
98 | 'type' => Controls_Manager::COLOR,
99 | 'default' => '#222222',
100 | 'selectors' => [
101 | '{{WRAPPER}} .instagram .sec-title h3' => 'color: {{VALUE}};',
102 | ],
103 | ]
104 | );
105 | $this->add_group_control(
106 | Group_Control_Typography::get_type(), [
107 | 'name' => 'typography_title',
108 | 'selector' => '{{WRAPPER}} .instagram .sec-title h3',
109 | ]
110 | );
111 | $this->add_group_control(
112 | Group_Control_Text_Shadow::get_type(), [
113 | 'name' => 'text_shadow_title',
114 | 'selector' => '{{WRAPPER}} .instagram .sec-title h3',
115 | ]
116 | );
117 | $this->end_controls_section();
118 |
119 |
120 |
121 | }
122 |
123 | protected function render() {
124 |
125 | $settings = $this->get_settings();
126 |
127 | $api = fashe_instagram_instance();
128 |
129 | $getitems = $api->get_items( $settings['img_limit'], $settings['img_width'] );
130 | $items = $getitems['items'];
131 | $username = $getitems['username'];
132 | ?>
133 |
134 | 'h3',
140 | 'text' => esc_html( $settings['section_title'] ),
141 | 'class' => 'm-text5 t-center',
142 | 'wrap_before' => '',
143 | 'wrap_after' => '
',
144 | )
145 | );
146 |
147 | }
148 | ?>
149 |
150 |
151 | 0 ):
153 | foreach( $items as $item ):
154 |
155 | $link = $item['link'];
156 | $src = $item['image-url'];
157 | $likes = $item['likes'];
158 | $comments = $item['comments'];
159 | $location = $item['location'];
160 |
161 | ?>
162 |
184 |
188 |
189 |
190 |
191 | start_controls_section(
49 | 'bannervideo_content',
50 | [
51 | 'label' => __( 'Banner Video Section Content', 'fashe-companion' ),
52 | ]
53 | );
54 | $this->add_control(
55 | 'bannervideo_titleone',
56 | [
57 | 'label' => esc_html__( 'Title #1', 'fashe-companion' ),
58 | 'type' => Controls_Manager::TEXT,
59 | 'label_block' => true
60 | ]
61 | );
62 | $this->add_control(
63 | 'bannervideo_titletwo',
64 | [
65 | 'label' => esc_html__( 'Title #2', 'fashe-companion' ),
66 | 'type' => Controls_Manager::TEXT,
67 | 'label_block' => true
68 | ]
69 | );
70 | $this->add_control(
71 | 'bannervideo_linktext',
72 | [
73 | 'label' => esc_html__( 'Link Title', 'fashe-companion' ),
74 | 'type' => Controls_Manager::TEXT,
75 | 'label_block' => true,
76 | 'default' => esc_html__( 'PLAY VIDEO', 'fashe' )
77 | ]
78 | );
79 | $this->add_control(
80 | 'bannervideo_videourl',
81 | [
82 | 'label' => esc_html__( 'Video Url', 'fashe-companion' ),
83 | 'type' => Controls_Manager::URL,
84 | 'show_external' => false
85 | ]
86 | );
87 |
88 | $this->end_controls_section(); // End content
89 |
90 |
91 | //------------------------------ Style title ------------------------------
92 | $this->start_controls_section(
93 | 'style_textcolor', [
94 | 'label' => __( 'Style Title', 'fashe-companion' ),
95 | 'tab' => Controls_Manager::TAB_STYLE,
96 | ]
97 | );
98 | $this->add_control(
99 | 'color_titleone', [
100 | 'label' => __( 'Title #1 Color', 'fashe-companion' ),
101 | 'type' => Controls_Manager::COLOR,
102 | 'default' => '#fff',
103 | 'selectors' => [
104 | '{{WRAPPER}} .flex-col-c-m .m-text9' => 'color: {{VALUE}};',
105 | ],
106 | ]
107 | );
108 | $this->add_control(
109 | 'color_titletwo', [
110 | 'label' => __( 'Title #2 Color', 'fashe-companion' ),
111 | 'type' => Controls_Manager::COLOR,
112 | 'default' => '#fff',
113 | 'selectors' => [
114 | '{{WRAPPER}} .flex-col-c-m .l-text1' => 'color: {{VALUE}};',
115 | ],
116 | ]
117 | );
118 | $this->add_control(
119 | 'color_titlethree', [
120 | 'label' => __( 'Link Title Color', 'fashe-companion' ),
121 | 'type' => Controls_Manager::COLOR,
122 | 'default' => '#fff',
123 | 'selectors' => [
124 | '{{WRAPPER}} .flex-col-c-m .btn-play' => 'color: {{VALUE}};',
125 | '{{WRAPPER}} .flex-col-c-m .hov5:hover' => 'border-color: {{VALUE}};',
126 | ],
127 | ]
128 | );
129 |
130 | $this->end_controls_section();
131 |
132 |
133 | }
134 |
135 | protected function render() {
136 |
137 | $settings = $this->get_settings();
138 |
139 | $pos = '';
140 | if( !empty( $settings['featuresvtwo_imgpos'] ) ){
141 | $pos = 'order-last';
142 | }
143 |
144 | ?>
145 |
146 |
147 |
148 | '.esc_html( $settings['bannervideo_titleone'] ).'';
152 | }
153 | // Text two
154 | if( !empty( $settings['bannervideo_titletwo'] ) ){
155 | echo '
'.esc_html( $settings['bannervideo_titletwo'] ).' ';
156 | }
157 | ?>
158 |
159 |
160 |
165 |
166 |
167 |
168 |
169 |
170 |
171 |
172 |
×
173 |
174 |
175 |
176 |
';
179 | }
180 | ?>
181 |
182 |
183 |
184 |
185 |
186 | start_controls_section(
49 | 'ourproduct_content',
50 | [
51 | 'label' => __( 'Our Product', 'fashe-companion' ),
52 | ]
53 | );
54 | $this->add_control(
55 | 'ptoduct_limit',
56 | [
57 | 'label' => esc_html__( 'Product Limit', 'fashe-companion' ),
58 | 'type' => Controls_Manager::NUMBER,
59 | 'default' => 8
60 | ]
61 | );
62 | $this->add_control(
63 | 'product_secttitle',
64 | [
65 | 'label' => esc_html__( 'Section Title', 'fashe-companion' ),
66 | 'type' => Controls_Manager::TEXT,
67 | ]
68 | );
69 |
70 | $this->end_controls_section(); // End Features content
71 |
72 | /**
73 | * Style Tab
74 | * ------------------------------ Style section title ------------------------------
75 | *
76 | */
77 | $this->start_controls_section(
78 | 'style_sectiontitle', [
79 | 'label' => __( 'Style Section Title', 'fashe-companion' ),
80 | 'tab' => Controls_Manager::TAB_STYLE,
81 | ]
82 | );
83 |
84 | $this->add_control(
85 | 'color_title', [
86 | 'label' => __( 'Title Color', 'fashe-companion' ),
87 | 'type' => Controls_Manager::COLOR,
88 | 'default' => '#222222',
89 | 'selectors' => [
90 | '{{WRAPPER}} .sec-title .m-text5' => 'color: {{VALUE}};',
91 | ],
92 | ]
93 | );
94 | $this->add_group_control(
95 | Group_Control_Typography::get_type(), [
96 | 'name' => 'typography_title',
97 | 'selector' => '{{WRAPPER}} .sec-title .m-text5',
98 | ]
99 | );
100 | $this->add_group_control(
101 | Group_Control_Text_Shadow::get_type(), [
102 | 'name' => 'text_shadow_title',
103 | 'selector' => '{{WRAPPER}} .sec-title .m-text5',
104 | ]
105 | );
106 | $this->end_controls_section();
107 |
108 | /**
109 | * Style Tab
110 | * ------------------------------ Style Filter ------------------------------
111 | *
112 | */
113 | $this->start_controls_section(
114 | 'style_filter', [
115 | 'label' => __( 'Style Filter', 'fashe-companion' ),
116 | 'tab' => Controls_Manager::TAB_STYLE,
117 | ]
118 | );
119 |
120 | $this->add_control(
121 | 'color_filter', [
122 | 'label' => __( 'Filter Color', 'fashe-companion' ),
123 | 'type' => Controls_Manager::COLOR,
124 | 'default' => '#888888',
125 | 'selectors' => [
126 | '{{WRAPPER}} .tab01 .nav-link' => 'color: {{VALUE}};',
127 | ],
128 | ]
129 | );
130 | $this->add_control(
131 | 'color_filterhov', [
132 | 'label' => __( 'Filter Hover Color', 'fashe-companion' ),
133 | 'type' => Controls_Manager::COLOR,
134 | 'default' => '#333333',
135 | 'selectors' => [
136 | '{{WRAPPER}} .tab01 .nav-link:hover' => 'color: {{VALUE}};',
137 | ],
138 | ]
139 | );
140 | $this->add_group_control(
141 | Group_Control_Typography::get_type(), [
142 | 'name' => 'typography_filter',
143 | 'selector' => '{{WRAPPER}} .tab01 .nav-link',
144 | ]
145 | );
146 |
147 | $this->end_controls_section();
148 |
149 |
150 |
151 | }
152 |
153 | protected function render() {
154 |
155 | $settings = $this->get_settings();
156 |
157 | $postnumber = 4;
158 | if( !empty( $settings['ptoduct_limit'] ) ){
159 | $postnumber = $settings['ptoduct_limit'];
160 | }
161 |
162 |
163 | ?>
164 |
165 |
166 |
167 | 'h3',
173 | 'text' => esc_html( $settings['product_secttitle'] ),
174 | 'class' => 'm-text5 t-center',
175 | 'wrap_before' => '
',
176 | 'wrap_after' => '
',
177 | )
178 | );
179 | }
180 | ?>
181 |
182 |
183 |
184 |
185 |
186 |
187 |
188 |
189 |
190 |
191 |
192 |
193 |
194 |
195 |
196 |
197 |
201 |
202 |
203 |
204 |
205 |
206 |
207 |
208 | start_controls_section(
49 | 'featured_products',
50 | [
51 | 'label' => __( 'Featured Products Settings', 'fashe-companion' ),
52 | ]
53 | );
54 | $this->add_control(
55 | 'sectiontitle', [
56 | 'label' => __( 'Section Title', 'fashe-companion' ),
57 | 'type' => Controls_Manager::TEXT,
58 | 'label_block' => true
59 | ]
60 | );
61 |
62 | $this->add_control(
63 | 'postlimit', [
64 | 'label' => __( 'Post Limit', 'fashe-companion' ),
65 | 'type' => Controls_Manager::NUMBER,
66 | 'label_block' => true,
67 | 'default' => 6
68 | ]
69 | );
70 | $this->end_controls_section(); // End counter content
71 |
72 |
73 | //------------------------------ Style title ------------------------------
74 | $this->start_controls_section(
75 | 'style_title', [
76 | 'label' => __( 'Style Section Title', 'fashe-companion' ),
77 | 'tab' => Controls_Manager::TAB_STYLE,
78 | ]
79 | );
80 | $this->add_control(
81 | 'color_title', [
82 | 'label' => __( 'Title Color', 'fashe-companion' ),
83 | 'type' => Controls_Manager::COLOR,
84 | 'default' => '#222222',
85 | 'selectors' => [
86 | '{{WRAPPER}} .newproduct h3.m-text5' => 'color: {{VALUE}};',
87 | ],
88 | ]
89 | );
90 | $this->add_group_control(
91 | Group_Control_Typography::get_type(), [
92 | 'name' => 'typography_title',
93 | 'selector' => '{{WRAPPER}} .newproduct h3.m-text5',
94 | ]
95 | );
96 | $this->add_group_control(
97 | Group_Control_Text_Shadow::get_type(), [
98 | 'name' => 'text_shadow_title',
99 | 'selector' => '{{WRAPPER}} .newproduct h3.m-text5',
100 | ]
101 | );
102 | $this->add_control(
103 | 'color_productprice', [
104 | 'label' => __( 'Product title and price color', 'fashe-companion' ),
105 | 'type' => Controls_Manager::COLOR,
106 | 'default' => '#222222',
107 | 'selectors' => [
108 | '{{WRAPPER}} .newproduct .block2 .s-text3' => 'color: {{VALUE}};',
109 | '{{WRAPPER}} .newproduct .block2 .m-text6' => 'color: {{VALUE}};',
110 | ],
111 | ]
112 | );
113 | $this->add_control(
114 | 'color_producttitlehov', [
115 | 'label' => __( 'Product title hover color', 'fashe-companion' ),
116 | 'type' => Controls_Manager::COLOR,
117 | 'default' => '#e65540',
118 | 'selectors' => [
119 | '{{WRAPPER}} .newproduct .block2 .s-text3:hover' => 'color: {{VALUE}};',
120 | ],
121 | ]
122 | );
123 | $this->end_controls_section();
124 |
125 | }
126 |
127 | protected function render() {
128 |
129 | $settings = $this->get_settings();
130 |
131 | ?>
132 |
133 |
134 |
135 |
136 | 'h3',
141 | 'text' => esc_html( $settings['sectiontitle'] ),
142 | 'class' => 'm-text5 t-center',
143 | 'wrap_before' => '
',
144 | 'wrap_after' => '
',
145 | )
146 | );
147 | }
148 | // Featured products
149 | fashe_featured_products( $settings['postlimit'] );
150 | ?>
151 |
152 |
153 |
154 |
155 |
156 | call_custom_scripts();
160 |
161 | }
162 |
163 |
164 | // Call custom scripts
165 | public function call_custom_scripts(){
166 |
167 | ?>
168 |
169 |
170 |
225 |
226 |
37 |
50 |
51 |
52 |
53 |
54 | ID ,'_fashe_page_layout_from', true );
56 | ?>
57 |
61 |
62 |
63 |
64 | ID ,'_fashe_page_style', true );
66 | ?>
67 |
68 |
69 |
70 |
84 |
85 |
94 |
107 | post_type)
123 | return $post_id;
124 |
125 | $meta_pageheader = "";
126 | $meta_pagestyle = "";
127 | $meta_pagelayout = "customizer";
128 |
129 | //
130 | if(isset($_POST["pageheader"]))
131 | {
132 | $meta_pageheader = $_POST["pageheader"];
133 | }
134 | update_post_meta($post_id, "_fashe_page_header", sanitize_text_field( $meta_pageheader ) );
135 |
136 | //
137 | if(isset($_POST["pagelayout"]))
138 | {
139 | $meta_pagelayout = $_POST["pagelayout"];
140 | }
141 | update_post_meta( $post_id, "_fashe_page_layout_from", sanitize_text_field( $meta_pagelayout ) );
142 |
143 | //
144 | if(isset($_POST["pagestyle"]))
145 | {
146 | $meta_pagestyle = $_POST["pagestyle"];
147 | }
148 | update_post_meta($post_id, "_fashe_page_style", sanitize_text_field( $meta_pagestyle ) );
149 |
150 | }
151 |
152 | add_action("save_post", "fashe_save_page_settings_meta", 10, 3);
153 |
154 | // Page header background settings save
155 | function fashe_save_page_page_headerbg_settings_meta( $post_id, $post, $update )
156 | {
157 | if (!isset( $_POST["fashe-headerbg-meta-nonce"] ) || !wp_verify_nonce( $_POST["fashe-headerbg-meta-nonce"], basename(__FILE__)))
158 | return $post_id;
159 |
160 | if(!current_user_can("edit_post", $post_id))
161 | return $post_id;
162 |
163 | if(defined("DOING_AUTOSAVE") && DOING_AUTOSAVE)
164 | return $post_id;
165 |
166 | $slug = "page";
167 | if($slug != $post->post_type)
168 | return $post_id;
169 |
170 | $meta_headerbg = "";
171 |
172 | if(isset($_POST["headerbg"]))
173 | {
174 | $meta_headerbg = $_POST["headerbg"];
175 | }
176 | update_post_meta( $post_id, "_fashe_header_bg", sanitize_text_field( $meta_headerbg ) );
177 |
178 | }
179 |
180 | add_action("save_post", "fashe_save_page_page_headerbg_settings_meta", 10, 3);
181 | ?>
--------------------------------------------------------------------------------
/inc/elementor-widgets/widgets/fashe-contact.php:
--------------------------------------------------------------------------------
1 | start_controls_section(
50 | 'contact_form',
51 | [
52 | 'label' => __( 'Contact Form', 'fashe-companion' ),
53 | ]
54 | );
55 | $this->add_control(
56 | 'contact_title',
57 | [
58 | 'label' => esc_html__( 'Title', 'fashe-companion' ),
59 | 'type' => Controls_Manager::TEXT,
60 | 'label_block' => true,
61 | 'default' => 'Send us your message',
62 | ]
63 | );
64 | $this->add_control(
65 | 'contact_formshortcode',
66 | [
67 | 'label' => esc_html__( 'Form Shortcode', 'fashe-companion' ),
68 | 'type' => Controls_Manager::WYSIWYG,
69 | ]
70 | );
71 | $this->end_controls_section(); // End Contact Form
72 | // ---------------------------------------- Contact Map ------------------------------
73 | $this->start_controls_section(
74 | 'contact_map',
75 | [
76 | 'label' => __( 'Map', 'fashe-companion' ),
77 | ]
78 | );
79 | $this->add_control(
80 | 'map_lat',
81 | [
82 | 'label' => esc_html__( 'Latitude', 'fashe-companion' ),
83 | 'type' => Controls_Manager::TEXT ,
84 | ]
85 | );
86 | $this->add_control(
87 | 'map_lng',
88 | [
89 | 'label' => esc_html__( 'Longitude', 'fashe-companion' ),
90 | 'type' => Controls_Manager::TEXT ,
91 | ]
92 | );
93 | $this->add_control(
94 | 'map_markertext',
95 | [
96 | 'label' => esc_html__( 'Marker Text', 'fashe-companion' ),
97 | 'type' => Controls_Manager::TEXTAREA ,
98 | ]
99 | );
100 | $this->add_control(
101 | 'map_markerimg',
102 | [
103 | 'label' => esc_html__( 'Marker Icon Upload', 'fashe-companion' ),
104 | 'type' => Controls_Manager::MEDIA ,
105 | ]
106 | );
107 | $this->end_controls_section(); // End content
108 |
109 |
110 | /**
111 | * Style Tab
112 | * ------------------------------ Style ------------------------------
113 | *
114 | */
115 | $this->start_controls_section(
116 | 'stylecolor', [
117 | 'label' => __( 'Style Color', 'fashe-companion' ),
118 | 'tab' => Controls_Manager::TAB_STYLE,
119 | ]
120 | );
121 | $this->add_control(
122 | 'color_title', [
123 | 'label' => __( 'Title Color', 'fashe-companion' ),
124 | 'type' => Controls_Manager::COLOR,
125 | 'default' => '#333333',
126 | 'selectors' => [
127 | '{{WRAPPER}} .leave-comment h4' => 'color: {{VALUE}};',
128 | ],
129 | ]
130 | );
131 | $this->add_control(
132 | 'color_btntext', [
133 | 'label' => __( 'Button text color', 'fashe-companion' ),
134 | 'type' => Controls_Manager::COLOR,
135 | 'default' => '#ffffff',
136 | 'selectors' => [
137 | '{{WRAPPER}} .bg1.bo-rad-23.hov1' => 'color: {{VALUE}};',
138 | ],
139 | ]
140 | );
141 | $this->add_control(
142 | 'color_border', [
143 | 'label' => __( 'Button text hover color', 'fashe-companion' ),
144 | 'type' => Controls_Manager::COLOR,
145 | 'default' => '#ffffff',
146 | 'selectors' => [
147 | '{{WRAPPER}} .bg1.bo-rad-23.hov1:hover' => 'color: {{VALUE}};',
148 | ],
149 | ]
150 | );
151 | $this->add_control(
152 | 'color_btnbg', [
153 | 'label' => __( 'Button background color', 'fashe-companion' ),
154 | 'type' => Controls_Manager::COLOR,
155 | 'default' => '#222222',
156 | 'selectors' => [
157 | '{{WRAPPER}} .bg1.bo-rad-23.hov1' => 'background-color: {{VALUE}};',
158 | ],
159 | ]
160 | );
161 | $this->add_control(
162 | 'color_btnbghov', [
163 | 'label' => __( 'Button Hover background color', 'fashe-companion' ),
164 | 'type' => Controls_Manager::COLOR,
165 | 'default' => '#e65540',
166 | 'selectors' => [
167 | '{{WRAPPER}} .bg1.bo-rad-23.hov1:hover' => 'background-color: {{VALUE}};',
168 | ],
169 | ]
170 | );
171 |
172 |
173 | $this->end_controls_section();
174 |
175 |
176 | }
177 |
178 | protected function render() {
179 |
180 | $settings = $this->get_settings();
181 |
182 | wp_enqueue_script( 'maps-googleapis' );
183 | wp_enqueue_script( 'fashe-map-custom' );
184 |
185 | if( !empty( $settings['map_markertext'] ) ){
186 | wp_localize_script( 'fashe-map-custom', 'fashemapmarkertext', array(
187 | 'map_markertext' => esc_html( $settings['map_markertext'] )
188 | ) );
189 | }
190 |
191 |
192 | ?>
193 |
194 |
195 |
196 |
197 |
200 |
205 |
208 |
209 |
220 |
221 |
222 |
223 |
224 | start_controls_section(
50 | 'shipping_content',
51 | [
52 | 'label' => __( 'Shipping Information Content', 'fashe-companion' ),
53 | ]
54 | );
55 | $this->add_control(
56 | 'shippingcontent', [
57 | 'label' => __( 'Shipping Information', 'fashe-companion' ),
58 | 'type' => Controls_Manager::REPEATER,
59 | 'title_field' => '{{{ label }}}',
60 | 'fields' => [
61 | [
62 | 'name' => 'label',
63 | 'label' => __( 'Title Top', 'fashe-companion' ),
64 | 'type' => Controls_Manager::TEXT,
65 | 'label_block' => true,
66 | 'default' => 'Free Delivery Worldwide'
67 | ],
68 | [
69 | 'name' => 'uselink',
70 | 'label' => __( 'Title Botom Link', 'fashe-companion' ),
71 | 'type' => \Elementor\Controls_Manager::SWITCHER,
72 | 'label_on' => __( 'Yes', 'fashe-companion' ),
73 | 'label_off' => __( 'No', 'fashe-companion' ),
74 | 'return_value' => 'yes',
75 | 'default' => 'yes',
76 | ],
77 | [
78 | 'name' => 'titlebottom',
79 | 'label' => __( 'Title Bottom', 'fashe-companion' ),
80 | 'type' => Controls_Manager::TEXT,
81 | 'label_block' => true,
82 | 'default' => 'Simply return it within 30 days for an exchange.'
83 | ],
84 | [
85 | 'name' => 'tblink',
86 | 'label' => __( 'Title Bottom Link', 'fashe-companion' ),
87 | 'type' => Controls_Manager::URL,
88 | 'label_block' => true,
89 | 'show_external' => false,
90 | 'condition' => [
91 | 'uselink' => 'yes',
92 | ]
93 | ],
94 | [
95 | 'name' => 'border',
96 | 'label' => __( 'Set Border', 'fashe-companion' ),
97 | 'type' => \Elementor\Controls_Manager::SWITCHER,
98 | 'label_on' => __( 'Yes', 'fashe-companion' ),
99 | 'label_off' => __( 'No', 'fashe-companion' ),
100 | 'return_value' => 'yes',
101 | 'default' => 'no',
102 | ],
103 | ],
104 | ]
105 | );
106 |
107 | $this->end_controls_section(); // End map content
108 |
109 | /**
110 | * Style Tab
111 | * ------------------------------ Style ------------------------------
112 | *
113 | */
114 | $this->start_controls_section(
115 | 'textcolor', [
116 | 'label' => __( 'Text Color', 'fashe-companion' ),
117 | 'tab' => Controls_Manager::TAB_STYLE,
118 | ]
119 | );
120 | $this->add_control(
121 | 'color_titletop', [
122 | 'label' => __( 'Title Top Color', 'fashe-companion' ),
123 | 'type' => Controls_Manager::COLOR,
124 | 'default' => '#555555',
125 | 'selectors' => [
126 | '{{WRAPPER}} .shipping .m-text12' => 'color: {{VALUE}};',
127 | ],
128 | ]
129 | );
130 | $this->add_control(
131 | 'color_titlebottom', [
132 | 'label' => __( 'Title Bottom Color', 'fashe-companion' ),
133 | 'type' => Controls_Manager::COLOR,
134 | 'default' => '#888888',
135 | 'selectors' => [
136 | '{{WRAPPER}} .shipping .s-text11' => 'color: {{VALUE}};',
137 | ],
138 | ]
139 | );
140 |
141 | $this->add_control(
142 | 'color_linkhover', [
143 | 'label' => __( 'Link Hover Color', 'fashe-companion' ),
144 | 'type' => Controls_Manager::COLOR,
145 | 'default' => '#e65540',
146 | 'selectors' => [
147 | '{{WRAPPER}} .shipping a.s-text11:hover' => 'color: {{VALUE}};',
148 | ],
149 | ]
150 | );
151 |
152 | $this->add_control(
153 | 'color_border', [
154 | 'label' => __( 'Border Color', 'fashe-companion' ),
155 | 'type' => Controls_Manager::COLOR,
156 | 'default' => '#d9d9d9',
157 | 'selectors' => [
158 | '{{WRAPPER}} .shipping .bo2' => 'border-color: {{VALUE}};',
159 | ],
160 | ]
161 | );
162 |
163 |
164 | $this->end_controls_section();
165 |
166 |
167 | }
168 |
169 | protected function render() {
170 |
171 | $settings = $this->get_settings();
172 |
173 | ?>
174 |
175 |
176 |
177 |
178 | 0 ):
180 | foreach( $settings['shippingcontent'] as $info ):
181 | $border = 'respon1';
182 | if( !empty( $info['border'] ) ){
183 | $border = 'bo2 respon2';
184 | }
185 | ?>
186 |
187 | 'h4',
193 | 'text' => esc_html( $info['label'] ),
194 | 'class' => 'm-text12 t-center',
195 | )
196 | );
197 | }
198 | // title bottom with anchor
199 | if( !empty( $info['uselink'] ) ){
200 |
201 | if( !empty( $info['titlebottom'] ) && !empty( $info['tblink']['url'] ) ){
202 | echo fashe_anchor_tag(
203 | array(
204 | 'url' => esc_url( $info['tblink']['url'] ),
205 | 'class' => 's-text11 t-center',
206 | 'text' => esc_html( $info['titlebottom'] ),
207 | )
208 | );
209 | }
210 | }else{
211 | // title bottom
212 | if( !empty( $info['titlebottom'] ) ){
213 | echo fashe_other_tag(
214 | array(
215 | 'tag' => 'span',
216 | 'text' => esc_html( $info['titlebottom'] ),
217 | 'class' => 's-text11 t-center',
218 | )
219 | );
220 | }
221 | }
222 | ?>
223 |
224 |
228 |
229 |
230 |
231 | start_controls_section(
50 | 'aboutus_title',
51 | [
52 | 'label' => __( 'Title', 'fashe-companion' ),
53 | ]
54 | );
55 | $this->add_control(
56 | 'aboutus_toptitle',
57 | [
58 | 'label' => esc_html__( 'Title', 'fashe-companion' ),
59 | 'type' => Controls_Manager::TEXT,
60 | 'default' => 'Our story'
61 | ]
62 | );
63 | $this->end_controls_section(); // End title
64 | // ---------------------------------------- About Content ------------------------------
65 | $this->start_controls_section(
66 | 'aboutus_content',
67 | [
68 | 'label' => __( 'About Content', 'fashe-companion' ),
69 | ]
70 | );
71 | $this->add_control(
72 | 'aboutus_aboutcontent',
73 | [
74 | 'label' => esc_html__( 'Content', 'fashe-companion' ),
75 | 'type' => Controls_Manager::WYSIWYG ,
76 | 'default' => 'Phasellus egestas nisi nisi, lobortis ultricies risus semper nec. Vestibulum pharetra ac ante ut pellentesque. Curabitur fringilla dolor quis lorem accumsan, vitae molestie urna dapibus. Pellentesque porta est ac neque bibendum viverra. Vivamus lobortis magna ut interdum laoreet.'
77 | ]
78 | );
79 | $this->end_controls_section(); // End content
80 |
81 | // ---------------------------------------- About BlockQuote Content ------------------------------
82 | $this->start_controls_section(
83 | 'aboutus_blockquote',
84 | [
85 | 'label' => __( 'About BlockQuote Content', 'fashe-companion' ),
86 | ]
87 | );
88 | $this->add_control(
89 | 'aboutus_blockquotecontent',
90 | [
91 | 'label' => esc_html__( 'Content', 'fashe-companion' ),
92 | 'type' => Controls_Manager::WYSIWYG ,
93 | 'default' => 'Creativity is just connecting things. When you ask creative people how they did something, they feel a little guilty because they didn\'t really do it, they just saw something. It seemed obvious to them after a while.'
94 | ]
95 | );
96 | $this->add_control(
97 | 'aboutus_bttomtitle',
98 | [
99 | 'label' => esc_html__( 'Blockquote Bottom Title', 'fashe-companion' ),
100 | 'type' => Controls_Manager::TEXT ,
101 | 'default' => '- Steve Job’s'
102 | ]
103 | );
104 | $this->end_controls_section(); // End blockQuote content
105 |
106 | // ---------------------------------------- About featured image ------------------------------
107 | $this->start_controls_section(
108 | 'aboutus_featuredimg',
109 | [
110 | 'label' => __( 'Featured Image', 'fashe-companion' ),
111 | ]
112 | );
113 | $this->add_control(
114 | 'aboutus_img',
115 | [
116 | 'label' => esc_html__( 'Image', 'fashe-companion' ),
117 | 'type' => Controls_Manager::MEDIA ,
118 | ]
119 | );
120 | $this->end_controls_section(); // End blockQuote content
121 |
122 | /**
123 | * Style Tab
124 | * ------------------------------ Style ------------------------------
125 | *
126 | */
127 | $this->start_controls_section(
128 | 'stylecolor', [
129 | 'label' => __( 'Style Color', 'fashe-companion' ),
130 | 'tab' => Controls_Manager::TAB_STYLE,
131 | ]
132 | );
133 | $this->add_control(
134 | 'color_title', [
135 | 'label' => __( 'Title Color', 'fashe-companion' ),
136 | 'type' => Controls_Manager::COLOR,
137 | 'default' => '#333333',
138 | 'selectors' => [
139 | '{{WRAPPER}} h3.m-text26' => 'color: {{VALUE}};',
140 | ],
141 | ]
142 | );
143 | $this->add_control(
144 | 'color_content', [
145 | 'label' => __( 'Content Color', 'fashe-companion' ),
146 | 'type' => Controls_Manager::COLOR,
147 | 'default' => '#888888',
148 | 'selectors' => [
149 | '{{WRAPPER}} section p' => 'color: {{VALUE}};',
150 | ],
151 | ]
152 | );
153 | $this->add_control(
154 | 'color_blockquotetitle', [
155 | 'label' => __( 'Blockquote Bottom Title Color', 'fashe-companion' ),
156 | 'type' => Controls_Manager::COLOR,
157 | 'default' => '#333333',
158 | 'selectors' => [
159 | '{{WRAPPER}} span.s-text7' => 'color: {{VALUE}};',
160 | ],
161 | ]
162 | );
163 | $this->add_control(
164 | 'color_border', [
165 | 'label' => __( 'Border Color', 'fashe-companion' ),
166 | 'type' => Controls_Manager::COLOR,
167 | 'default' => '#e6e6e6',
168 | 'selectors' => [
169 | '{{WRAPPER}} .bo13' => 'border-color: {{VALUE}};',
170 | ],
171 | ]
172 | );
173 |
174 |
175 | $this->end_controls_section();
176 |
177 |
178 | }
179 |
180 | protected function render() {
181 |
182 | $settings = $this->get_settings();
183 |
184 | ?>
185 |
186 |
187 |
188 |
189 |
';
192 | echo fashe_img_tag(
193 | array(
194 | 'url' => esc_url( $settings['aboutus_img']['url'] ),
195 | )
196 | );
197 | echo '
';
198 | }
199 | ?>
200 |
201 |
202 | 'h3',
207 | 'text' => esc_html( $settings['aboutus_toptitle'] ),
208 | 'class' => 'm-text26 p-t-15 p-b-16',
209 | ) );
210 | }
211 | ?>
212 |
213 |
214 |
217 |
218 |
219 |
220 |
223 |
224 |
227 |
228 | 'span',
235 | 'text' => esc_html( $settings['aboutus_bttomtitle'] ),
236 | 'class' => 's-text7',
237 | ));
238 | }
239 | ?>
240 |
241 |
242 |
243 |
244 |
245 |
246 | 'product_cat' ,'hide_empty' => true ) );
17 |
18 |
19 | $productCat = [];
20 | if( is_array( $product_cat ) && count( $product_cat ) > 0 ){
21 | foreach( $product_cat as $cat ){
22 | $productCat[$cat->slug]= $cat->name;
23 | }
24 | }
25 | return $productCat;
26 | }
27 |
28 | // Instagram object Instance
29 | function fashe_instagram_instance(){
30 |
31 | $api = Wpzoom_Instagram_Widget_API::getInstance();
32 |
33 | return $api;
34 | }
35 | // Featured Product
36 | function fashe_featured_products( $postnumber = '6' ){
37 | ?>
38 |
39 |
40 | 'product',
43 | 'posts_per_page' => esc_html( $postnumber ),
44 | 'tax_query' => array(
45 | array(
46 | 'taxonomy' => 'product_visibility',
47 | 'field' => 'name',
48 | 'terms' => 'featured',
49 | ),
50 | ),
51 | );
52 | $loop = new WP_Query( $args );
53 | if ( $loop->have_posts() ) {
54 |
55 | global $set_place;
56 | $set_place['set_place'] = 'item-slick2 p-l-15 p-r-15';
57 |
58 | while ( $loop->have_posts() ) : $loop->the_post();
59 | wc_get_template_part( 'content', 'product' );
60 | endwhile;
61 | } else {
62 | echo esc_html__( 'No feature product found', 'fashe' );
63 | }
64 | wp_reset_postdata();
65 | ?>
66 |
67 |
68 |
75 |
76 | 'post',
79 | 'posts_per_page' => esc_html( $postnumber ),
80 | );
81 |
82 | $query = new WP_Query( $args );
83 |
84 | if( $query->have_posts() ):
85 | while( $query->have_posts() ):
86 | $query->the_post();
87 | ?>
88 |
89 |
90 |
91 |
92 |
95 |
96 |
97 |
98 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 |
116 |
117 |
130 |
131 |
132 |
133 |
134 | 'product',
138 | 'post_status' => 'publish',
139 | 'ignore_sticky_posts' => 1,
140 | 'posts_per_page' => esc_html( $postnumber ),
141 | 'meta_key' => 'total_sales',
142 | 'orderby' => 'meta_value_num',
143 | );
144 |
145 | $loop = new WP_Query( $args );
146 | if ( $loop->have_posts() ) {
147 |
148 | while ( $loop->have_posts() ) : $loop->the_post();
149 |
150 | wc_get_template_part( 'content', 'product' );
151 |
152 | endwhile;
153 | wp_reset_postdata();
154 | } else {
155 | echo esc_html__( 'No feature product found', 'fashe' );
156 | }
157 |
158 | ?>
159 |
160 |
161 |
162 |
163 |
164 | 'product',
167 | 'posts_per_page' => esc_html( $postnumber ),
168 | 'tax_query' => array(
169 | array(
170 | 'taxonomy' => 'product_visibility',
171 | 'field' => 'name',
172 | 'terms' => 'featured',
173 | ),
174 | ),
175 | );
176 | $loop = new WP_Query( $args );
177 | if ( $loop->have_posts() ) {
178 |
179 | while ( $loop->have_posts() ) : $loop->the_post();
180 |
181 | wc_get_template_part( 'content', 'product' );
182 |
183 | endwhile;
184 | wp_reset_postdata();
185 | } else {
186 | echo esc_html__( 'No feature product found', 'fashe' );
187 | }
188 |
189 | ?>
190 |
191 |
192 |
193 |
194 |
195 | query->visibility_meta_query();
200 | $meta_query[] = $woocommerce->query->stock_status_meta_query();
201 | $args = array(
202 | 'posts_per_page'=> esc_html( $postnumber ),
203 | 'orderby' => 'title',
204 | 'order' => 'asc',
205 | 'no_found_rows' => 1,
206 | 'post_status' => 'publish',
207 | 'post_type' => 'product',
208 | 'orderby' => 'date',
209 | 'order' => 'ASC',
210 | 'meta_query' => $meta_query,
211 | 'post__in' => $product_ids_on_sale
212 | );
213 |
214 | $loop = new WP_Query( $args );
215 | if ( $loop->have_posts() ) {
216 |
217 | while ( $loop->have_posts() ) : $loop->the_post();
218 |
219 | wc_get_template_part( 'content', 'product' );
220 |
221 | endwhile;
222 | wp_reset_postdata();
223 | } else {
224 | echo esc_html__( 'No feature product found', 'fashe' );
225 | }
226 | ?>
227 |
228 |
229 |
230 |
231 |
232 |
233 | esc_html( $postnumber ),
237 | 'no_found_rows' => 1,
238 | 'post_status' => 'publish',
239 | 'post_type' => 'product',
240 | 'meta_key' => '_wc_average_rating',
241 | 'orderby' => 'meta_value_num',
242 | 'order' => 'DESC',
243 | 'meta_query' => WC()->query->get_meta_query(),
244 | 'tax_query' => WC()->query->get_tax_query(),
245 | ); // WPCS: slow query ok.
246 | $loop = new WP_Query( $query_args );
247 | if ( $loop->have_posts() ) {
248 | while ( $loop->have_posts() ) : $loop->the_post();
249 |
250 | wc_get_template_part( 'content', 'product' );
251 |
252 | endwhile;
253 | wp_reset_postdata();
254 | } else {
255 | echo esc_html__( 'No feature product found', 'fashe' );
256 | }
257 |
258 | ?>
259 |
260 |
261 |
262 |
263 |
273 | [text* fashe-name class:sizefull class:s-text7 class:p-l-22 class:p-r-22 placeholder "Full Name"]
274 |
275 |
276 | [text* phone-number class:sizefull class:s-text7 class:p-l-22 class:p-r-22 placeholder "Phone Number"]
277 |
278 |
279 | [email* fashe-email class:sizefull class:s-text7 class:p-l-22 class:p-r-22 placeholder "Email Address"]
280 |
281 | [textarea message class:dis-block class:s-text7 class:size20 class:bo4 class:p-l-22 rows:4 class:p-r-22 class:p-t-13 class:m-b-20 placeholder "Message"]
282 |
283 | [submit class:flex-c-m class:size2 class:bg1 class:bo-rad-23 class:hov1 class:m-text3 class:trans-0-4 "Send"]
284 |
';
285 | return $template;
286 |
287 | } else {
288 | return $template;
289 | }
290 | }
291 | add_filter( 'wpcf7_default_template', 'fashe_contact7_form_content', 10, 2 );
292 |
293 | ?>
--------------------------------------------------------------------------------
/inc/elementor-widgets/elementor-widget.php:
--------------------------------------------------------------------------------
1 | init_hooks();
134 | do_action( 'press_elements_loaded' );
135 | }
136 |
137 |
138 | /**
139 | * Init Hooks
140 | *
141 | * Hook into actions and filters.
142 | *
143 | * @since 1.7.0
144 | *
145 | * @access private
146 | */
147 | private function init_hooks() {
148 | add_action( 'init', [ $this, 'init' ] );
149 | }
150 |
151 |
152 | /**
153 | * Init Fashe Elementor Widget
154 | *
155 | * Load the plugin after Elementor (and other plugins) are loaded.
156 | *
157 | * @since 1.0.0
158 | * @since 1.7.0 The logic moved from a standalone function to this class method.
159 | *
160 | * @access public
161 | */
162 | public function init() {
163 |
164 | if ( !did_action( 'elementor/loaded' ) ) {
165 | add_action( 'admin_notices', [ $this, 'admin_notice_missing_main_plugin' ] );
166 | return;
167 | }
168 |
169 | // Check for required Elementor version
170 |
171 | if ( !version_compare( ELEMENTOR_VERSION, self::MINIMUM_ELEMENTOR_VERSION, '>=' ) ) {
172 | add_action( 'admin_notices', [ $this, 'admin_notice_minimum_elementor_version' ] );
173 | return;
174 | }
175 |
176 | // Check for required PHP version
177 |
178 | if ( version_compare( PHP_VERSION, self::MINIMUM_PHP_VERSION, '<' ) ) {
179 | add_action( 'admin_notices', [ $this, 'admin_notice_minimum_php_version' ] );
180 | return;
181 | }
182 |
183 | // Add new Elementor Categories
184 | add_action( 'elementor/elements/categories_registered', [ $this, 'add_elementor_category' ] );
185 | // Register Widget Scripts
186 | add_action( 'elementor/frontend/after_register_scripts', [ $this, 'register_widget_scripts' ] );
187 | // Register Widget Styles
188 | add_action( 'admin_enqueue_scripts', [ $this, 'register_admin_styles' ] );
189 | add_action( 'elementor/frontend/after_enqueue_styles', [ $this, 'register_widget_styles' ] );
190 | add_action( 'elementor/frontend/after_register_styles', [ $this, 'register_widget_styles' ] );
191 | add_action( 'elementor/editor/before_enqueue_scripts', [ $this, 'register_widget_styles' ] );
192 |
193 | // Register New Widgets
194 | add_action( 'elementor/widgets/widgets_registered', [ $this, 'on_widgets_registered' ] );
195 |
196 | // Fashe Companion enqueue style and scripts
197 | add_action( 'wp_enqueue_scripts', [ $this, 'enqueue_element_widgets_scripts' ] );
198 |
199 |
200 | }
201 |
202 | /**
203 | * Admin notice
204 | *
205 | * Warning when the site doesn't have Elementor installed or activated.
206 | *
207 | * @since 1.1.0
208 | * @since 1.7.0 Moved from a standalone function to a class method.
209 | *
210 | * @access public
211 | */
212 | public function admin_notice_missing_main_plugin() {
213 | $message = sprintf(
214 | /* translators: 1: Elementor */
215 | esc_html__( '"%1$s" requires "%2$s" to be installed and activated.', 'fashe-companion' ),
216 | '' . esc_html__( 'Fashe Theme', 'fashe-companion' ) . ' ',
217 | '' . esc_html__( 'Elementor', 'fashe-companion' ) . ' '
218 | );
219 | printf( '', $message );
220 | }
221 |
222 | /**
223 | * Admin notice
224 | *
225 | * Warning when the site doesn't have a minimum required Elementor version.
226 | *
227 | * @since 1.1.0
228 | * @since 1.7.0 Moved from a standalone function to a class method.
229 | *
230 | * @access public
231 | */
232 | public function admin_notice_minimum_elementor_version() {
233 | $message = sprintf(
234 | /* translators: 1: Elementor 2: Required Elementor version */
235 | esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', 'fashe-companion' ),
236 | '' . esc_html__( 'Fashe', 'fashe-companion' ) . ' ',
237 | '' . esc_html__( 'Elementor', 'fashe-companion' ) . ' ',
238 | self::MINIMUM_ELEMENTOR_VERSION
239 | );
240 | printf( '', $message );
241 | }
242 |
243 | /**
244 | * Admin notice
245 | *
246 | * Warning when the site doesn't have a minimum required PHP version.
247 | *
248 | * @access public
249 | */
250 | public function admin_notice_minimum_php_version() {
251 | $message = sprintf(
252 | /* translators: 1: PHP 2: Required PHP version */
253 | esc_html__( '"%1$s" requires "%2$s" version %3$s or greater.', 'fashe-companion' ),
254 | '' . esc_html__( 'Fashe', 'fashe-companion' ) . ' ',
255 | '' . esc_html__( 'PHP', 'fashe-companion' ) . ' ',
256 | self::MINIMUM_PHP_VERSION
257 | );
258 | printf( '', $message );
259 | }
260 |
261 | /**
262 | * Add new Elementor Categories
263 | *
264 | * Register new widget categories for Fashe widgets.
265 | *
266 | * @access public
267 | */
268 | public function add_elementor_category() {
269 |
270 | \Elementor\Plugin::instance()->elements_manager->add_category( 'fashe-elements', [
271 | 'title' => __( 'Fashe Elements', 'fashe-companion' ),
272 | ], 1 );
273 |
274 | }
275 |
276 |
277 | /**
278 | * Enqueue Widgets Scripts
279 | *
280 | * Enqueue custom scripts required to run fashe elementor widgets.
281 | *
282 | * @access public
283 | */
284 | public function enqueue_element_widgets_scripts() {
285 | // googlr map api key
286 | $apiKey = fashe_opt('fashe_map_apikey');
287 |
288 | /******************
289 | Enqueue Css
290 | ******************/
291 | wp_enqueue_style( 'slick', plugins_url( 'assets/css/slick.css', __FILE__ ), array(), '1.0.0', 'all' );
292 |
293 | /*****************
294 | Enqueue Js
295 | ******************/
296 |
297 | // google api js
298 | wp_register_script( 'maps-googleapis', '//maps.googleapis.com/maps/api/js?key='.$apiKey );
299 | // mailchimp validate js
300 | wp_register_script( 'mc-validate', '//s3.amazonaws.com/downloads.mailchimp.com/js/mc-validate.js' );
301 | // countdowntime js
302 | wp_enqueue_script( 'countdowntime', plugins_url( 'assets/js/countdowntime.js', __FILE__ ), array('jquery'), '1.0.0', true );
303 | // map custom js
304 | wp_register_script( 'fashe-map-custom', plugins_url( 'assets/js/map-custom.js', __FILE__ ), array('jquery'), '1.0', true );
305 |
306 | // fashe companion main js
307 | wp_enqueue_script( 'fashe-companion', plugins_url( 'assets/js/fashe-companion-main.js', __FILE__ ), array('jquery'), '1.0', true );
308 |
309 |
310 | }
311 |
312 |
313 | /**
314 | * Register Widget Scripts
315 | *
316 | * Register custom scripts required to run.
317 | *
318 | * @access public
319 | */
320 | public function register_widget_scripts() {
321 |
322 | }
323 |
324 | /**
325 | * Register Widget Styles
326 | *
327 | * Register custom styles required to run Fashe.
328 | *
329 | * @access public
330 | */
331 | public function register_widget_styles() {
332 | // Typing Effect
333 | wp_enqueue_style( 'fashe-companion-elementor-edit', plugins_url( '/assets/css/elementor-edit.css', __FILE__ ) );
334 |
335 |
336 | }
337 |
338 | /**
339 | * Register Admin Styles
340 | *
341 | * Register custom styles required to Fashe Companion WordPress Admin Dashboard.
342 | *
343 | * @access public
344 | */
345 | public function register_admin_styles() {
346 |
347 | }
348 |
349 | /**
350 | * Register New Widgets
351 | *
352 | * Include Fashe Companion widgets files and register them in Elementor.
353 | *
354 | * @since 1.0.0
355 | * @since 1.7.1 The method moved to this class.
356 | *
357 | * @access public
358 | */
359 | public function on_widgets_registered() {
360 |
361 | $this->include_widgets();
362 | $this->register_widgets();
363 | }
364 |
365 | /**
366 | * Include Widgets Files
367 | *
368 | * Load fashe companion widgets files.
369 | *
370 | * @since 1.0.0
371 | * @since 1.7.1 The method moved to this class.
372 | *
373 | * @access private
374 | */
375 | private function include_widgets() {
376 |
377 | require_once FASHE_COMPANION_EW_DIR_PATH . 'widgets/fashe-banner-countdown.php';
378 | require_once FASHE_COMPANION_EW_DIR_PATH . 'widgets/fashe-banner-video.php';
379 | require_once FASHE_COMPANION_EW_DIR_PATH . 'widgets/fashe-blog.php';
380 | require_once FASHE_COMPANION_EW_DIR_PATH . 'widgets/fashe-feature-products.php';
381 | require_once FASHE_COMPANION_EW_DIR_PATH . 'widgets/fashe-instagram.php';
382 | require_once FASHE_COMPANION_EW_DIR_PATH . 'widgets/fashe-our-products.php';
383 | require_once FASHE_COMPANION_EW_DIR_PATH . 'widgets/fashe-product-categories.php';
384 | require_once FASHE_COMPANION_EW_DIR_PATH . 'widgets/fashe-shipping.php';
385 | require_once FASHE_COMPANION_EW_DIR_PATH . 'widgets/fashe-slider.php';
386 | require_once FASHE_COMPANION_EW_DIR_PATH . 'widgets/fashe-about.php';
387 | require_once FASHE_COMPANION_EW_DIR_PATH . 'widgets/fashe-contact.php';
388 |
389 | }
390 |
391 | /**
392 | * Register Widgets
393 | *
394 | * Register fashe companion widgets.
395 | *
396 | * @since 1.0.0
397 | * @since 1.7.1 The method moved to this class.
398 | *
399 | * @access private
400 | */
401 | private function register_widgets() {
402 | // Register elements widgets
403 | \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new \Fasheelementor\Widgets\Fashe_Banner_Counter() );
404 | \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new \Fasheelementor\Widgets\Fashe_Banner_Video() );
405 | \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new \Fasheelementor\Widgets\Fashe_Blog() );
406 | \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new \Fasheelementor\Widgets\Fashe_Feature_Products() );
407 | \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new \Fasheelementor\Widgets\Fashe_Instagram() );
408 | \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new \Fasheelementor\Widgets\Fashe_Our_Products() );
409 | \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new \Fasheelementor\Widgets\Fashe_Product_Categories() );
410 | \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new \Fasheelementor\Widgets\Fashe_Shipping() );
411 | \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new \Fasheelementor\Widgets\Fashe_Slider() );
412 | \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new \Fasheelementor\Widgets\Fashe_About() );
413 | \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new \Fasheelementor\Widgets\Fashe_Contact() );
414 |
415 | }
416 |
417 | }
418 | }
419 | // Make sure the same function is not loaded twice in free/premium versions.
420 |
421 |
422 |
423 | if ( !function_exists( 'fashe_el_widgets_load' ) ) {
424 | /**
425 | * Load Fashe elementor widget
426 | *
427 | * Main instance of Press_Elements.
428 | *
429 | * @since 1.0.0
430 | * @since 1.7.0 The logic moved from this function to a class method.
431 | */
432 | function fashe_el_widgets_load() {
433 | return Fashe_El_Widgets::instance();
434 | }
435 |
436 | // Run fashe elementor widget
437 | fashe_el_widgets_load();
438 | }
439 |
440 |
441 | add_action( 'wp_enqueue_scripts', function() {
442 | wp_dequeue_style('elementor-global');
443 | });
--------------------------------------------------------------------------------
/inc/elementor-widgets/widgets/fashe-slider.php:
--------------------------------------------------------------------------------
1 | start_controls_section(
49 | 'slider_content',
50 | [
51 | 'label' => __( 'Slider content', 'fashe-companion' ),
52 | ]
53 | );
54 | $this->add_control(
55 | 'slider_style',
56 | [
57 | 'label' => __( 'Slider Style', 'fashe-companion' ),
58 | 'type' => \Elementor\Controls_Manager::SELECT,
59 | 'default' => 'style_1',
60 | 'label_block' => true,
61 | 'options' => [
62 | 'style_1' => __( 'Style 1', 'fashe-companion' ),
63 | 'style_2' => __( 'Style 2', 'fashe-companion' ),
64 | ],
65 | ]
66 | );
67 | $this->add_control(
68 | 'fasheslider', [
69 | 'label' => __( 'Create Slider', 'fashe-companion' ),
70 | 'type' => Controls_Manager::REPEATER,
71 | 'title_field' => '{{{ label }}}',
72 | 'fields' => [
73 | [
74 | 'name' => 'label',
75 | 'label' => __( 'Title', 'fashe-companion' ),
76 | 'type' => Controls_Manager::TEXT,
77 | 'label_block' => true,
78 | 'default' => 'Women Collection 2018'
79 | ],
80 | [
81 | 'name' => 'titleanimation',
82 | 'label' => __( 'Title Animation', 'fashe-companion' ),
83 | 'type' => Controls_Manager::ANIMATION,
84 | 'label_block' => true,
85 | ],
86 | [
87 | 'name' => 'titletwo',
88 | 'label' => __( 'Sub Title', 'fashe-companion' ),
89 | 'type' => Controls_Manager::TEXT,
90 | 'label_block' => true,
91 | 'default' => 'New arrivals'
92 | ],
93 | [
94 | 'name' => 'titletwoanimation',
95 | 'label' => __( 'Sub Title Animation', 'fashe-companion' ),
96 | 'type' => Controls_Manager::ANIMATION,
97 | 'label_block' => true,
98 | ],
99 | [
100 | 'name' => 'btnlabel',
101 | 'label' => __( 'Button Text', 'fashe-companion' ),
102 | 'type' => Controls_Manager::TEXT,
103 | 'label_block' => true,
104 | 'default' => 'Shop Now'
105 | ],
106 | [
107 | 'name' => 'btnurl',
108 | 'label' => __( 'Button Url', 'fashe-companion' ),
109 | 'show_external' => false,
110 | 'type' => Controls_Manager::URL,
111 | ],
112 | [
113 | 'name' => 'buttonanimation',
114 | 'label' => __( 'Button Animation', 'fashe-companion' ),
115 | 'type' => Controls_Manager::ANIMATION,
116 | 'label_block' => true,
117 | ],
118 | [
119 | 'name' => 'img',
120 | 'label' => __( 'Slider Background Image', 'fashe-companion' ),
121 | 'type' => Controls_Manager::MEDIA,
122 | ],
123 |
124 |
125 | ],
126 | ]
127 | );
128 | $this->end_controls_section(); // End slider content
129 |
130 | //------------------------------ Style title ------------------------------
131 | $this->start_controls_section(
132 | 'style_titletwo', [
133 | 'label' => __( 'Style Title ', 'fashe-companion' ),
134 | 'tab' => Controls_Manager::TAB_STYLE,
135 | ]
136 | );
137 | $this->add_control(
138 | 'color_titletwo', [
139 | 'label' => __( 'Title Color', 'fashe-companion' ),
140 | 'type' => Controls_Manager::COLOR,
141 | 'default' => '#ffffff',
142 | 'selectors' => [
143 | '{{WRAPPER}} .caption2-slide1.xl-text1' => 'color: {{VALUE}};',
144 | '{{WRAPPER}} .caption2-slide1.xl-text1.bo14' => 'border-color: {{VALUE}};',
145 | ],
146 | ]
147 | );
148 | $this->add_group_control(
149 | Group_Control_Typography::get_type(), [
150 | 'name' => 'typography_titletwo',
151 | 'selector' => '{{WRAPPER}} .caption2-slide1.xl-text1',
152 | ]
153 | );
154 | $this->add_group_control(
155 | Group_Control_Text_Shadow::get_type(), [
156 | 'name' => 'text_shadow_titletwo',
157 | 'selector' => '{{WRAPPER}} .caption2-slide1.xl-text1',
158 | ]
159 | );
160 | $this->end_controls_section();
161 |
162 | /**
163 | * Style Tab
164 | * ------------------------------ Style Sub Title ------------------------------
165 | *
166 | */
167 | $this->start_controls_section(
168 | 'style_title', [
169 | 'label' => __( 'Style Sub Title', 'fashe-companion' ),
170 | 'tab' => Controls_Manager::TAB_STYLE,
171 | ]
172 | );
173 |
174 | $this->add_control(
175 | 'color_title', [
176 | 'label' => __( 'Sub Title Color', 'fashe-companion' ),
177 | 'type' => Controls_Manager::COLOR,
178 | 'default' => '#ffffff',
179 | 'selectors' => [
180 | '{{WRAPPER}} .caption1-slide1.m-text1' => 'color: {{VALUE}};',
181 | ],
182 | ]
183 | );
184 | $this->add_group_control(
185 | Group_Control_Typography::get_type(), [
186 | 'name' => 'typography_title',
187 | 'selector' => '{{WRAPPER}} .caption1-slide1.m-text1',
188 | ]
189 | );
190 | $this->add_group_control(
191 | Group_Control_Text_Shadow::get_type(), [
192 | 'name' => 'text_shadow_title',
193 | 'selector' => '{{WRAPPER}} .caption1-slide1.m-text1',
194 | ]
195 | );
196 | $this->end_controls_section();
197 |
198 | //------------------------------ Style Button ------------------------------
199 | $this->start_controls_section(
200 | 'style_btn', [
201 | 'label' => __( 'Style Button', 'fashe-companion' ),
202 | 'tab' => Controls_Manager::TAB_STYLE,
203 | ]
204 | );
205 | $this->add_control(
206 | 'color_btntext', [
207 | 'label' => __( 'Button Text Color', 'fashe-companion' ),
208 | 'type' => Controls_Manager::COLOR,
209 | 'default' => '#111111',
210 | 'selectors' => [
211 | '{{WRAPPER}} .flex-c-m.size2.bo-rad-23.hov1' => 'color: {{VALUE}};',
212 | ],
213 | ]
214 | );
215 | $this->add_control(
216 | 'color_btnhovtext', [
217 | 'label' => __( 'Button Hover Text Color', 'fashe-companion' ),
218 | 'type' => Controls_Manager::COLOR,
219 | 'default' => '#111111',
220 | 'selectors' => [
221 | '{{WRAPPER}} .flex-c-m.size2.bo-rad-23.hov1:hover' => 'color: {{VALUE}};',
222 | ],
223 | ]
224 | );
225 | $this->add_control(
226 | 'color_btnbg', [
227 | 'label' => __( 'Button background Color', 'fashe-companion' ),
228 | 'type' => Controls_Manager::COLOR,
229 | 'default' => '#ffffff',
230 | 'selectors' => [
231 | '{{WRAPPER}} .flex-c-m.size2.bo-rad-23.hov1' => 'background-color: {{VALUE}};',
232 | ],
233 | ]
234 | );
235 | $this->add_control(
236 | 'color_btnhovbg', [
237 | 'label' => __( 'Button Hover background Color', 'fashe-companion' ),
238 | 'type' => Controls_Manager::COLOR,
239 | 'default' => '#e65540',
240 | 'selectors' => [
241 | '{{WRAPPER}} .flex-c-m.size2.bo-rad-23.hov1:hover' => 'background-color: {{VALUE}};',
242 | ],
243 | ]
244 | );
245 | $this->add_group_control(
246 | Group_Control_Typography::get_type(), [
247 | 'name' => 'typography_btn',
248 | 'selector' => '{{WRAPPER}} .flex-c-m.size2.bo-rad-23.hov1',
249 | ]
250 | );
251 |
252 | $this->end_controls_section();
253 |
254 |
255 | }
256 |
257 |
258 |
259 | protected function render() {
260 |
261 | $settings = $this->get_settings();
262 |
263 | ?>
264 |
265 |
266 |
267 |
268 |
269 | 0 ):
271 |
272 | $i = 0;
273 | foreach( $settings['fasheslider'] as $slider ):
274 |
275 | $i++;
276 |
277 | ?>
278 |
>
279 |
280 |
281 |
284 |
285 |
286 |
287 |
293 |
294 |
295 |
296 |
302 |
303 |
304 |
305 |
310 |
311 |
317 |
320 |
321 |
322 |
326 |
327 |
328 |
329 |
330 |
331 | call_custom_scripts();
335 |
336 | }
337 |
338 | // Call custom scripts
339 | public function call_custom_scripts(){
340 |
341 |
342 | ?>
343 |
344 |
430 | \n"
9 | "Language-Team: \n"
10 | "Language: \n"
11 | "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
12 | "MIME-Version: 1.0\n"
13 | "Content-Type: text/plain; charset=UTF-8\n"
14 | "Content-Transfer-Encoding: 8bit\n"
15 | "X-Generator: Loco https://localise.biz/"
16 |
17 | #. 1: Elementor
18 | #: inc/elementor-widgets/elementor-widget.php:214
19 | #, php-format
20 | msgid "\"%1$s\" requires \"%2$s\" to be installed and activated."
21 | msgstr ""
22 |
23 | #. 1: Elementor 2: Required Elementor version
24 | #. 1: PHP 2: Required PHP version
25 | #: inc/elementor-widgets/elementor-widget.php:234
26 | #: inc/elementor-widgets/elementor-widget.php:252
27 | #, php-format
28 | msgid "\"%1$s\" requires \"%2$s\" version %3$s or greater."
29 | msgstr ""
30 |
31 | #: inc/elementor-widgets/widgets/fashe-about.php:85
32 | msgid "About BlockQuote Content"
33 | msgstr ""
34 |
35 | #: inc/elementor-widgets/widgets/fashe-about.php:68
36 | msgid "About Content"
37 | msgstr ""
38 |
39 | #: inc/elementor-widgets/widgets/fashe-about.php:32
40 | msgid "About Us"
41 | msgstr ""
42 |
43 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:177
44 | msgid "Background Image"
45 | msgstr ""
46 |
47 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:32
48 | msgid "Banner Countdown"
49 | msgstr ""
50 |
51 | #: inc/elementor-widgets/widgets/fashe-banner-video.php:32
52 | msgid "Banner Video"
53 | msgstr ""
54 |
55 | #: inc/elementor-widgets/widgets/fashe-banner-video.php:51
56 | msgid "Banner Video Section Content"
57 | msgstr ""
58 |
59 | #: inc/elementor-widgets/widgets/fashe-blog.php:51
60 | msgid "Blgo"
61 | msgstr ""
62 |
63 | #: inc/elementor-widgets/widgets/fashe-about.php:99
64 | msgid "Blockquote Bottom Title"
65 | msgstr ""
66 |
67 | #: inc/elementor-widgets/widgets/fashe-about.php:155
68 | msgid "Blockquote Bottom Title Color"
69 | msgstr ""
70 |
71 | #: inc/elementor-widgets/widgets/fashe-blog.php:32
72 | msgid "Blog"
73 | msgstr ""
74 |
75 | #: inc/elementor-widgets/widgets/fashe-blog.php:102
76 | msgid "Blog Text Color"
77 | msgstr ""
78 |
79 | #: inc/elementor-widgets/widgets/fashe-blog.php:81
80 | msgid "Blog Title Color"
81 | msgstr ""
82 |
83 | #: inc/elementor-widgets/widgets/fashe-blog.php:92
84 | msgid "Blog Title Hover Color"
85 | msgstr ""
86 |
87 | #: inc/elementor-widgets/widgets/fashe-about.php:165
88 | #: inc/elementor-widgets/widgets/fashe-shipping.php:154
89 | msgid "Border Color"
90 | msgstr ""
91 |
92 | #: inc/elementor-widgets/widgets/fashe-slider.php:114
93 | msgid "Button Animation"
94 | msgstr ""
95 |
96 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:230
97 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:352
98 | #: inc/elementor-widgets/widgets/fashe-slider.php:227
99 | msgid "Button background Color"
100 | msgstr ""
101 |
102 | #: inc/elementor-widgets/widgets/fashe-contact.php:153
103 | msgid "Button background color"
104 | msgstr ""
105 |
106 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:240
107 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:362
108 | #: inc/elementor-widgets/widgets/fashe-slider.php:237
109 | msgid "Button Hover background Color"
110 | msgstr ""
111 |
112 | #: inc/elementor-widgets/widgets/fashe-contact.php:163
113 | msgid "Button Hover background color"
114 | msgstr ""
115 |
116 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:220
117 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:342
118 | #: inc/elementor-widgets/widgets/fashe-slider.php:217
119 | msgid "Button Hover Text Color"
120 | msgstr ""
121 |
122 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:325
123 | msgid "Button Style"
124 | msgstr ""
125 |
126 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:184
127 | #: inc/elementor-widgets/widgets/fashe-slider.php:101
128 | msgid "Button Text"
129 | msgstr ""
130 |
131 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:210
132 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:332
133 | #: inc/elementor-widgets/widgets/fashe-slider.php:207
134 | msgid "Button Text Color"
135 | msgstr ""
136 |
137 | #: inc/elementor-widgets/widgets/fashe-contact.php:133
138 | msgid "Button text color"
139 | msgstr ""
140 |
141 | #: inc/elementor-widgets/widgets/fashe-contact.php:143
142 | msgid "Button text hover color"
143 | msgstr ""
144 |
145 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:191
146 | #: inc/elementor-widgets/widgets/fashe-slider.php:108
147 | msgid "Button Url"
148 | msgstr ""
149 |
150 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:74
151 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:100
152 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:126
153 | msgid "Category"
154 | msgstr ""
155 |
156 | #: inc/elementor-widgets/elementor-widget.php:103
157 | #: inc/elementor-widgets/elementor-widget.php:119
158 | msgid "Cheatin’ huh?"
159 | msgstr ""
160 |
161 | #. Author of the plugin
162 | msgid "Colorlib"
163 | msgstr ""
164 |
165 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:63
166 | msgid "Column 1"
167 | msgstr ""
168 |
169 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:89
170 | msgid "Column 2"
171 | msgstr ""
172 |
173 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:115
174 | msgid "Column 3"
175 | msgstr ""
176 |
177 | #: inc/elementor-widgets/widgets/fashe-contact.php:32
178 | msgid "Contact"
179 | msgstr ""
180 |
181 | #: inc/elementor-widgets/widgets/fashe-contact.php:52
182 | msgid "Contact Form"
183 | msgstr ""
184 |
185 | #: inc/elementor-widgets/widgets/fashe-about.php:74
186 | #: inc/elementor-widgets/widgets/fashe-about.php:91
187 | msgid "Content"
188 | msgstr ""
189 |
190 | #: inc/elementor-widgets/widgets/fashe-about.php:145
191 | msgid "Content Color"
192 | msgstr ""
193 |
194 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:51
195 | msgid "Countdown Product Info"
196 | msgstr ""
197 |
198 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:163
199 | msgid "Countdown Style"
200 | msgstr ""
201 |
202 | #: inc/elementor-widgets/widgets/fashe-slider.php:69
203 | msgid "Create Slider"
204 | msgstr ""
205 |
206 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:221
207 | msgid "Date Box Border Color"
208 | msgstr ""
209 |
210 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:199
211 | msgid "Date Color"
212 | msgstr ""
213 |
214 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:210
215 | msgid "Date Text Color"
216 | msgstr ""
217 |
218 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:86
219 | msgid "Days"
220 | msgstr ""
221 |
222 | #: inc/demo-data/demo-import.php:16
223 | msgid "Demo Preview Imgae"
224 | msgstr ""
225 |
226 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:170
227 | msgid "Descriptions"
228 | msgstr ""
229 |
230 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:307
231 | msgid "Descriptions Color"
232 | msgstr ""
233 |
234 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:300
235 | msgid "Descriptions Style"
236 | msgstr ""
237 |
238 | #: inc/elementor-widgets/elementor-widget.php:216
239 | #: inc/elementor-widgets/elementor-widget.php:236
240 | msgid "Elementor"
241 | msgstr ""
242 |
243 | #: inc/elementor-widgets/elementor-widget.php:235
244 | #: inc/elementor-widgets/elementor-widget.php:253
245 | msgid "Fashe"
246 | msgstr ""
247 |
248 | #. Name of the plugin
249 | msgid "Fashe Companion"
250 | msgstr ""
251 |
252 | #. Description of the plugin
253 | msgid "Fashe Companion is a companion for Fashe theme."
254 | msgstr ""
255 |
256 | #: inc/elementor-widgets/elementor-widget.php:270
257 | msgid "Fashe Elements"
258 | msgstr ""
259 |
260 | #: inc/elementor-widgets/elementor-widget.php:215
261 | msgid "Fashe Theme"
262 | msgstr ""
263 |
264 | #: inc/fashe-meta/fashe-meta-config.php:90
265 | #: inc/elementor-widgets/widgets/fashe-about.php:110
266 | msgid "Featured Image"
267 | msgstr ""
268 |
269 | #: inc/elementor-widgets/widgets/fashe-feature-products.php:32
270 | msgid "Featured Products"
271 | msgstr ""
272 |
273 | #: inc/elementor-widgets/widgets/fashe-feature-products.php:51
274 | msgid "Featured Products Settings"
275 | msgstr ""
276 |
277 | #: inc/elementor-widgets/widgets/fashe-our-products.php:122
278 | msgid "Filter Color"
279 | msgstr ""
280 |
281 | #: inc/elementor-widgets/widgets/fashe-our-products.php:132
282 | msgid "Filter Hover Color"
283 | msgstr ""
284 |
285 | #: inc/elementor-widgets/widgets/fashe-contact.php:67
286 | msgid "Form Shortcode"
287 | msgstr ""
288 |
289 | #: inc/fashe-meta/fashe-meta-config.php:89
290 | msgid "From Customize"
291 | msgstr ""
292 |
293 | #: inc/elementor-widgets/widgets/fashe-slider.php:32
294 | msgid "Hero Section Slider"
295 | msgstr ""
296 |
297 | #: inc/fashe-meta/fashe-meta-config.php:46
298 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:112
299 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:154
300 | msgid "Hide"
301 | msgstr ""
302 |
303 | #. Author URI of the plugin
304 | msgid "https://colorlib.com/"
305 | msgstr ""
306 |
307 | #. URI of the plugin
308 | msgid "https://colorlib.com/wp/themes/fashe/"
309 | msgstr ""
310 |
311 | #: inc/elementor-widgets/widgets/fashe-about.php:116
312 | msgid "Image"
313 | msgstr ""
314 |
315 | #: inc/elementor-widgets/widgets/fashe-instagram.php:64
316 | msgid "Image Limit"
317 | msgstr ""
318 |
319 | #: inc/elementor-widgets/widgets/fashe-instagram.php:72
320 | msgid "Image Widht"
321 | msgstr ""
322 |
323 | #: inc/demo-data/demo-import.php:60
324 | msgid "Import Demo Data"
325 | msgstr ""
326 |
327 | #: fashe-companion.php:69
328 | #, php-format
329 | msgid ""
330 | "In order to use the Fashe Companion plugin you have to also "
331 | "install the %1$sFashe Theme%2$s"
332 | msgstr ""
333 |
334 | #: inc/elementor-widgets/widgets/fashe-instagram.php:32
335 | msgid "Instagram Section"
336 | msgstr ""
337 |
338 | #: inc/elementor-widgets/widgets/fashe-instagram.php:52
339 | msgid "Instagram settings"
340 | msgstr ""
341 |
342 | #: inc/elementor-widgets/widgets/fashe-contact.php:82
343 | msgid "Latitude"
344 | msgstr ""
345 |
346 | #: inc/elementor-widgets/widgets/fashe-shipping.php:143
347 | msgid "Link Hover Color"
348 | msgstr ""
349 |
350 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:136
351 | #: inc/elementor-widgets/widgets/fashe-banner-video.php:73
352 | msgid "Link Title"
353 | msgstr ""
354 |
355 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:263
356 | #: inc/elementor-widgets/widgets/fashe-banner-video.php:120
357 | msgid "Link Title Color"
358 | msgstr ""
359 |
360 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:273
361 | msgid "Link Title Hover Color"
362 | msgstr ""
363 |
364 | #: inc/elementor-widgets/widgets/fashe-contact.php:89
365 | msgid "Longitude"
366 | msgstr ""
367 |
368 | #: inc/elementor-widgets/widgets/fashe-contact.php:76
369 | msgid "Map"
370 | msgstr ""
371 |
372 | #: inc/elementor-widgets/widgets/fashe-contact.php:103
373 | msgid "Marker Icon Upload"
374 | msgstr ""
375 |
376 | #: inc/elementor-widgets/widgets/fashe-contact.php:96
377 | msgid "Marker Text"
378 | msgstr ""
379 |
380 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:79
381 | msgid "New Price"
382 | msgstr ""
383 |
384 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:189
385 | msgid "New Price Color"
386 | msgstr ""
387 |
388 | #: inc/elementor-widgets/widgets/fashe-shipping.php:73
389 | #: inc/elementor-widgets/widgets/fashe-shipping.php:99
390 | msgid "No"
391 | msgstr ""
392 |
393 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:144
394 | msgid "Offer Box"
395 | msgstr ""
396 |
397 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:72
398 | msgid "Old Price"
399 | msgstr ""
400 |
401 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:179
402 | msgid "Old Price Color"
403 | msgstr ""
404 |
405 | #: inc/demo-data/demo-import.php:59
406 | msgid "One Click Demo Import"
407 | msgstr ""
408 |
409 | #: inc/elementor-widgets/widgets/fashe-our-products.php:32
410 | #: inc/elementor-widgets/widgets/fashe-our-products.php:51
411 | msgid "Our Product"
412 | msgstr ""
413 |
414 | #: inc/elementor-widgets/elementor-widget.php:254
415 | msgid "PHP"
416 | msgstr ""
417 |
418 | #: inc/elementor-widgets/widgets/fashe-blog.php:64
419 | #: inc/elementor-widgets/widgets/fashe-feature-products.php:64
420 | msgid "Post Limit"
421 | msgstr ""
422 |
423 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:32
424 | msgid "Product Categories"
425 | msgstr ""
426 |
427 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:51
428 | msgid "Product Category Content"
429 | msgstr ""
430 |
431 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:103
432 | msgid "Product Collection Promo"
433 | msgstr ""
434 |
435 | #: inc/elementor-widgets/widgets/fashe-our-products.php:57
436 | msgid "Product Limit"
437 | msgstr ""
438 |
439 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:93
440 | msgid "Product Thumbnail"
441 | msgstr ""
442 |
443 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:57
444 | msgid "Product Title"
445 | msgstr ""
446 |
447 | #: inc/elementor-widgets/widgets/fashe-feature-products.php:104
448 | msgid "Product title and price color"
449 | msgstr ""
450 |
451 | #: inc/elementor-widgets/widgets/fashe-feature-products.php:115
452 | msgid "Product title hover color"
453 | msgstr ""
454 |
455 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:64
456 | msgid "Product Url"
457 | msgstr ""
458 |
459 | #: inc/elementor-widgets/widgets/fashe-blog.php:57
460 | #: inc/elementor-widgets/widgets/fashe-feature-products.php:56
461 | #: inc/elementor-widgets/widgets/fashe-instagram.php:57
462 | #: inc/elementor-widgets/widgets/fashe-our-products.php:65
463 | msgid "Section Title"
464 | msgstr ""
465 |
466 | #: inc/elementor-widgets/widgets/fashe-blog.php:123
467 | msgid "Section Title Color"
468 | msgstr ""
469 |
470 | #: inc/elementor-widgets/widgets/fashe-shipping.php:96
471 | msgid "Set Border"
472 | msgstr ""
473 |
474 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:68
475 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:94
476 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:120
477 | msgid "Set Category"
478 | msgstr ""
479 |
480 | #: inc/fashe-meta/fashe-meta-config.php:39
481 | msgid "Set Page Header"
482 | msgstr ""
483 |
484 | #: inc/fashe-meta/fashe-meta-config.php:83
485 | msgid "Set Page Header Background"
486 | msgstr ""
487 |
488 | #: inc/fashe-meta/fashe-meta-config.php:55
489 | msgid "Set page style"
490 | msgstr ""
491 |
492 | #: inc/elementor-widgets/widgets/fashe-shipping.php:32
493 | msgid "Shipping Info Section"
494 | msgstr ""
495 |
496 | #: inc/elementor-widgets/widgets/fashe-shipping.php:57
497 | msgid "Shipping Information"
498 | msgstr ""
499 |
500 | #: inc/elementor-widgets/widgets/fashe-shipping.php:52
501 | msgid "Shipping Information Content"
502 | msgstr ""
503 |
504 | #: inc/fashe-meta/fashe-meta-config.php:45
505 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:111
506 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:153
507 | msgid "Show"
508 | msgstr ""
509 |
510 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:109
511 | msgid "Show Collection Promo"
512 | msgstr ""
513 |
514 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:151
515 | msgid "Show Offer Box"
516 | msgstr ""
517 |
518 | #: inc/elementor-widgets/widgets/fashe-slider.php:120
519 | msgid "Slider Background Image"
520 | msgstr ""
521 |
522 | #: inc/elementor-widgets/widgets/fashe-slider.php:51
523 | msgid "Slider content"
524 | msgstr ""
525 |
526 | #: inc/elementor-widgets/widgets/fashe-slider.php:57
527 | msgid "Slider Style"
528 | msgstr ""
529 |
530 | #: inc/elementor-widgets/widgets/fashe-slider.php:62
531 | msgid "Style 1"
532 | msgstr ""
533 |
534 | #: inc/elementor-widgets/widgets/fashe-slider.php:63
535 | msgid "Style 2"
536 | msgstr ""
537 |
538 | #: inc/elementor-widgets/widgets/fashe-slider.php:201
539 | msgid "Style Button"
540 | msgstr ""
541 |
542 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:237
543 | msgid "Style Collection Text"
544 | msgstr ""
545 |
546 | #: inc/elementor-widgets/widgets/fashe-about.php:129
547 | #: inc/elementor-widgets/widgets/fashe-contact.php:117
548 | msgid "Style Color"
549 | msgstr ""
550 |
551 | #: inc/elementor-widgets/widgets/fashe-our-products.php:115
552 | msgid "Style Filter"
553 | msgstr ""
554 |
555 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:261
556 | msgid "Style Offer Box"
557 | msgstr ""
558 |
559 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:203
560 | msgid "Style Product Category Button"
561 | msgstr ""
562 |
563 | #: inc/elementor-widgets/widgets/fashe-blog.php:117
564 | msgid "Style Section"
565 | msgstr ""
566 |
567 | #: inc/elementor-widgets/widgets/fashe-feature-products.php:76
568 | #: inc/elementor-widgets/widgets/fashe-our-products.php:79
569 | msgid "Style Section Title"
570 | msgstr ""
571 |
572 | #: inc/elementor-widgets/widgets/fashe-slider.php:169
573 | msgid "Style Sub Title"
574 | msgstr ""
575 |
576 | #: inc/elementor-widgets/widgets/fashe-blog.php:75
577 | msgid "Style Text Color"
578 | msgstr ""
579 |
580 | #: inc/elementor-widgets/widgets/fashe-banner-video.php:94
581 | #: inc/elementor-widgets/widgets/fashe-instagram.php:90
582 | msgid "Style Title"
583 | msgstr ""
584 |
585 | #: inc/elementor-widgets/widgets/fashe-slider.php:133
586 | msgid "Style Title "
587 | msgstr ""
588 |
589 | #: inc/elementor-widgets/widgets/fashe-slider.php:88
590 | msgid "Sub Title"
591 | msgstr ""
592 |
593 | #: inc/elementor-widgets/widgets/fashe-slider.php:95
594 | msgid "Sub Title Animation"
595 | msgstr ""
596 |
597 | #: inc/elementor-widgets/widgets/fashe-slider.php:176
598 | msgid "Sub Title Color"
599 | msgstr ""
600 |
601 | #: inc/elementor-widgets/widgets/fashe-shipping.php:116
602 | msgid "Text Color"
603 | msgstr ""
604 |
605 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:152
606 | msgid "Thumbnail"
607 | msgstr ""
608 |
609 | #: inc/elementor-widgets/widgets/fashe-about.php:52
610 | #: inc/elementor-widgets/widgets/fashe-about.php:58
611 | #: inc/elementor-widgets/widgets/fashe-contact.php:58
612 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:162
613 | #: inc/elementor-widgets/widgets/fashe-slider.php:75
614 | msgid "Title"
615 | msgstr ""
616 |
617 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:120
618 | #: inc/elementor-widgets/widgets/fashe-banner-video.php:57
619 | msgid "Title #1"
620 | msgstr ""
621 |
622 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:243
623 | #: inc/elementor-widgets/widgets/fashe-banner-video.php:100
624 | msgid "Title #1 Color"
625 | msgstr ""
626 |
627 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:128
628 | #: inc/elementor-widgets/widgets/fashe-banner-video.php:65
629 | msgid "Title #2"
630 | msgstr ""
631 |
632 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:253
633 | #: inc/elementor-widgets/widgets/fashe-banner-video.php:110
634 | msgid "Title #2 Color"
635 | msgstr ""
636 |
637 | #: inc/elementor-widgets/widgets/fashe-slider.php:82
638 | msgid "Title Animation"
639 | msgstr ""
640 |
641 | #: inc/elementor-widgets/widgets/fashe-shipping.php:70
642 | msgid "Title Botom Link"
643 | msgstr ""
644 |
645 | #: inc/elementor-widgets/widgets/fashe-shipping.php:79
646 | msgid "Title Bottom"
647 | msgstr ""
648 |
649 | #: inc/elementor-widgets/widgets/fashe-shipping.php:132
650 | msgid "Title Bottom Color"
651 | msgstr ""
652 |
653 | #: inc/elementor-widgets/widgets/fashe-shipping.php:86
654 | msgid "Title Bottom Link"
655 | msgstr ""
656 |
657 | #: inc/elementor-widgets/widgets/fashe-about.php:135
658 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:169
659 | #: inc/elementor-widgets/widgets/fashe-contact.php:123
660 | #: inc/elementor-widgets/widgets/fashe-feature-products.php:82
661 | #: inc/elementor-widgets/widgets/fashe-instagram.php:97
662 | #: inc/elementor-widgets/widgets/fashe-our-products.php:86
663 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:276
664 | #: inc/elementor-widgets/widgets/fashe-slider.php:139
665 | msgid "Title Color"
666 | msgstr ""
667 |
668 | #: inc/elementor-widgets/widgets/fashe-product-categories.php:269
669 | msgid "Title Style"
670 | msgstr ""
671 |
672 | #: inc/elementor-widgets/widgets/fashe-shipping.php:63
673 | msgid "Title Top"
674 | msgstr ""
675 |
676 | #: inc/elementor-widgets/widgets/fashe-shipping.php:122
677 | msgid "Title Top Color"
678 | msgstr ""
679 |
680 | #: inc/elementor-widgets/widgets/fashe-banner-countdown.php:144
681 | msgid "Url"
682 | msgstr ""
683 |
684 | #: inc/elementor-widgets/widgets/fashe-banner-video.php:82
685 | msgid "Video Url"
686 | msgstr ""
687 |
688 | #: inc/elementor-widgets/widgets/fashe-shipping.php:72
689 | #: inc/elementor-widgets/widgets/fashe-shipping.php:98
690 | msgid "Yes"
691 | msgstr ""
692 |
--------------------------------------------------------------------------------
/inc/elementor-widgets/assets/fonts/themify-icon/themify-icons.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'themify';
3 | src:url('fonts/themify.eot?-fvbane');
4 | src:url('fonts/themify.eot?#iefix-fvbane') format('embedded-opentype'),
5 | url('fonts/themify.woff?-fvbane') format('woff'),
6 | url('fonts/themify.ttf?-fvbane') format('truetype'),
7 | url('fonts/themify.svg?-fvbane#themify') format('svg');
8 | font-weight: normal;
9 | font-style: normal;
10 | }
11 |
12 | [class^="ti-"], [class*=" ti-"] {
13 | font-family: 'themify';
14 | speak: none;
15 | font-style: normal;
16 | font-weight: normal;
17 | font-variant: normal;
18 | text-transform: none;
19 | line-height: 1;
20 |
21 | /* Better Font Rendering =========== */
22 | -webkit-font-smoothing: antialiased;
23 | -moz-osx-font-smoothing: grayscale;
24 | }
25 |
26 | .ti-wand:before {
27 | content: "\e600";
28 | }
29 | .ti-volume:before {
30 | content: "\e601";
31 | }
32 | .ti-user:before {
33 | content: "\e602";
34 | }
35 | .ti-unlock:before {
36 | content: "\e603";
37 | }
38 | .ti-unlink:before {
39 | content: "\e604";
40 | }
41 | .ti-trash:before {
42 | content: "\e605";
43 | }
44 | .ti-thought:before {
45 | content: "\e606";
46 | }
47 | .ti-target:before {
48 | content: "\e607";
49 | }
50 | .ti-tag:before {
51 | content: "\e608";
52 | }
53 | .ti-tablet:before {
54 | content: "\e609";
55 | }
56 | .ti-star:before {
57 | content: "\e60a";
58 | }
59 | .ti-spray:before {
60 | content: "\e60b";
61 | }
62 | .ti-signal:before {
63 | content: "\e60c";
64 | }
65 | .ti-shopping-cart:before {
66 | content: "\e60d";
67 | }
68 | .ti-shopping-cart-full:before {
69 | content: "\e60e";
70 | }
71 | .ti-settings:before {
72 | content: "\e60f";
73 | }
74 | .ti-search:before {
75 | content: "\e610";
76 | }
77 | .ti-zoom-in:before {
78 | content: "\e611";
79 | }
80 | .ti-zoom-out:before {
81 | content: "\e612";
82 | }
83 | .ti-cut:before {
84 | content: "\e613";
85 | }
86 | .ti-ruler:before {
87 | content: "\e614";
88 | }
89 | .ti-ruler-pencil:before {
90 | content: "\e615";
91 | }
92 | .ti-ruler-alt:before {
93 | content: "\e616";
94 | }
95 | .ti-bookmark:before {
96 | content: "\e617";
97 | }
98 | .ti-bookmark-alt:before {
99 | content: "\e618";
100 | }
101 | .ti-reload:before {
102 | content: "\e619";
103 | }
104 | .ti-plus:before {
105 | content: "\e61a";
106 | }
107 | .ti-pin:before {
108 | content: "\e61b";
109 | }
110 | .ti-pencil:before {
111 | content: "\e61c";
112 | }
113 | .ti-pencil-alt:before {
114 | content: "\e61d";
115 | }
116 | .ti-paint-roller:before {
117 | content: "\e61e";
118 | }
119 | .ti-paint-bucket:before {
120 | content: "\e61f";
121 | }
122 | .ti-na:before {
123 | content: "\e620";
124 | }
125 | .ti-mobile:before {
126 | content: "\e621";
127 | }
128 | .ti-minus:before {
129 | content: "\e622";
130 | }
131 | .ti-medall:before {
132 | content: "\e623";
133 | }
134 | .ti-medall-alt:before {
135 | content: "\e624";
136 | }
137 | .ti-marker:before {
138 | content: "\e625";
139 | }
140 | .ti-marker-alt:before {
141 | content: "\e626";
142 | }
143 | .ti-arrow-up:before {
144 | content: "\e627";
145 | }
146 | .ti-arrow-right:before {
147 | content: "\e628";
148 | }
149 | .ti-arrow-left:before {
150 | content: "\e629";
151 | }
152 | .ti-arrow-down:before {
153 | content: "\e62a";
154 | }
155 | .ti-lock:before {
156 | content: "\e62b";
157 | }
158 | .ti-location-arrow:before {
159 | content: "\e62c";
160 | }
161 | .ti-link:before {
162 | content: "\e62d";
163 | }
164 | .ti-layout:before {
165 | content: "\e62e";
166 | }
167 | .ti-layers:before {
168 | content: "\e62f";
169 | }
170 | .ti-layers-alt:before {
171 | content: "\e630";
172 | }
173 | .ti-key:before {
174 | content: "\e631";
175 | }
176 | .ti-import:before {
177 | content: "\e632";
178 | }
179 | .ti-image:before {
180 | content: "\e633";
181 | }
182 | .ti-heart:before {
183 | content: "\e634";
184 | }
185 | .ti-heart-broken:before {
186 | content: "\e635";
187 | }
188 | .ti-hand-stop:before {
189 | content: "\e636";
190 | }
191 | .ti-hand-open:before {
192 | content: "\e637";
193 | }
194 | .ti-hand-drag:before {
195 | content: "\e638";
196 | }
197 | .ti-folder:before {
198 | content: "\e639";
199 | }
200 | .ti-flag:before {
201 | content: "\e63a";
202 | }
203 | .ti-flag-alt:before {
204 | content: "\e63b";
205 | }
206 | .ti-flag-alt-2:before {
207 | content: "\e63c";
208 | }
209 | .ti-eye:before {
210 | content: "\e63d";
211 | }
212 | .ti-export:before {
213 | content: "\e63e";
214 | }
215 | .ti-exchange-vertical:before {
216 | content: "\e63f";
217 | }
218 | .ti-desktop:before {
219 | content: "\e640";
220 | }
221 | .ti-cup:before {
222 | content: "\e641";
223 | }
224 | .ti-crown:before {
225 | content: "\e642";
226 | }
227 | .ti-comments:before {
228 | content: "\e643";
229 | }
230 | .ti-comment:before {
231 | content: "\e644";
232 | }
233 | .ti-comment-alt:before {
234 | content: "\e645";
235 | }
236 | .ti-close:before {
237 | content: "\e646";
238 | }
239 | .ti-clip:before {
240 | content: "\e647";
241 | }
242 | .ti-angle-up:before {
243 | content: "\e648";
244 | }
245 | .ti-angle-right:before {
246 | content: "\e649";
247 | }
248 | .ti-angle-left:before {
249 | content: "\e64a";
250 | }
251 | .ti-angle-down:before {
252 | content: "\e64b";
253 | }
254 | .ti-check:before {
255 | content: "\e64c";
256 | }
257 | .ti-check-box:before {
258 | content: "\e64d";
259 | }
260 | .ti-camera:before {
261 | content: "\e64e";
262 | }
263 | .ti-announcement:before {
264 | content: "\e64f";
265 | }
266 | .ti-brush:before {
267 | content: "\e650";
268 | }
269 | .ti-briefcase:before {
270 | content: "\e651";
271 | }
272 | .ti-bolt:before {
273 | content: "\e652";
274 | }
275 | .ti-bolt-alt:before {
276 | content: "\e653";
277 | }
278 | .ti-blackboard:before {
279 | content: "\e654";
280 | }
281 | .ti-bag:before {
282 | content: "\e655";
283 | }
284 | .ti-move:before {
285 | content: "\e656";
286 | }
287 | .ti-arrows-vertical:before {
288 | content: "\e657";
289 | }
290 | .ti-arrows-horizontal:before {
291 | content: "\e658";
292 | }
293 | .ti-fullscreen:before {
294 | content: "\e659";
295 | }
296 | .ti-arrow-top-right:before {
297 | content: "\e65a";
298 | }
299 | .ti-arrow-top-left:before {
300 | content: "\e65b";
301 | }
302 | .ti-arrow-circle-up:before {
303 | content: "\e65c";
304 | }
305 | .ti-arrow-circle-right:before {
306 | content: "\e65d";
307 | }
308 | .ti-arrow-circle-left:before {
309 | content: "\e65e";
310 | }
311 | .ti-arrow-circle-down:before {
312 | content: "\e65f";
313 | }
314 | .ti-angle-double-up:before {
315 | content: "\e660";
316 | }
317 | .ti-angle-double-right:before {
318 | content: "\e661";
319 | }
320 | .ti-angle-double-left:before {
321 | content: "\e662";
322 | }
323 | .ti-angle-double-down:before {
324 | content: "\e663";
325 | }
326 | .ti-zip:before {
327 | content: "\e664";
328 | }
329 | .ti-world:before {
330 | content: "\e665";
331 | }
332 | .ti-wheelchair:before {
333 | content: "\e666";
334 | }
335 | .ti-view-list:before {
336 | content: "\e667";
337 | }
338 | .ti-view-list-alt:before {
339 | content: "\e668";
340 | }
341 | .ti-view-grid:before {
342 | content: "\e669";
343 | }
344 | .ti-uppercase:before {
345 | content: "\e66a";
346 | }
347 | .ti-upload:before {
348 | content: "\e66b";
349 | }
350 | .ti-underline:before {
351 | content: "\e66c";
352 | }
353 | .ti-truck:before {
354 | content: "\e66d";
355 | }
356 | .ti-timer:before {
357 | content: "\e66e";
358 | }
359 | .ti-ticket:before {
360 | content: "\e66f";
361 | }
362 | .ti-thumb-up:before {
363 | content: "\e670";
364 | }
365 | .ti-thumb-down:before {
366 | content: "\e671";
367 | }
368 | .ti-text:before {
369 | content: "\e672";
370 | }
371 | .ti-stats-up:before {
372 | content: "\e673";
373 | }
374 | .ti-stats-down:before {
375 | content: "\e674";
376 | }
377 | .ti-split-v:before {
378 | content: "\e675";
379 | }
380 | .ti-split-h:before {
381 | content: "\e676";
382 | }
383 | .ti-smallcap:before {
384 | content: "\e677";
385 | }
386 | .ti-shine:before {
387 | content: "\e678";
388 | }
389 | .ti-shift-right:before {
390 | content: "\e679";
391 | }
392 | .ti-shift-left:before {
393 | content: "\e67a";
394 | }
395 | .ti-shield:before {
396 | content: "\e67b";
397 | }
398 | .ti-notepad:before {
399 | content: "\e67c";
400 | }
401 | .ti-server:before {
402 | content: "\e67d";
403 | }
404 | .ti-quote-right:before {
405 | content: "\e67e";
406 | }
407 | .ti-quote-left:before {
408 | content: "\e67f";
409 | }
410 | .ti-pulse:before {
411 | content: "\e680";
412 | }
413 | .ti-printer:before {
414 | content: "\e681";
415 | }
416 | .ti-power-off:before {
417 | content: "\e682";
418 | }
419 | .ti-plug:before {
420 | content: "\e683";
421 | }
422 | .ti-pie-chart:before {
423 | content: "\e684";
424 | }
425 | .ti-paragraph:before {
426 | content: "\e685";
427 | }
428 | .ti-panel:before {
429 | content: "\e686";
430 | }
431 | .ti-package:before {
432 | content: "\e687";
433 | }
434 | .ti-music:before {
435 | content: "\e688";
436 | }
437 | .ti-music-alt:before {
438 | content: "\e689";
439 | }
440 | .ti-mouse:before {
441 | content: "\e68a";
442 | }
443 | .ti-mouse-alt:before {
444 | content: "\e68b";
445 | }
446 | .ti-money:before {
447 | content: "\e68c";
448 | }
449 | .ti-microphone:before {
450 | content: "\e68d";
451 | }
452 | .ti-menu:before {
453 | content: "\e68e";
454 | }
455 | .ti-menu-alt:before {
456 | content: "\e68f";
457 | }
458 | .ti-map:before {
459 | content: "\e690";
460 | }
461 | .ti-map-alt:before {
462 | content: "\e691";
463 | }
464 | .ti-loop:before {
465 | content: "\e692";
466 | }
467 | .ti-location-pin:before {
468 | content: "\e693";
469 | }
470 | .ti-list:before {
471 | content: "\e694";
472 | }
473 | .ti-light-bulb:before {
474 | content: "\e695";
475 | }
476 | .ti-Italic:before {
477 | content: "\e696";
478 | }
479 | .ti-info:before {
480 | content: "\e697";
481 | }
482 | .ti-infinite:before {
483 | content: "\e698";
484 | }
485 | .ti-id-badge:before {
486 | content: "\e699";
487 | }
488 | .ti-hummer:before {
489 | content: "\e69a";
490 | }
491 | .ti-home:before {
492 | content: "\e69b";
493 | }
494 | .ti-help:before {
495 | content: "\e69c";
496 | }
497 | .ti-headphone:before {
498 | content: "\e69d";
499 | }
500 | .ti-harddrives:before {
501 | content: "\e69e";
502 | }
503 | .ti-harddrive:before {
504 | content: "\e69f";
505 | }
506 | .ti-gift:before {
507 | content: "\e6a0";
508 | }
509 | .ti-game:before {
510 | content: "\e6a1";
511 | }
512 | .ti-filter:before {
513 | content: "\e6a2";
514 | }
515 | .ti-files:before {
516 | content: "\e6a3";
517 | }
518 | .ti-file:before {
519 | content: "\e6a4";
520 | }
521 | .ti-eraser:before {
522 | content: "\e6a5";
523 | }
524 | .ti-envelope:before {
525 | content: "\e6a6";
526 | }
527 | .ti-download:before {
528 | content: "\e6a7";
529 | }
530 | .ti-direction:before {
531 | content: "\e6a8";
532 | }
533 | .ti-direction-alt:before {
534 | content: "\e6a9";
535 | }
536 | .ti-dashboard:before {
537 | content: "\e6aa";
538 | }
539 | .ti-control-stop:before {
540 | content: "\e6ab";
541 | }
542 | .ti-control-shuffle:before {
543 | content: "\e6ac";
544 | }
545 | .ti-control-play:before {
546 | content: "\e6ad";
547 | }
548 | .ti-control-pause:before {
549 | content: "\e6ae";
550 | }
551 | .ti-control-forward:before {
552 | content: "\e6af";
553 | }
554 | .ti-control-backward:before {
555 | content: "\e6b0";
556 | }
557 | .ti-cloud:before {
558 | content: "\e6b1";
559 | }
560 | .ti-cloud-up:before {
561 | content: "\e6b2";
562 | }
563 | .ti-cloud-down:before {
564 | content: "\e6b3";
565 | }
566 | .ti-clipboard:before {
567 | content: "\e6b4";
568 | }
569 | .ti-car:before {
570 | content: "\e6b5";
571 | }
572 | .ti-calendar:before {
573 | content: "\e6b6";
574 | }
575 | .ti-book:before {
576 | content: "\e6b7";
577 | }
578 | .ti-bell:before {
579 | content: "\e6b8";
580 | }
581 | .ti-basketball:before {
582 | content: "\e6b9";
583 | }
584 | .ti-bar-chart:before {
585 | content: "\e6ba";
586 | }
587 | .ti-bar-chart-alt:before {
588 | content: "\e6bb";
589 | }
590 | .ti-back-right:before {
591 | content: "\e6bc";
592 | }
593 | .ti-back-left:before {
594 | content: "\e6bd";
595 | }
596 | .ti-arrows-corner:before {
597 | content: "\e6be";
598 | }
599 | .ti-archive:before {
600 | content: "\e6bf";
601 | }
602 | .ti-anchor:before {
603 | content: "\e6c0";
604 | }
605 | .ti-align-right:before {
606 | content: "\e6c1";
607 | }
608 | .ti-align-left:before {
609 | content: "\e6c2";
610 | }
611 | .ti-align-justify:before {
612 | content: "\e6c3";
613 | }
614 | .ti-align-center:before {
615 | content: "\e6c4";
616 | }
617 | .ti-alert:before {
618 | content: "\e6c5";
619 | }
620 | .ti-alarm-clock:before {
621 | content: "\e6c6";
622 | }
623 | .ti-agenda:before {
624 | content: "\e6c7";
625 | }
626 | .ti-write:before {
627 | content: "\e6c8";
628 | }
629 | .ti-window:before {
630 | content: "\e6c9";
631 | }
632 | .ti-widgetized:before {
633 | content: "\e6ca";
634 | }
635 | .ti-widget:before {
636 | content: "\e6cb";
637 | }
638 | .ti-widget-alt:before {
639 | content: "\e6cc";
640 | }
641 | .ti-wallet:before {
642 | content: "\e6cd";
643 | }
644 | .ti-video-clapper:before {
645 | content: "\e6ce";
646 | }
647 | .ti-video-camera:before {
648 | content: "\e6cf";
649 | }
650 | .ti-vector:before {
651 | content: "\e6d0";
652 | }
653 | .ti-themify-logo:before {
654 | content: "\e6d1";
655 | }
656 | .ti-themify-favicon:before {
657 | content: "\e6d2";
658 | }
659 | .ti-themify-favicon-alt:before {
660 | content: "\e6d3";
661 | }
662 | .ti-support:before {
663 | content: "\e6d4";
664 | }
665 | .ti-stamp:before {
666 | content: "\e6d5";
667 | }
668 | .ti-split-v-alt:before {
669 | content: "\e6d6";
670 | }
671 | .ti-slice:before {
672 | content: "\e6d7";
673 | }
674 | .ti-shortcode:before {
675 | content: "\e6d8";
676 | }
677 | .ti-shift-right-alt:before {
678 | content: "\e6d9";
679 | }
680 | .ti-shift-left-alt:before {
681 | content: "\e6da";
682 | }
683 | .ti-ruler-alt-2:before {
684 | content: "\e6db";
685 | }
686 | .ti-receipt:before {
687 | content: "\e6dc";
688 | }
689 | .ti-pin2:before {
690 | content: "\e6dd";
691 | }
692 | .ti-pin-alt:before {
693 | content: "\e6de";
694 | }
695 | .ti-pencil-alt2:before {
696 | content: "\e6df";
697 | }
698 | .ti-palette:before {
699 | content: "\e6e0";
700 | }
701 | .ti-more:before {
702 | content: "\e6e1";
703 | }
704 | .ti-more-alt:before {
705 | content: "\e6e2";
706 | }
707 | .ti-microphone-alt:before {
708 | content: "\e6e3";
709 | }
710 | .ti-magnet:before {
711 | content: "\e6e4";
712 | }
713 | .ti-line-double:before {
714 | content: "\e6e5";
715 | }
716 | .ti-line-dotted:before {
717 | content: "\e6e6";
718 | }
719 | .ti-line-dashed:before {
720 | content: "\e6e7";
721 | }
722 | .ti-layout-width-full:before {
723 | content: "\e6e8";
724 | }
725 | .ti-layout-width-default:before {
726 | content: "\e6e9";
727 | }
728 | .ti-layout-width-default-alt:before {
729 | content: "\e6ea";
730 | }
731 | .ti-layout-tab:before {
732 | content: "\e6eb";
733 | }
734 | .ti-layout-tab-window:before {
735 | content: "\e6ec";
736 | }
737 | .ti-layout-tab-v:before {
738 | content: "\e6ed";
739 | }
740 | .ti-layout-tab-min:before {
741 | content: "\e6ee";
742 | }
743 | .ti-layout-slider:before {
744 | content: "\e6ef";
745 | }
746 | .ti-layout-slider-alt:before {
747 | content: "\e6f0";
748 | }
749 | .ti-layout-sidebar-right:before {
750 | content: "\e6f1";
751 | }
752 | .ti-layout-sidebar-none:before {
753 | content: "\e6f2";
754 | }
755 | .ti-layout-sidebar-left:before {
756 | content: "\e6f3";
757 | }
758 | .ti-layout-placeholder:before {
759 | content: "\e6f4";
760 | }
761 | .ti-layout-menu:before {
762 | content: "\e6f5";
763 | }
764 | .ti-layout-menu-v:before {
765 | content: "\e6f6";
766 | }
767 | .ti-layout-menu-separated:before {
768 | content: "\e6f7";
769 | }
770 | .ti-layout-menu-full:before {
771 | content: "\e6f8";
772 | }
773 | .ti-layout-media-right-alt:before {
774 | content: "\e6f9";
775 | }
776 | .ti-layout-media-right:before {
777 | content: "\e6fa";
778 | }
779 | .ti-layout-media-overlay:before {
780 | content: "\e6fb";
781 | }
782 | .ti-layout-media-overlay-alt:before {
783 | content: "\e6fc";
784 | }
785 | .ti-layout-media-overlay-alt-2:before {
786 | content: "\e6fd";
787 | }
788 | .ti-layout-media-left-alt:before {
789 | content: "\e6fe";
790 | }
791 | .ti-layout-media-left:before {
792 | content: "\e6ff";
793 | }
794 | .ti-layout-media-center-alt:before {
795 | content: "\e700";
796 | }
797 | .ti-layout-media-center:before {
798 | content: "\e701";
799 | }
800 | .ti-layout-list-thumb:before {
801 | content: "\e702";
802 | }
803 | .ti-layout-list-thumb-alt:before {
804 | content: "\e703";
805 | }
806 | .ti-layout-list-post:before {
807 | content: "\e704";
808 | }
809 | .ti-layout-list-large-image:before {
810 | content: "\e705";
811 | }
812 | .ti-layout-line-solid:before {
813 | content: "\e706";
814 | }
815 | .ti-layout-grid4:before {
816 | content: "\e707";
817 | }
818 | .ti-layout-grid3:before {
819 | content: "\e708";
820 | }
821 | .ti-layout-grid2:before {
822 | content: "\e709";
823 | }
824 | .ti-layout-grid2-thumb:before {
825 | content: "\e70a";
826 | }
827 | .ti-layout-cta-right:before {
828 | content: "\e70b";
829 | }
830 | .ti-layout-cta-left:before {
831 | content: "\e70c";
832 | }
833 | .ti-layout-cta-center:before {
834 | content: "\e70d";
835 | }
836 | .ti-layout-cta-btn-right:before {
837 | content: "\e70e";
838 | }
839 | .ti-layout-cta-btn-left:before {
840 | content: "\e70f";
841 | }
842 | .ti-layout-column4:before {
843 | content: "\e710";
844 | }
845 | .ti-layout-column3:before {
846 | content: "\e711";
847 | }
848 | .ti-layout-column2:before {
849 | content: "\e712";
850 | }
851 | .ti-layout-accordion-separated:before {
852 | content: "\e713";
853 | }
854 | .ti-layout-accordion-merged:before {
855 | content: "\e714";
856 | }
857 | .ti-layout-accordion-list:before {
858 | content: "\e715";
859 | }
860 | .ti-ink-pen:before {
861 | content: "\e716";
862 | }
863 | .ti-info-alt:before {
864 | content: "\e717";
865 | }
866 | .ti-help-alt:before {
867 | content: "\e718";
868 | }
869 | .ti-headphone-alt:before {
870 | content: "\e719";
871 | }
872 | .ti-hand-point-up:before {
873 | content: "\e71a";
874 | }
875 | .ti-hand-point-right:before {
876 | content: "\e71b";
877 | }
878 | .ti-hand-point-left:before {
879 | content: "\e71c";
880 | }
881 | .ti-hand-point-down:before {
882 | content: "\e71d";
883 | }
884 | .ti-gallery:before {
885 | content: "\e71e";
886 | }
887 | .ti-face-smile:before {
888 | content: "\e71f";
889 | }
890 | .ti-face-sad:before {
891 | content: "\e720";
892 | }
893 | .ti-credit-card:before {
894 | content: "\e721";
895 | }
896 | .ti-control-skip-forward:before {
897 | content: "\e722";
898 | }
899 | .ti-control-skip-backward:before {
900 | content: "\e723";
901 | }
902 | .ti-control-record:before {
903 | content: "\e724";
904 | }
905 | .ti-control-eject:before {
906 | content: "\e725";
907 | }
908 | .ti-comments-smiley:before {
909 | content: "\e726";
910 | }
911 | .ti-brush-alt:before {
912 | content: "\e727";
913 | }
914 | .ti-youtube:before {
915 | content: "\e728";
916 | }
917 | .ti-vimeo:before {
918 | content: "\e729";
919 | }
920 | .ti-twitter:before {
921 | content: "\e72a";
922 | }
923 | .ti-time:before {
924 | content: "\e72b";
925 | }
926 | .ti-tumblr:before {
927 | content: "\e72c";
928 | }
929 | .ti-skype:before {
930 | content: "\e72d";
931 | }
932 | .ti-share:before {
933 | content: "\e72e";
934 | }
935 | .ti-share-alt:before {
936 | content: "\e72f";
937 | }
938 | .ti-rocket:before {
939 | content: "\e730";
940 | }
941 | .ti-pinterest:before {
942 | content: "\e731";
943 | }
944 | .ti-new-window:before {
945 | content: "\e732";
946 | }
947 | .ti-microsoft:before {
948 | content: "\e733";
949 | }
950 | .ti-list-ol:before {
951 | content: "\e734";
952 | }
953 | .ti-linkedin:before {
954 | content: "\e735";
955 | }
956 | .ti-layout-sidebar-2:before {
957 | content: "\e736";
958 | }
959 | .ti-layout-grid4-alt:before {
960 | content: "\e737";
961 | }
962 | .ti-layout-grid3-alt:before {
963 | content: "\e738";
964 | }
965 | .ti-layout-grid2-alt:before {
966 | content: "\e739";
967 | }
968 | .ti-layout-column4-alt:before {
969 | content: "\e73a";
970 | }
971 | .ti-layout-column3-alt:before {
972 | content: "\e73b";
973 | }
974 | .ti-layout-column2-alt:before {
975 | content: "\e73c";
976 | }
977 | .ti-instagram:before {
978 | content: "\e73d";
979 | }
980 | .ti-google:before {
981 | content: "\e73e";
982 | }
983 | .ti-github:before {
984 | content: "\e73f";
985 | }
986 | .ti-flickr:before {
987 | content: "\e740";
988 | }
989 | .ti-facebook:before {
990 | content: "\e741";
991 | }
992 | .ti-dropbox:before {
993 | content: "\e742";
994 | }
995 | .ti-dribbble:before {
996 | content: "\e743";
997 | }
998 | .ti-apple:before {
999 | content: "\e744";
1000 | }
1001 | .ti-android:before {
1002 | content: "\e745";
1003 | }
1004 | .ti-save:before {
1005 | content: "\e746";
1006 | }
1007 | .ti-save-alt:before {
1008 | content: "\e747";
1009 | }
1010 | .ti-yahoo:before {
1011 | content: "\e748";
1012 | }
1013 | .ti-wordpress:before {
1014 | content: "\e749";
1015 | }
1016 | .ti-vimeo-alt:before {
1017 | content: "\e74a";
1018 | }
1019 | .ti-twitter-alt:before {
1020 | content: "\e74b";
1021 | }
1022 | .ti-tumblr-alt:before {
1023 | content: "\e74c";
1024 | }
1025 | .ti-trello:before {
1026 | content: "\e74d";
1027 | }
1028 | .ti-stack-overflow:before {
1029 | content: "\e74e";
1030 | }
1031 | .ti-soundcloud:before {
1032 | content: "\e74f";
1033 | }
1034 | .ti-sharethis:before {
1035 | content: "\e750";
1036 | }
1037 | .ti-sharethis-alt:before {
1038 | content: "\e751";
1039 | }
1040 | .ti-reddit:before {
1041 | content: "\e752";
1042 | }
1043 | .ti-pinterest-alt:before {
1044 | content: "\e753";
1045 | }
1046 | .ti-microsoft-alt:before {
1047 | content: "\e754";
1048 | }
1049 | .ti-linux:before {
1050 | content: "\e755";
1051 | }
1052 | .ti-jsfiddle:before {
1053 | content: "\e756";
1054 | }
1055 | .ti-joomla:before {
1056 | content: "\e757";
1057 | }
1058 | .ti-html5:before {
1059 | content: "\e758";
1060 | }
1061 | .ti-flickr-alt:before {
1062 | content: "\e759";
1063 | }
1064 | .ti-email:before {
1065 | content: "\e75a";
1066 | }
1067 | .ti-drupal:before {
1068 | content: "\e75b";
1069 | }
1070 | .ti-dropbox-alt:before {
1071 | content: "\e75c";
1072 | }
1073 | .ti-css3:before {
1074 | content: "\e75d";
1075 | }
1076 | .ti-rss:before {
1077 | content: "\e75e";
1078 | }
1079 | .ti-rss-alt:before {
1080 | content: "\e75f";
1081 | }
1082 |
--------------------------------------------------------------------------------
/inc/elementor-widgets/widgets/fashe-product-categories.php:
--------------------------------------------------------------------------------
1 | start_controls_section(
49 | 'productcat_content',
50 | [
51 | 'label' => __( 'Product Category Content', 'fashe-companion' ),
52 |
53 | ]
54 | );
55 | // Start tabs controls
56 | $this->start_controls_tabs(
57 | 'productcat_tabs'
58 | );
59 | // Start Column 1 tab
60 | $this->start_controls_tab(
61 | 'col1_cat',
62 | [
63 | 'label' => __( 'Column 1', 'fashe-companion' ),
64 | ]
65 | );
66 | $this->add_control(
67 | 'pcatone', [
68 | 'label' => __( 'Set Category', 'fashe-companion' ),
69 | 'type' => Controls_Manager::REPEATER,
70 | 'title_field' => '{{{ label }}}',
71 | 'fields' => [
72 | [
73 | 'name' => 'label',
74 | 'label' => __( 'Category', 'fashe-companion' ),
75 | 'type' => Controls_Manager::SELECT,
76 | 'label_block' => true,
77 | 'default' => '',
78 | 'options' => fashe_product_cat(),
79 | ],
80 | ],
81 | ]
82 | );
83 | $this->end_controls_tab(); // End Column 1 tab
84 |
85 | // Start Column 2 tab
86 | $this->start_controls_tab(
87 | 'col2_cat',
88 | [
89 | 'label' => __( 'Column 2', 'fashe-companion' ),
90 | ]
91 | );
92 | $this->add_control(
93 | 'pcattwo', [
94 | 'label' => __( 'Set Category', 'fashe-companion' ),
95 | 'type' => Controls_Manager::REPEATER,
96 | 'title_field' => '{{{ label }}}',
97 | 'fields' => [
98 | [
99 | 'name' => 'label',
100 | 'label' => __( 'Category', 'fashe-companion' ),
101 | 'type' => Controls_Manager::SELECT,
102 | 'label_block' => true,
103 | 'default' => '',
104 | 'options' => fashe_product_cat(),
105 | ],
106 | ],
107 | ]
108 | );
109 | $this->end_controls_tab(); // // End Column 2 tab
110 |
111 | // Start Column 3 tab
112 | $this->start_controls_tab(
113 | 'col3_cat',
114 | [
115 | 'label' => __( 'Column 3', 'fashe-companion' ),
116 | ]
117 | );
118 | $this->add_control(
119 | 'pcatthree', [
120 | 'label' => __( 'Set Category', 'fashe-companion' ),
121 | 'type' => Controls_Manager::REPEATER,
122 | 'title_field' => '{{{ label }}}',
123 | 'fields' => [
124 | [
125 | 'name' => 'label',
126 | 'label' => __( 'Category', 'fashe-companion' ),
127 | 'type' => Controls_Manager::SELECT,
128 | 'label_block' => true,
129 | 'default' => '',
130 | 'options' => fashe_product_cat(),
131 | ],
132 | ],
133 | ]
134 | );
135 | $this->end_controls_tab(); // // End Column 3 tab
136 |
137 | $this->end_controls_tabs(); // End tabs controls
138 | $this->end_controls_section(); // End Hero content
139 |
140 | // ---------------------------------------- Product offer content ------------------------------
141 | $this->start_controls_section(
142 | 'offer_content',
143 | [
144 | 'label' => __( 'Offer Box', 'fashe-companion' ),
145 |
146 | ]
147 | );
148 | $this->add_control(
149 | 'show_offerbox',
150 | [
151 | 'label' => __( 'Show Offer Box', 'fashe-companion' ),
152 | 'type' => \Elementor\Controls_Manager::SWITCHER,
153 | 'label_on' => __( 'Show', 'fashe-companion' ),
154 | 'label_off' => __( 'Hide', 'fashe-companion' ),
155 | 'return_value' => 'yes',
156 | 'default' => 'No',
157 | ]
158 | );
159 | $this->add_control(
160 | 'offer_title',
161 | [
162 | 'label' => esc_html__( 'Title', 'fashe-companion' ),
163 | 'type' => Controls_Manager::TEXT,
164 | 'label_block' => true
165 | ]
166 | );
167 | $this->add_control(
168 | 'offer_desc',
169 | [
170 | 'label' => esc_html__( 'Descriptions', 'fashe-companion' ),
171 | 'type' => Controls_Manager::WYSIWYG,
172 | ]
173 | );
174 | $this->add_control(
175 | 'offer_img',
176 | [
177 | 'label' => esc_html__( 'Background Image', 'fashe-companion' ),
178 | 'type' => Controls_Manager::MEDIA,
179 | ]
180 | );
181 | $this->add_control(
182 | 'offer_btntext',
183 | [
184 | 'label' => esc_html__( 'Button Text', 'fashe-companion' ),
185 | 'type' => Controls_Manager::TEXT,
186 | ]
187 | );
188 | $this->add_control(
189 | 'offer_btnurl',
190 | [
191 | 'label' => esc_html__( 'Button Url', 'fashe-companion' ),
192 | 'type' => Controls_Manager::TEXT,
193 | ]
194 | );
195 | $this->end_controls_section(); // End Hero content
196 | /**
197 | * Style Tab
198 | * ------------------------------ Style Product Category ------------------------------
199 | *
200 | */
201 | $this->start_controls_section(
202 | 'style_pcb', [
203 | 'label' => __( 'Style Product Category Button', 'fashe-companion' ),
204 | 'tab' => Controls_Manager::TAB_STYLE,
205 | ]
206 | );
207 |
208 | $this->add_control(
209 | 'color_pcbbtntext', [
210 | 'label' => __( 'Button Text Color', 'fashe-companion' ),
211 | 'type' => Controls_Manager::COLOR,
212 | 'default' => '#333333',
213 | 'selectors' => [
214 | '{{WRAPPER}} .block1-wrapbtn .flex-c-m.bg3.hov1' => 'color: {{VALUE}};',
215 | ],
216 | ]
217 | );
218 | $this->add_control(
219 | 'color_pcbbtnhovtext', [
220 | 'label' => __( 'Button Hover Text Color', 'fashe-companion' ),
221 | 'type' => Controls_Manager::COLOR,
222 | 'default' => '#333333',
223 | 'selectors' => [
224 | '{{WRAPPER}} .block1-wrapbtn .flex-c-m.bg3.hov1:hover' => 'color: {{VALUE}};',
225 | ],
226 | ]
227 | );
228 | $this->add_control(
229 | 'color_pcbbtnbg', [
230 | 'label' => __( 'Button background Color', 'fashe-companion' ),
231 | 'type' => Controls_Manager::COLOR,
232 | 'default' => '#ffffff',
233 | 'selectors' => [
234 | '{{WRAPPER}} .block1-wrapbtn .flex-c-m.bg3.hov1' => 'background-color: {{VALUE}};',
235 | ],
236 | ]
237 | );
238 | $this->add_control(
239 | 'color_pcbbtnhovbg', [
240 | 'label' => __( 'Button Hover background Color', 'fashe-companion' ),
241 | 'type' => Controls_Manager::COLOR,
242 | 'default' => '#e65540',
243 | 'selectors' => [
244 | '{{WRAPPER}} .block1-wrapbtn .flex-c-m.bg3.hov1:hover' => 'background-color: {{VALUE}};',
245 | ],
246 | ]
247 | );
248 | $this->add_group_control(
249 | Group_Control_Typography::get_type(), [
250 | 'name' => 'typography_pcbbtn',
251 | 'selector' => '{{WRAPPER}} .block1-wrapbtn .flex-c-m.bg3.hov1',
252 | ]
253 | );
254 |
255 | $this->end_controls_section();
256 |
257 |
258 | //------------------------------ Offer Box Style ------------------------------
259 | $this->start_controls_section(
260 | 'style_offerbox', [
261 | 'label' => __( 'Style Offer Box', 'fashe-companion' ),
262 | 'tab' => Controls_Manager::TAB_STYLE,
263 | ]
264 | );
265 | // Title Color
266 | $this->add_control(
267 | 'title_options',
268 | [
269 | 'label' => __( 'Title Style', 'fashe-companion' ),
270 | 'type' => \Elementor\Controls_Manager::HEADING,
271 | 'separator' => 'before',
272 | ]
273 | );
274 | $this->add_control(
275 | 'color_title', [
276 | 'label' => __( 'Title Color', 'fashe-companion' ),
277 | 'type' => Controls_Manager::COLOR,
278 | 'default' => '#111111',
279 | 'selectors' => [
280 | '{{WRAPPER}} .block2-content h4.m-text4' => 'color: {{VALUE}};',
281 | ],
282 | ]
283 | );
284 | $this->add_group_control(
285 | Group_Control_Typography::get_type(), [
286 | 'name' => 'typography_title',
287 | 'selector' => '{{WRAPPER}} .block2-content h4.m-text4',
288 | ]
289 | );
290 | $this->add_group_control(
291 | Group_Control_Text_Shadow::get_type(), [
292 | 'name' => 'text_shadow_title',
293 | 'selector' => '{{WRAPPER}} .block2-content h4.m-text4',
294 | ]
295 | );
296 | // Descriptions Color
297 | $this->add_control(
298 | 'desc_options',
299 | [
300 | 'label' => __( 'Descriptions Style', 'fashe-companion' ),
301 | 'type' => \Elementor\Controls_Manager::HEADING,
302 | 'separator' => 'before',
303 | ]
304 | );
305 | $this->add_control(
306 | 'color_desc', [
307 | 'label' => __( 'Descriptions Color', 'fashe-companion' ),
308 | 'type' => Controls_Manager::COLOR,
309 | 'default' => '#888888',
310 | 'selectors' => [
311 | '{{WRAPPER}} .block2-content .t-center p' => 'color: {{VALUE}};',
312 | ],
313 | ]
314 | );
315 | $this->add_group_control(
316 | Group_Control_Typography::get_type(), [
317 | 'name' => 'typography_desc',
318 | 'selector' => '{{WRAPPER}} .block2-content .t-center p',
319 | ]
320 | );
321 | // Buttom Style
322 | $this->add_control(
323 | 'btn_options',
324 | [
325 | 'label' => __( 'Button Style', 'fashe-companion' ),
326 | 'type' => \Elementor\Controls_Manager::HEADING,
327 | 'separator' => 'before',
328 | ]
329 | );
330 | $this->add_control(
331 | 'color_btntext', [
332 | 'label' => __( 'Button Text Color', 'fashe-companion' ),
333 | 'type' => Controls_Manager::COLOR,
334 | 'default' => '#fff',
335 | 'selectors' => [
336 | '{{WRAPPER}} .flex-c-m.size2.bo-rad-23.hov1' => 'color: {{VALUE}};',
337 | ],
338 | ]
339 | );
340 | $this->add_control(
341 | 'color_btnhovtext', [
342 | 'label' => __( 'Button Hover Text Color', 'fashe-companion' ),
343 | 'type' => Controls_Manager::COLOR,
344 | 'default' => '#fff',
345 | 'selectors' => [
346 | '{{WRAPPER}} .flex-c-m.size2.bo-rad-23.hov1:hover' => 'color: {{VALUE}};',
347 | ],
348 | ]
349 | );
350 | $this->add_control(
351 | 'color_btnbg', [
352 | 'label' => __( 'Button background Color', 'fashe-companion' ),
353 | 'type' => Controls_Manager::COLOR,
354 | 'default' => '#111111',
355 | 'selectors' => [
356 | '{{WRAPPER}} .flex-c-m.size2.bo-rad-23.hov1' => 'background-color: {{VALUE}};',
357 | ],
358 | ]
359 | );
360 | $this->add_control(
361 | 'color_btnhovbg', [
362 | 'label' => __( 'Button Hover background Color', 'fashe-companion' ),
363 | 'type' => Controls_Manager::COLOR,
364 | 'default' => '#e65540',
365 | 'selectors' => [
366 | '{{WRAPPER}} .flex-c-m.size2.bo-rad-23.hov1:hover' => 'background-color: {{VALUE}};',
367 | ],
368 | ]
369 | );
370 | $this->add_group_control(
371 | Group_Control_Typography::get_type(), [
372 | 'name' => 'typography_btn',
373 | 'selector' => '{{WRAPPER}} .flex-c-m.size2.bo-rad-23.hov1',
374 | ]
375 | );
376 |
377 | $this->end_controls_section();
378 |
379 | }
380 |
381 | protected function render() {
382 |
383 | $settings = $this->get_settings();
384 |
385 | ?>
386 |
387 |
388 |
389 |
390 | 0 ):
393 | ?>
394 |
395 |
396 | term_id, 'thumbnail_id', true );
407 |
408 | // get the image URL
409 | $image = wp_get_attachment_url( $thumbnail_id );
410 | ?>
411 |
412 |
413 | esc_url( $image ),
418 | )
419 | );
420 | }
421 | ?>
422 |
428 |
429 |
433 |
434 | 0 ):
439 | ?>
440 |
441 |
442 | term_id, 'thumbnail_id', true );
450 |
451 | // get the image URL
452 | $image = wp_get_attachment_url( $thumbnail_id );
453 | ?>
454 |
455 |
456 | esc_url( $image ),
461 | )
462 | );
463 | }
464 | ?>
465 |
466 |
472 |
473 |
477 |
478 | 0 ) ):
482 |
483 | $pcatthree = $settings['pcatthree'];
484 | ?>
485 |
486 |
487 | 0 ):
489 | //
490 | foreach( $pcatthree as $val ):
491 |
492 | $cat = get_term_by( 'slug', $val['label'], 'product_cat' );
493 | if( $cat ):
494 |
495 | // get the thumbnail id using the queried category term_id
496 | $thumbnail_id = get_woocommerce_term_meta( $cat->term_id, 'thumbnail_id', true );
497 |
498 | // get the image URL
499 | $image = wp_get_attachment_url( $thumbnail_id );
500 | ?>
501 |
502 |
503 | esc_url( $image ),
508 | )
509 | );
510 | }
511 | ?>
512 |
513 |
519 |
520 |
530 |
531 | esc_url( $settings['offer_img']['url'] ),
536 | )
537 | );
538 | }
539 | ?>
540 |
541 | 'h4',
546 | 'text' => esc_html( $settings['offer_title'] ),
547 | 'class' => 'm-text4 t-center w-size3 p-b-8',
548 | )
549 | );
550 | }
551 | //
552 | if( $settings['offer_desc'] ){
553 | echo '
';
554 | echo fashe_get_textareahtml_output( $settings['offer_desc'] );
555 | echo '
';
556 |
557 | }
558 | //
559 | if( !empty( $settings['offer_btntext'] ) && !empty( $settings['offer_btnurl'] ) ){
560 | echo fashe_anchor_tag(
561 | array(
562 | 'url' => esc_url( $settings['offer_btnurl'] ),
563 | 'text' => esc_html( $settings['offer_btntext'] ),
564 | 'class' => 'flex-c-m size2 bg4 bo-rad-23 hov1 m-text3 trans-0-4',
565 | 'wrap_before' => '
',
566 | 'wrap_after' => '
',
567 | )
568 | );
569 | }
570 | ?>
571 |
572 |
573 |
576 |
577 |
580 |
581 |
582 |
583 |
584 |