ThemeHunk Customizer - Version 2.6.6

Version Description

  • M-shop category filter ajax function issue fixed.
  • M-Shop - Footer below copyright added.
Download this release

Release Info

Developer themehunk
Plugin Icon 128x128 ThemeHunk Customizer
Version 2.6.6
Comparing to
See all releases

Code changes from version 2.6.5 to 2.6.6

m-shop/m-shop-admin/woo/m-shop-admin.php ADDED
@@ -0,0 +1,812 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ if ( ! class_exists( 'WooCommerce' ) ){
3
+ return;
4
+ }
5
+ if ( ! function_exists( 'm_shop_add_to_compare_fltr' ) ){
6
+ /*********************/
7
+ // Th Product compare
8
+ /**********************/
9
+ function m_shop_add_to_compare_fltr($pid){
10
+ if(class_exists(('th_product_compare') ) ){
11
+ echo '<div class="thunk-compare"><span class="compare-list"><div class="woocommerce product compare-button">
12
+ <a class="th-product-compare-btn compare button" data-th-product-id="'.$pid.'"></a>
13
+ </div></span></div>';
14
+
15
+ }elseif( ( class_exists( 'WPCleverWooscp' ))){
16
+ echo '<div class="thunk-compare">'.do_shortcode('[wooscp id='.$pid.']').'</div>';
17
+ }
18
+
19
+ }
20
+
21
+ }
22
+
23
+ if ( ! function_exists( 'm_shop_whish_list' ) ){
24
+ /**********************/
25
+ /** wishlist **/
26
+ /**********************/
27
+ function m_shop_whish_list($pid=''){
28
+ if( shortcode_exists( 'yith_wcwl_add_to_wishlist' )){
29
+ echo '<div class="thunk-wishlist"><span class="thunk-wishlist-inner">'.do_shortcode('[yith_wcwl_add_to_wishlist product_id='.$pid.' icon="fa fa-heart" label='.__('wishlist','m-shop').'
30
+ already_in_wishslist_text='.__('Already','m-shop').' browse_wishlist_text='.__('Added','m-shop').']' ).'</span></div>';
31
+ }
32
+ elseif( ( class_exists( 'WPCleverWoosw' ))){
33
+ echo '<div class="thunk-wishlist"><span class="thunk-wishlist-inner">'.do_shortcode('[woosw id='.$pid.']').'</span></div>';
34
+ }
35
+ }
36
+ }
37
+
38
+
39
+ if(!function_exists('m_shop_product_query')){
40
+ function m_shop_product_query($term_id,$prdct_optn){
41
+ $limit_product = get_theme_mod('m_shop_frnt_prd_shw_no','20');
42
+ // product filter
43
+ $args = array('limit' => $limit_product, 'visibility' => 'catalog');
44
+ if($term_id){
45
+ $term_args = array('hide_empty' => 1,'slug' => $term_id);
46
+ $product_categories = get_terms( 'product_cat', $term_args);
47
+ $product_cat_slug = $product_categories[0]->slug;
48
+ $args['category'] = $product_cat_slug;
49
+ }
50
+ if($prdct_optn=='random'){
51
+ $args['orderby'] = 'rand';
52
+ }elseif($prdct_optn=='featured'){
53
+ $args['featured'] = true;
54
+ }
55
+ if(get_option('woocommerce_hide_out_of_stock_items')=='yes'){
56
+ $args['stock_status'] = 'instock';
57
+ }
58
+ return $args;
59
+ }
60
+ }
61
+
62
+
63
+ if(!function_exists('m_shop_product_slide_list_loop')){
64
+ /********************************/
65
+ //product slider loop
66
+ /********************************/
67
+ function m_shop_product_slide_list_loop($term_id,$prdct_optn){
68
+ $args = m_shop_product_query($term_id,$prdct_optn);
69
+ $products = wc_get_products( $args );
70
+ if (!empty($products)) {
71
+ foreach ($products as $product) {
72
+ $pid = $product->get_id();
73
+ ?>
74
+ <div <?php post_class('product'); ?>>
75
+ <div class="thunk-list">
76
+ <div class="thunk-product-image">
77
+ <a href="<?php echo get_permalink($pid); ?>" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
78
+ <?php echo get_the_post_thumbnail( $pid, 'woocommerce_thumbnail' ); ?>
79
+ </a>
80
+ </div>
81
+ <div class="thunk-product-content">
82
+ <a href="<?php echo get_permalink($pid); ?>" class="woocommerce-LoopProduct-title woocommerce-loop-product__link"><?php echo $product->get_title(); ?></a>
83
+ <?php
84
+ $rat_product = wc_get_product($pid);
85
+ $rating_count = $rat_product->get_rating_count();
86
+ $average = $rat_product->get_average_rating();
87
+ echo $rating_count = wc_get_rating_html( $average, $rating_count );
88
+ ?>
89
+ <div class="price"><?php echo $product->get_price_html(); ?></div>
90
+
91
+ </div>
92
+ <div class="thunk-quickview">
93
+ <span class="quik-view">
94
+ <a href="#" class="opn-quick-view-text" data-product_id="<?php echo esc_attr($pid); ?>">
95
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
96
+ <path d="M14,15h-4v-2h3v-3h2v4C15,14.6,14.6,15,14,15z M13,3h-3V1h4c0.6,0,1,0.4,1,1v4h-2V3z M6,3H3v3H1V2c0-0.6,0.4-1,1-1h4V3z
97
+ M3,13h3v2H2c-0.6,0-1-0.4-1-1v-4h2V13z"></path>
98
+ </svg>
99
+ </a>
100
+ </span>
101
+ </div>
102
+ </div>
103
+ </div>
104
+ <?php }
105
+ } else {
106
+ echo __( 'No products found','m-shop' );
107
+ }
108
+ wp_reset_query();
109
+ }
110
+
111
+ }
112
+ if(!function_exists('m_shop_category_tab_list')){
113
+ /**********************************************
114
+ //Funtion Category list show
115
+ **********************************************/
116
+ function m_shop_category_tab_list( $term_id ){
117
+ if( taxonomy_exists( 'product_cat' ) && !empty($term_id)){
118
+ // category filter
119
+ $args = array(
120
+ 'orderby' => 'menu_order',
121
+ 'order' => 'ASC',
122
+ 'hide_empty' => 1,
123
+ 'slug' => $term_id
124
+ );
125
+ $product_categories = get_terms( 'product_cat', $args );
126
+ $count = count($product_categories);
127
+ $cat_list = $cate_product = '';
128
+ $cat_list_drop = '';
129
+ $i=1;
130
+ $dl=0;
131
+ ?>
132
+ <?php
133
+ //Detect special conditions devices
134
+ $iPod = stripos($_SERVER['HTTP_USER_AGENT'],"iPod");
135
+ $iPhone = stripos($_SERVER['HTTP_USER_AGENT'],"iPhone");
136
+ $iPad = stripos($_SERVER['HTTP_USER_AGENT'],"iPad");
137
+ $Android = stripos($_SERVER['HTTP_USER_AGENT'],"Android");
138
+ $webOS = stripos($_SERVER['HTTP_USER_AGENT'],"webOS");
139
+
140
+ //do something with this information
141
+ if( $iPod || $iPhone ){
142
+ $device_cat = '1';
143
+ //browser reported as an iPhone/iPod touch -- do something here
144
+ }else if($iPad){
145
+ $device_cat = '3';
146
+ //browser reported as an iPad -- do something here
147
+ }else if($Android){
148
+ $device_cat = '2';
149
+ //browser reported as an Android device -- do something here
150
+ }else if($webOS){
151
+ $device_cat = '4';
152
+ //browser reported as a webOS device -- do something here
153
+ }else{
154
+ $device_cat = '5';
155
+ }
156
+ if ( $count > 0 ){
157
+ foreach ( $product_categories as $product_category ){
158
+ //global $product;
159
+ $category_product = array();
160
+ $current_class = '';
161
+ $cat_list .='
162
+ <li>
163
+ <a data-filter="' .esc_attr($product_category->slug) .'" data-animate="fadeInUp" href="#" data-term-id='.esc_attr($product_category->term_id) .' product_count="'.esc_attr($product_category->count).'">
164
+ '.esc_html($product_category->name).'</a>
165
+ </li>';
166
+ if ($i++ == $device_cat) break;
167
+ }
168
+ if($count > $device_cat){
169
+ foreach ( $product_categories as $product_category ){
170
+ //global $product;
171
+ $dl++;
172
+ if($dl <= $device_cat) continue;
173
+ $category_product = array();
174
+ $current_class = '';
175
+ $cat_list_drop .='
176
+ <li>
177
+ <a data-filter="' .esc_attr($product_category->slug) .'" data-animate="fadeInUp" href="#" data-term-id='.esc_attr($product_category->term_id) .' product_count="'.esc_attr($product_category->count).'">
178
+ '.esc_html($product_category->name).'</a>
179
+ </li>';
180
+ }
181
+ }
182
+ $return = '<div class="tab-head" catlist="'.esc_attr($i).'" >
183
+ <div class="tab-link-wrap">
184
+ <ul class="tab-link">';
185
+ $return .= $cat_list;
186
+ $return .= '</ul>';
187
+ if($count > $device_cat){
188
+ $return .= '<div class="header__cat__item dropdown"><a href="#" class="more-cat" title="More categories...">•••</a><ul class="dropdown-link">';
189
+ $return .= $cat_list_drop;
190
+ $return .= '</ul></div>';
191
+ }
192
+ $return .= '</div></div>';
193
+
194
+ echo $return;
195
+ }
196
+ }
197
+ }
198
+ }
199
+ if(!function_exists('m_shop_product_cat_filter_default_loop')){
200
+ /********************************/
201
+ //product cat filter loop
202
+ /********************************/
203
+ function m_shop_product_cat_filter_default_loop($term_id,$prdct_optn){
204
+ // product filter
205
+ $args = m_shop_product_query($term_id,$prdct_optn);
206
+ $products = wc_get_products( $args );
207
+ if (!empty($products)) {
208
+ foreach ($products as $product) {
209
+ $pid = $product->get_id();
210
+ ?>
211
+ <div <?php post_class('product'); ?>>
212
+ <div class="thunk-product-wrap">
213
+ <div class="thunk-product">
214
+ <div class="thunk-product-image">
215
+ <a href="<?php echo get_permalink($pid); ?>" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
216
+ <?php $sale = get_post_meta( $pid, '_sale_price', true);
217
+ if( $sale) {
218
+ // Get product prices
219
+ $regular_price = (float) $product->get_regular_price(); // Regular price
220
+ $sale_price = (float) $product->get_price(); // Sale price
221
+ $saving_price = wc_price( $regular_price - $sale_price );
222
+ echo $sale = '<span class="onsale">-'.$saving_price.'</span>';
223
+ }?>
224
+ <?php
225
+ echo get_the_post_thumbnail( $pid, 'full' );
226
+ $hover_style = get_theme_mod( 'm_shop_woo_product_animation' );
227
+ // the_post_thumbnail();
228
+ if ( 'swap' === $hover_style ){
229
+ $attachment_ids = $product->get_gallery_image_ids($pid);
230
+ if(!empty($attachment_ids)){
231
+
232
+ $glr = wp_get_attachment_image($attachment_ids[0], 'shop_catalog', false, array( 'class' => 'show-on-hover' ));
233
+ echo $category_product['glr'] = $glr;
234
+
235
+ }
236
+
237
+ }
238
+ if ( 'slide' === $hover_style ){
239
+ $attachment_ids = $product->get_gallery_image_ids($pid);
240
+ if(!empty($attachment_ids)){
241
+
242
+ $glr = wp_get_attachment_image($attachment_ids[0], 'shop_catalog', false, array( 'class' => 'show-on-slide' ));
243
+ echo $category_product['glr'] = $glr;
244
+
245
+ }
246
+
247
+ }
248
+ ?>
249
+ </a>
250
+ <div class="thunk-hover-icon">
251
+ <?php
252
+ echo m_shop_whish_list($pid);
253
+ echo m_shop_add_to_compare_fltr($pid);
254
+ ?>
255
+ </div>
256
+ <?php if(get_theme_mod( 'm_shop_woo_quickview_enable', true )){?>
257
+ <div class="thunk-quickview">
258
+ <span class="quik-view">
259
+ <a href="#" class="opn-quick-view-text" data-product_id="<?php echo esc_attr($pid); ?>">
260
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
261
+ <path d="M14,15h-4v-2h3v-3h2v4C15,14.6,14.6,15,14,15z M13,3h-3V1h4c0.6,0,1,0.4,1,1v4h-2V3z M6,3H3v3H1V2c0-0.6,0.4-1,1-1h4V3z
262
+ M3,13h3v2H2c-0.6,0-1-0.4-1-1v-4h2V13z"></path>
263
+ </svg>
264
+ <span><?php _e('Quick View','m-shop');?></span>
265
+ </a>
266
+ </span>
267
+ </div>
268
+ <?php }?>
269
+ </div>
270
+ <div class="thunk-product-content">
271
+ <h2 class="woocommerce-loop-product__title"><a href="<?php echo get_permalink($pid); ?>" class="woocommerce-LoopProduct-link woocommerce-loop-product__link"><?php echo $product->get_title(); ?></a></h2>
272
+ <?php
273
+ $rat_product = wc_get_product($pid);
274
+ $rating_count = $rat_product->get_rating_count();
275
+ $average = $rat_product->get_average_rating();
276
+ echo $rating_count = wc_get_rating_html( $average, $rating_count );
277
+ ?>
278
+ <div class="price"><?php echo $product->get_price_html(); ?></div>
279
+ <?php echo m_shop_add_to_cart_url($product);?>
280
+ </div>
281
+
282
+ </div>
283
+ </div>
284
+ </div>
285
+ <?php }
286
+ } else {
287
+ echo __( 'No products found','m-shop' );
288
+ }
289
+ wp_reset_query();
290
+ }
291
+ }
292
+
293
+ if(!function_exists('m_shop_product_filter_loop')){
294
+
295
+ function m_shop_product_filter_loop($args){
296
+ $products = wc_get_products( $args );
297
+ if (!empty($products)) {
298
+ foreach ($products as $product) {
299
+ $pid = $product->get_id();
300
+ $hover_style = get_theme_mod( 'm_shop_woo_product_animation' );
301
+ if('swap' === $hover_style){
302
+ global $product;
303
+ $attachment_ids = $product->get_gallery_image_ids();
304
+ if(count($attachment_ids) > '0'){
305
+ $swapclasses='m-shop-swap-item-hover';
306
+ }
307
+ }elseif('slide' === $hover_style){
308
+ global $product;
309
+ $attachment_ids = $product->get_gallery_image_ids();
310
+ if(count($attachment_ids) > '0'){
311
+ $swapclasses='m-shop-slide-item-hover';
312
+ }
313
+ } else{
314
+ $swapclasses='';
315
+ }
316
+ ?>
317
+ <div <?php post_class($swapclasses,$pid); ?>>
318
+ <div class="thunk-product-wrap">
319
+ <div class="thunk-product">
320
+ <div class="thunk-product-image">
321
+ <a href="<?php echo get_permalink($pid); ?>" class="woocommerce-LoopProduct-link woocommerce-loop-product__link">
322
+ <?php $sale = get_post_meta( $pid, '_sale_price', true);
323
+ if( $sale) {
324
+ // Get product prices
325
+ $regular_price = (float) $product->get_regular_price(); // Regular price
326
+ $sale_price = (float) $product->get_price(); // Sale price
327
+ $saving_price = wc_price( $regular_price - $sale_price );
328
+ echo $sale = '<span class="onsale">-'.$saving_price.'</span>';
329
+ }?>
330
+ <?php
331
+ echo get_the_post_thumbnail( $pid, 'full' );
332
+ $hover_style = get_theme_mod( 'm_shop_woo_product_animation' );
333
+ // the_post_thumbnail();
334
+ if ( 'swap' === $hover_style ){
335
+ $attachment_ids = $product->get_gallery_image_ids($pid);
336
+ if(!empty($attachment_ids)){
337
+
338
+ $glr = wp_get_attachment_image($attachment_ids[0], 'shop_catalog', false, array( 'class' => 'show-on-hover' ));
339
+ echo $category_product['glr'] = $glr;
340
+
341
+ }
342
+
343
+ }
344
+ if ( 'slide' === $hover_style ){
345
+ $attachment_ids = $product->get_gallery_image_ids($pid);
346
+ if(!empty($attachment_ids)){
347
+
348
+ $glr = wp_get_attachment_image($attachment_ids[0], 'shop_catalog', false, array( 'class' => 'show-on-slide' ));
349
+ echo $category_product['glr'] = $glr;
350
+
351
+ }
352
+
353
+ }
354
+ ?>
355
+ </a>
356
+ <div class="thunk-hover-icon">
357
+ <?php
358
+ echo m_shop_whish_list($pid);
359
+ echo m_shop_add_to_compare_fltr($pid);
360
+ ?>
361
+ </div>
362
+ <?php if(get_theme_mod( 'm_shop_woo_quickview_enable', true )){?>
363
+ <div class="thunk-quickview">
364
+ <span class="quik-view">
365
+ <a href="#" class="opn-quick-view-text" data-product_id="<?php echo esc_attr($pid); ?>">
366
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
367
+ <path d="M14,15h-4v-2h3v-3h2v4C15,14.6,14.6,15,14,15z M13,3h-3V1h4c0.6,0,1,0.4,1,1v4h-2V3z M6,3H3v3H1V2c0-0.6,0.4-1,1-1h4V3z
368
+ M3,13h3v2H2c-0.6,0-1-0.4-1-1v-4h2V13z"></path>
369
+ </svg>
370
+ <span><?php _e('Quick View','m-shop');?></span>
371
+ </a>
372
+ </span>
373
+ </div>
374
+ <?php }?>
375
+ </div>
376
+ <div class="thunk-product-content">
377
+ <h2 class="woocommerce-loop-product__title"><a href="<?php echo get_permalink($pid); ?>" class="woocommerce-LoopProduct-link woocommerce-loop-product__link"><?php echo $product->get_title(); ?></a></h2>
378
+ <?php
379
+ $rat_product = wc_get_product($pid);
380
+ $rating_count = $rat_product->get_rating_count();
381
+ $average = $rat_product->get_average_rating();
382
+ echo $rating_count = wc_get_rating_html( $average, $rating_count );
383
+ ?>
384
+ <div class="price"><?php echo $product->get_price_html(); ?></div>
385
+ <?php echo m_shop_add_to_cart_url($product);?>
386
+ </div>
387
+
388
+ </div>
389
+ </div>
390
+ </div>
391
+ <?php }
392
+ } else {
393
+ echo __( 'No products found','m-shop' );
394
+ }
395
+ wp_reset_query();
396
+ }
397
+ }
398
+ if(!function_exists('m_shop_widget_product_query')){
399
+ /*****************************/
400
+ // Product show function
401
+ /****************************/
402
+ function m_shop_widget_product_query($query){
403
+ $productType = $query['prd-orderby'];
404
+ $count = $query['count'];
405
+ $cat_slug = $query['cate'];
406
+ global $th_cat_slug;
407
+ $th_cat_slug = $cat_slug;
408
+ $args = array(
409
+ 'hide_empty' => 1,
410
+ 'posts_per_page' => $count,
411
+ 'post_type' => 'product',
412
+ 'post_status' => 'publish',
413
+ 'orderby' => 'date',
414
+ 'order' => 'DESC',
415
+ );
416
+ if($productType == 'featured'){
417
+ $taxquery = array(
418
+ 'relation' => 'AND',
419
+ array(
420
+ 'taxonomy' => 'product_cat',
421
+ 'field' => 'slug',
422
+ 'terms' => $cat_slug
423
+ ),
424
+ array(
425
+ 'taxonomy' => 'product_visibility',
426
+ 'terms' => array( 'exclude-from-catalog' ),
427
+ 'field' => 'name',
428
+ 'operator' => 'NOT IN',
429
+ )
430
+ );
431
+ $args = array(
432
+
433
+ 'tax_query' => $taxquery,
434
+ 'post_type' => 'product',
435
+ 'post_status' => 'publish',
436
+ 'post__in' => wc_get_featured_product_ids(),
437
+ );
438
+ }
439
+ elseif($productType == 'random'){
440
+ //random product
441
+ $args['orderby'] = 'rand';
442
+ }
443
+ elseif($productType == 'sale') {
444
+ //sale product
445
+ $args['meta_query'] = array(
446
+ 'relation' => 'OR',
447
+ array( // Simple products type
448
+ 'key' => '_sale_price',
449
+ 'value' => 0,
450
+ 'compare' => '>',
451
+ 'type' => 'numeric'
452
+ ),
453
+ array( // Variable products type
454
+ 'key' => '_min_variation_sale_price',
455
+ 'value' => 0,
456
+ 'compare' => '>',
457
+ 'type' => 'numeric'
458
+ )
459
+ );
460
+ }
461
+ $args['meta_key'] = '_thumbnail_id';
462
+ if($cat_slug != '0'){
463
+ //$args['product_cat'] = $cat_slug;
464
+ $args['tax_query'] = array(
465
+ 'relation' => 'AND',
466
+ array(
467
+ 'taxonomy' => 'product_cat',
468
+ 'field' => 'term_id',
469
+ 'terms' => $cat_slug,
470
+ ),
471
+ array(
472
+ 'taxonomy' => 'product_visibility',
473
+ 'terms' => array( 'exclude-from-catalog' ),
474
+ 'field' => 'name',
475
+ 'operator' => 'NOT IN',
476
+ )
477
+ );
478
+ }
479
+ $return = new WP_Query($args);
480
+ return $return;
481
+ }
482
+ }
483
+
484
+ if(!function_exists('m_shop_post_query')){
485
+ /*****************************/
486
+ // Product show function
487
+ /****************************/
488
+ function m_shop_post_query($query){
489
+
490
+ $args = array(
491
+ 'orderby' => $query['orderby'],
492
+ 'order' => 'DESC',
493
+ 'ignore_sticky_posts' => $query['sticky'],
494
+ 'post_type' => 'post',
495
+ 'post_status' => 'publish',
496
+ 'posts_per_page' => $query['count'],
497
+ 'cat' => $query['cate'],
498
+ 'meta_key' => '_thumbnail_id',
499
+
500
+ );
501
+
502
+ if($query['thumbnail']){
503
+ $args['meta_key'] = '_thumbnail_id';
504
+ }
505
+
506
+ $return = new WP_Query($args);
507
+
508
+ return $return;
509
+ }
510
+ }
511
+
512
+ if ( ! function_exists( 'm_shop_front_banner' ) ){
513
+ /******************/
514
+ //Banner Function
515
+ /******************/
516
+ function m_shop_front_banner(){
517
+ $m_shop_banner_layout = get_theme_mod( 'm_shop_banner_layout','bnr-two');
518
+ // first
519
+ $m_shop_bnr_1_img = get_theme_mod( 'm_shop_bnr_1_img','');
520
+ $m_shop_bnr_1_url = get_theme_mod( 'm_shop_bnr_1_url','');
521
+ // second
522
+ $m_shop_bnr_2_img = get_theme_mod( 'm_shop_bnr_2_img','');
523
+ $m_shop_bnr_2_url = get_theme_mod( 'm_shop_bnr_2_url','');
524
+ // third
525
+ $m_shop_bnr_3_img = get_theme_mod( 'm_shop_bnr_3_img','');
526
+ $m_shop_bnr_3_url = get_theme_mod( 'm_shop_bnr_3_url','');
527
+ // fouth
528
+ $m_shop_bnr_4_img = get_theme_mod( 'm_shop_bnr_4_img','');
529
+ $m_shop_bnr_4_url = get_theme_mod( 'm_shop_bnr_4_url','');
530
+ // fifth
531
+ $m_shop_bnr_5_img = get_theme_mod( 'm_shop_bnr_5_img','');
532
+ $m_shop_bnr_5_url = get_theme_mod( 'm_shop_bnr_5_url','');
533
+
534
+ if($m_shop_banner_layout=='bnr-one'){?>
535
+ <div class="thunk-banner-wrap bnr-layout-1 thnk-col-1">
536
+ <div class="thunk-banner-col1">
537
+ <div class="thunk-banner-col1-content"><a href="<?php echo esc_url($m_shop_bnr_1_url);?>"><img src="<?php echo esc_url($m_shop_bnr_1_img );?>"></a>
538
+ </div>
539
+ </div>
540
+ </div>
541
+ <?php }elseif($m_shop_banner_layout=='bnr-two'){?>
542
+ <div class="thunk-banner-wrap bnr-layout-2 thnk-col-2">
543
+ <div class="thunk-banner-col1">
544
+ <div class="thunk-banner-col1-content"><a href="<?php echo esc_url($m_shop_bnr_1_url);?>"><img src="<?php echo esc_url($m_shop_bnr_1_img );?>"></a></div>
545
+ </div>
546
+ <div class="thunk-banner-col2">
547
+ <div class="thunk-banner-col2-content"><a href="<?php echo esc_url($m_shop_bnr_2_url);?>"><img src="<?php echo esc_url($m_shop_bnr_2_img );?>"></a></div>
548
+ </div>
549
+ </div>
550
+
551
+ <?php }?>
552
+
553
+ <?php
554
+
555
+ }
556
+ }
557
+ if ( ! function_exists( 'm_shop_top_single_slider_content' ) ){
558
+ /**********************/
559
+ // Top Slider Function
560
+ /**********************/
561
+ //Slider ontent output function layout 1
562
+ function m_shop_top_slider_content( $m_shop_slide_content_id, $default ){
563
+ //passing the seeting ID and Default Values
564
+ $m_shop_slide_content = get_theme_mod( $m_shop_slide_content_id, $default );
565
+ if ( ! empty( $m_shop_slide_content ) ) :
566
+ $m_shop_slide_content = json_decode( $m_shop_slide_content );
567
+ if ( ! empty( $m_shop_slide_content) ) {
568
+ foreach ( $m_shop_slide_content as $slide_item ) :
569
+ $image = ! empty( $slide_item->image_url ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->image_url, 'Top Slider section' ) : '';
570
+ $logo_image = ! empty( $slide_item->logo_image_url ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->logo_image_url, 'Top Slider section' ) : '';
571
+ $title = ! empty( $slide_item->title ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->title, 'Top Slider section' ) : '';
572
+ $subtitle = ! empty( $slide_item->subtitle ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->subtitle, 'Top Slider section' ) : '';
573
+ $text = ! empty( $slide_item->text ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->text, 'Top Slider section' ) : '';
574
+ $link = ! empty( $slide_item->link ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->link, 'Top Slider section' ) : '';
575
+ ?>
576
+ <?php if($image!==''):?>
577
+ <div>
578
+ <img data-u="image" src="<?php echo esc_url($image); ?>" />
579
+ <div class="slide-content-wrap">
580
+ <div class="slide-content">
581
+ <div class="logo">
582
+ <a href="<?php echo esc_url($link); ?>"><img src="<?php echo esc_url($logo_image); ?>"></a>
583
+ </div>
584
+ <h2><?php echo esc_html($title); ?></h2>
585
+ <p><?php echo esc_html($subtitle); ?></p>
586
+ <?php if($text!==''): ?>
587
+ <a class="slide-btn" href="<?php echo esc_url($link); ?>"><?php echo esc_html($text); ?></a>
588
+ <?php endif; ?>
589
+ </div>
590
+ </div>
591
+ </div>
592
+
593
+ <?php
594
+ endif;
595
+ endforeach;
596
+ } // End if().
597
+
598
+ endif;
599
+ }
600
+ }
601
+
602
+ if ( ! function_exists( 'm_shop_top_single_slider_content' ) ){
603
+ //Single Slider ontent output function layout 5
604
+ function m_shop_top_single_slider_content( $m_shop_slide_content_id, $default ){
605
+ //passing the seeting ID and Default Values
606
+ $m_shop_slide_content = get_theme_mod( $m_shop_slide_content_id, $default );
607
+ if ( ! empty( $m_shop_slide_content ) ) :
608
+ $m_shop_slide_content = json_decode( $m_shop_slide_content );
609
+ if ( ! empty( $m_shop_slide_content) ) {
610
+ foreach ( $m_shop_slide_content as $slide_item ) :
611
+ $image = ! empty( $slide_item->image_url ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->image_url, 'Top Slider section' ) : '';
612
+ $link = ! empty( $slide_item->link ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->link, 'Top Slider section' ) : '';
613
+ ?>
614
+ <?php if($image!==''):?>
615
+ <div>
616
+ <img data-u="image" src="<?php echo esc_url($image); ?>" />
617
+ <a href="<?php echo esc_url($link); ?>"></a>
618
+ </div>
619
+
620
+ <?php
621
+ endif;
622
+ endforeach;
623
+ } // End if().
624
+
625
+ endif;
626
+ }
627
+ }
628
+ if ( ! function_exists( 'm_shop_top_slider_2_content' ) ){
629
+ // slider layout 2
630
+ function m_shop_top_slider_2_content( $m_shop_slide_content_id, $default ){
631
+ //passing the seeting ID and Default Values
632
+ $m_shop_slide_content = get_theme_mod( $m_shop_slide_content_id, $default );
633
+ if ( ! empty( $m_shop_slide_content ) ) :
634
+ $m_shop_slide_content = json_decode( $m_shop_slide_content );
635
+ if ( ! empty( $m_shop_slide_content) ) {
636
+ foreach ( $m_shop_slide_content as $slide_item ) :
637
+ $image = ! empty( $slide_item->image_url ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->image_url, 'Top Slider section' ) : '';
638
+ $logo_image = ! empty( $slide_item->logo_image_url ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->logo_image_url, 'Top Slider section' ) : '';
639
+ $title = ! empty( $slide_item->title ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->title, 'Top Slider section' ) : '';
640
+ $subtitle = ! empty( $slide_item->subtitle ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->subtitle, 'Top Slider section' ) : '';
641
+ $text = ! empty( $slide_item->text ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->text, 'Top Slider section' ) : '';
642
+ $link = ! empty( $slide_item->link ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->link, 'Top Slider section' ) : '';
643
+ ?>
644
+ <?php if($image!==''):?>
645
+ <div class="thunk-to2-slide-list">
646
+ <img src="<?php echo esc_url($image); ?>">
647
+ <div class="slider-content-caption">
648
+ <h2 class="animated delay-0.5s" data-animation-in="fadeInLeft" data-animation-out="animate-out fadeInRight"><a href="<?php echo esc_url($link); ?>"><?php echo esc_html($title); ?></a></h2>
649
+ <p class="animated delay-0.8s" data-animation-in="fadeInLeft" data-animation-out="animate-out fadeInRight"><?php echo esc_html($subtitle); ?></p>
650
+ <?php if($text!==''): ?>
651
+ <a class="slide-btn animated delay-0.8s" data-animation-in="fadeInLeft" data-animation-out="animate-out fadeInRight" href="<?php echo esc_url($link); ?>"><?php echo esc_html($text); ?></a>
652
+ <?php endif;?>
653
+ </div>
654
+ </div>
655
+ <?php
656
+ endif;
657
+ endforeach;
658
+ } // End if().
659
+
660
+ endif;
661
+ }
662
+ }
663
+ if ( ! function_exists( 'm_shop_top_slider_6_content' ) ){
664
+ // slider layout 2
665
+ function m_shop_top_slider_6_content( $m_shop_slide_content_id, $default ){
666
+ $cap_cls='';
667
+ //passing the seeting ID and Default Values
668
+ $m_shop_slide_content = get_theme_mod( $m_shop_slide_content_id, $default );
669
+ if ( ! empty( $m_shop_slide_content ) ) :
670
+ $m_shop_slide_content = json_decode( $m_shop_slide_content );
671
+ if ( ! empty( $m_shop_slide_content) ) {
672
+ foreach ( $m_shop_slide_content as $slide_item ) :
673
+ $image = ! empty( $slide_item->image_url ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->image_url, 'Top Slider section' ) : '';
674
+ $logo_image = ! empty( $slide_item->logo_image_url ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->logo_image_url, 'Top Slider section' ) : '';
675
+ $title = ! empty( $slide_item->title ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->title, 'Top Slider section' ) : '';
676
+ $subtitle = ! empty( $slide_item->subtitle ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->subtitle, 'Top Slider section' ) : '';
677
+ $text = ! empty( $slide_item->text ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->text, 'Top Slider section' ) : '';
678
+ $link = ! empty( $slide_item->link ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->link, 'Top Slider section' ) : '';
679
+ ?>
680
+ <?php if($image ==''){
681
+ $cap_cls ='center-cap';
682
+ }else{
683
+ $cap_cls ='';
684
+ }?>
685
+ <div class="thunk-top6-slide-list">
686
+ <div class="container">
687
+ <div class="thunk-top6-slide-list-wrap <?php echo esc_attr($cap_cls);?>">
688
+
689
+ <div class="slider-content-caption6">
690
+ <h2 class="animated delay-0.5s" data-animation-in="fadeInLeft" data-animation-out="animate-out fadeInRight"><a href="<?php echo esc_url($link); ?>"><?php echo esc_html($title); ?></a></h2>
691
+ <p class="animated delay-0.8s" data-animation-in="fadeInLeft" data-animation-out="animate-out fadeInRight"><?php echo esc_html($subtitle); ?></p>
692
+ <?php if($text!==''): ?>
693
+ <a class="slide-btn animated delay-0.8s" data-animation-in="fadeInLeft" data-animation-out="animate-out fadeInRight" href="<?php echo esc_url($link); ?>"><?php echo esc_html($text); ?></a>
694
+ <?php endif;?>
695
+ </div>
696
+
697
+ <?php if($image!==''){?>
698
+ <div class="image-wrap">
699
+ <img src="<?php echo esc_url($image); ?>">
700
+ </div>
701
+ <?php } ?>
702
+ </div>
703
+ </div>
704
+ </div>
705
+ <?php
706
+ endforeach;
707
+ } // End if().
708
+
709
+ endif;
710
+ }
711
+ }
712
+ if ( ! function_exists( 'm_shop_top_slider_multi_content' ) ){
713
+ function m_shop_top_slider_multi_content( $m_shop_slide_content_id, $default ){
714
+ //passing the seeting ID and Default Values
715
+ $m_shop_slide_content = get_theme_mod( $m_shop_slide_content_id, $default );
716
+ if ( ! empty( $m_shop_slide_content ) ) :
717
+ $m_shop_slide_content = json_decode( $m_shop_slide_content );
718
+ if ( ! empty( $m_shop_slide_content) ) {
719
+ foreach ( $m_shop_slide_content as $slide_item ) :
720
+ $image = ! empty( $slide_item->image_url ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->image_url, 'Top Slider section' ) : '';
721
+ $logo_image = ! empty( $slide_item->logo_image_url ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->logo_image_url, 'Top Slider section' ) : '';
722
+ $title = ! empty( $slide_item->title ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->title, 'Top Slider section' ) : '';
723
+ $subtitle = ! empty( $slide_item->subtitle ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->subtitle, 'Top Slider section' ) : '';
724
+ $text = ! empty( $slide_item->text ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->text, 'Top Slider section' ) : '';
725
+ $link = ! empty( $slide_item->link ) ? apply_filters( 'm-shop_translate_single_string', $slide_item->link, 'Top Slider section' ) : '';
726
+ ?>
727
+ <?php if($image!==''):?>
728
+
729
+ <div class="thunk-slider-multi-item">
730
+ <a href="<?php echo esc_url($link); ?>">
731
+ <img src="<?php echo esc_url($image); ?>" alt="<?php echo esc_attr($title); ?>">
732
+ </a>
733
+ <div class="slide-item-wrapper">
734
+ <div class="item-title"><h3><a href="<?php echo esc_url($link); ?>"><?php echo esc_html($title); ?></a></h3></div>
735
+ <?php if($text!==''){?>
736
+ <div class="item-button"><a href="<?php echo esc_url($link); ?>"><?php echo esc_html($text); ?></a></div>
737
+ <?php }?>
738
+ </div>
739
+ </div>
740
+ <?php
741
+ endif;
742
+ endforeach;
743
+ } // End if().
744
+
745
+ endif;
746
+ }
747
+ }
748
+ //*********************//
749
+ // Highlight feature
750
+ //*********************//
751
+ if ( ! function_exists( 'm_shop_highlight_content' ) ){
752
+ function m_shop_highlight_content($m_shop_highlight_content_id,$default){
753
+ $m_shop_highlight_content= get_theme_mod( $m_shop_highlight_content_id, $default );
754
+ //passing the seeting ID and Default Values
755
+
756
+ if ( ! empty( $m_shop_highlight_content ) ) :
757
+
758
+ $m_shop_highlight_content = json_decode( $m_shop_highlight_content );
759
+ if ( ! empty( $m_shop_highlight_content ) ) {
760
+ foreach ( $m_shop_highlight_content as $ship_item ) :
761
+ $icon = ! empty( $ship_item->icon_value ) ? apply_filters( 'm_shop_translate_single_string', $ship_item->icon_value, '' ) : '';
762
+ $title = ! empty( $ship_item->title ) ? apply_filters( 'm_shop_translate_single_string', $ship_item->title, '' ) : '';
763
+ $subtitle = ! empty( $ship_item->subtitle ) ? apply_filters( 'm_shop_translate_single_string', $ship_item->subtitle, '' ) : '';
764
+ ?>
765
+ <div class="thunk-highlight-col">
766
+ <div class="thunk-hglt-box">
767
+ <div class="thunk-hglt-icon"><i class="<?php echo "fa ".esc_attr($icon); ?>"></i></div>
768
+ <div class="content">
769
+ <h6><?php echo esc_html($title);?></h6>
770
+ <p><?php echo esc_html($subtitle);?></p>
771
+ </div>
772
+ </div>
773
+ </div>
774
+ <?php
775
+ endforeach;
776
+ }
777
+ endif;
778
+ }
779
+ }
780
+
781
+ /**************************************/
782
+ //Below footer function
783
+ /**************************************/
784
+ if ( ! function_exists( 'm_shop_below_footer_markup' ) ){
785
+ function m_shop_below_footer_markup(){ ?>
786
+ <div class="below-footer">
787
+ <div class="container">
788
+ <div class="below-footer-bar thnk-col-1">
789
+ <div class="below-footer-col1">
790
+ <p class="footer-copyright">&copy;
791
+ <?php
792
+ echo date_i18n(
793
+ /* translators: Copyright date format, see https://www.php.net/date */
794
+ _x( 'Y', 'copyright date format', 'm-shop' )
795
+ );
796
+ ?>
797
+ <a href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php bloginfo( 'name' ); ?></a>
798
+ <span class="powered-by-wordpress">
799
+ <span><?php _e( 'Designed by', 'm-shop' ); ?></span>
800
+ <a href="<?php echo esc_url( __( 'https://themehunk.com/', 'm-shop' ) ); ?>" target="_blank">
801
+ <?php _e( 'Themehunk', 'm-shop' ); ?>
802
+ </a>
803
+ </span>
804
+ </p><!-- .footer-copyright -->
805
+ </div>
806
+ </div>
807
+ </div>
808
+ </div>
809
+
810
+ <?php }
811
+ }
812
+ add_action( 'm_shop_default_below_footer', 'm_shop_below_footer_markup' );
readme.txt ADDED
@@ -0,0 +1,427 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ====== ThemeHunk Customizer ========
2
+ Contributors: ThemeHunk
3
+ Author URI: : https://www.themehunk.com/
4
+ Tags: themehunk, customizer, oneline-lite,Testimonial,Team, service
5
+ Requires at least: 5.5
6
+ Tested up to: 5.8.2
7
+ Stable tag: 2.6.6
8
+ License: GPLv2 or later
9
+ License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
+
11
+ ThemeHunk Customiser plugin will add features of testimonial, team and service.
12
+
13
+ == Description ==
14
+
15
+ ThemeHunk Customiser plugin will allow you to add features of testimonial, team and service section. Which will be visible on front page of site.
16
+
17
+ == Installation ==
18
+
19
+ 1. Upload the `themehunk-customizer.zip` to the `/wp-content/plugins/` directory
20
+ 2. Activate the plugin through the 'Plugins' menu in WordPress
21
+
22
+ == Frequently Asked Questions ==
23
+
24
+ = How to Install Plugin =
25
+ Just upload the `themehunk-customizer.zip` to the `/wp-content/plugins/` directory, and then activate it from 'Plugins' menu in WordPress.
26
+
27
+ 1. [Support Forum](https://wordpress.org/support/plugin/themehunk-customizer)
28
+
29
+ == Screenshots ==
30
+
31
+ == Changelog ==
32
+
33
+ = 2.6.6 =
34
+ * M-shop category filter ajax function issue fixed.
35
+ * M-Shop - Footer below copyright added.
36
+
37
+ = 2.6.5 =
38
+ * Big-Store - Footer below copyright added.
39
+ * Big-Store - Customizer pro and docs button added.
40
+ * Big-store - Below footer option disabled.
41
+
42
+ = 2.6.4 =
43
+ * M-Shop - Th product compare plugin added.
44
+ * M-Shop - Th advance product search pro plugin issue fixed.
45
+ * M-Shop - Customizer pro and docs button added.
46
+ * M-Shop - Below footer option disabled.
47
+
48
+ == Changelog ==
49
+ = 2.6.3 =
50
+ * Jot Shop - Bottom footer setting added.
51
+
52
+ = 2.6.2 =
53
+ * Amaz Store - Footer changed.
54
+ * Amaz Store - Whislist and compare function changed.
55
+
56
+ = 2.6.1 =
57
+ * Amaz Store Banner added.
58
+
59
+ = 2.6.0 =
60
+ * Amaz Store - Demo Import added.
61
+
62
+ = 2.5.9 =
63
+ * Amaz Store - Initial Released.
64
+
65
+ = 2.5.8 =
66
+ * Jotshop - Jot Shop Pro Plugin compatibility added.
67
+ * Jotshop - Slider Overlay Settings Removed.
68
+
69
+ = 2.5.7 =
70
+ * shopline - th advance product search plugin added.
71
+ * oneline-lite - add new section text issue fixed.
72
+
73
+ = 2.5.6 =
74
+ * Jotshop - Banner Add.
75
+
76
+ = 2.5.5 =
77
+ * Jotshop - Ribbon section title issue resolved.
78
+ * Jotshop - Testing issue resolved.
79
+
80
+ = 2.5.4 =
81
+ * Big-store - Yith plugin added in big-store theme.
82
+ * Big-store - Yith plugin make default and make wpc plugin second priority.
83
+ * Big-store - Draft publish issue fixed.
84
+ * Big-store - class and function redeclare issue fixed.
85
+
86
+ = 2.5.3 =
87
+ * Jotshop - Ribbon section video issue resolved.
88
+ * Jotshop - About me widget added.
89
+ * Jotshop - Single-post widget Added.
90
+ * Jotshop - Th-variation swatches issue resolved.
91
+ * Jotshop - Import demo files added.
92
+ * Jotshop - Import link changed.
93
+ * Jotshop - Import demo homepage set issue resolved.
94
+
95
+ = 2.5.2 =
96
+ * Jot-Shop Issue Fixed.
97
+
98
+ = 2.5.1 =
99
+ * Jot-Shop Theme Added.
100
+
101
+ = 2.5.0 =
102
+ * M-shop post publish and image cropping issue fixed.
103
+ * Shopline post publish and image cropping issue fixed.
104
+ * Elanzalite post publish issue fixed.
105
+
106
+ = 2.4.15 =
107
+ * Notify slider removed.
108
+
109
+ = 2.4.14 =
110
+ * Big store - Product Catalog Cropping added.
111
+
112
+ = 2.4.13 =
113
+ * Issue Fixed.
114
+
115
+ = 2.4.12 =
116
+ * Notify Updated.
117
+
118
+ = 2.4.11 =
119
+ * Demo import preview link updated in all Themes.
120
+
121
+ = 2.4.10 =
122
+ * Big Store - bug fixed.
123
+
124
+ = 2.4.9 =
125
+ * iframe notify issue fixed.
126
+
127
+ = 2.4.8 =
128
+ * iframe notify add.
129
+
130
+ = 2.4.7 =
131
+ * mshop notify images add.
132
+
133
+ = 2.4.6 =
134
+ * mshop theme image issue fixed.
135
+
136
+ = 2.4.5 =
137
+ * mshop theme issue fixed.
138
+
139
+ = 2.4.4 =
140
+ * mshop theme added.
141
+
142
+ = 2.4.3 =
143
+ * bug fixed.
144
+
145
+ = 2.4.2 =
146
+ * wp_query change and product issue fix.
147
+
148
+ = 2.4.1 =
149
+ * New theme notify information add.
150
+
151
+ = 2.4.0 =
152
+ * Big store - new plugin added.
153
+
154
+ = 2.3.13 =
155
+ * Themehunk notify style issue fixed.
156
+
157
+ = 2.3.12 =
158
+ * Big store issue fixed.
159
+
160
+ = 2.3.11 =
161
+ * Themehunk notify issue fixed.
162
+
163
+ = 2.3.10 =
164
+ * big store bug fixed.
165
+
166
+ = 2.3.9 =
167
+ * big store bug fixed.
168
+
169
+ = 2.3.8 =
170
+ * big store new demo added
171
+
172
+ = 2.3.7 =
173
+ * big store link issue solved.
174
+
175
+ = 2.3.6 =
176
+ * Big Store - demo file include issue fixed.
177
+ * new theme image add.
178
+
179
+ = 2.3.5 =
180
+ * Big Store - Demo file added.
181
+
182
+ = 2.3.4 =
183
+ * Big Store - new shop theme added.
184
+
185
+ = 2.3.3 =
186
+ * shopline - product price color issue fixed.
187
+
188
+ = 2.3.2 =
189
+ * shopline - customizer issue fixed.
190
+
191
+ = 2.3.1 =
192
+ * wordpress 5.5 compatible issue checked.
193
+
194
+ = 2.3.0 =
195
+ * oneline-lite - new demo added.
196
+
197
+ = 2.2.11 =
198
+ * oneline-lite - shortcode issue fixed.
199
+
200
+ = 2.2.10 =
201
+ * shopline - issue fixed.
202
+
203
+ = 2.2.9 =
204
+ * shopline - woocommerce issue fixed.
205
+
206
+ = 2.2.8 =
207
+ * shopline - woocommerce issue fixed.
208
+
209
+ = 2.2.7 =
210
+ * Featuredlite - animation issue fixed.
211
+
212
+ = 2.2.6 =
213
+ * Shopline - google plus icon remove and social icon issue fixed.
214
+
215
+ = 2.2.5 =
216
+ * Shopline - styling issue fixed.
217
+ * Featuredlite - Customizer issue fixed.
218
+
219
+ = 2.2.3 =
220
+ * Shopline - customizer issue fixed.
221
+ * Featuredlite - demo import feature added.
222
+
223
+ = 2.2.2 =
224
+ * Shopline - demo import path change.
225
+
226
+ = 2.2.1 =
227
+ * online-lite - Demo import issue fixed.
228
+
229
+ = 2.2.0 =
230
+ * online-lite - Demo import feature added.
231
+
232
+ = 2.1.11 =
233
+ * shopline - Demo import issue fixed
234
+
235
+ = 2.1.10 =
236
+ * shopline - product issue fixed.
237
+
238
+ = 2.1.9 =
239
+ * featuredlite - tel: issue fixed in contact section.
240
+
241
+ = 2.1.8=
242
+ * featuredlite - fontawsome issue fixed.
243
+
244
+ = 2.1.7=
245
+ * featuredlite - button scroll issue fixed.
246
+
247
+ = 2.1.6=
248
+ * shopline - bug fixed.
249
+
250
+ = 2.1.5=
251
+ * elanzalite - shortcode issue fixed.
252
+
253
+ = 2.1.4=
254
+ * elanzalite - issue fixed.
255
+
256
+ = 2.1.3=
257
+ * shopline- php7.2 Deprecated function 'create_function()' issue fixed.
258
+
259
+ = 2.1.2=
260
+ * shopline- Deprecated function issue fixed.
261
+
262
+ = 2.1.1=
263
+ * shopline- error fixed.
264
+
265
+ = 2.1.0=
266
+ * shopline- section ordering issue fixed.
267
+ * shopline- no-header inner page issue fixed.
268
+
269
+ = 2.0.27=
270
+ * Widget issue fixed.
271
+
272
+ = 2.0.26=
273
+ * shopline - Radio image issue fixed.
274
+
275
+ = 2.0.25=
276
+ * shopline - customizer issue fixed.
277
+
278
+ = 2.0.24=
279
+ * shopline - scrolling issue fixed.
280
+
281
+ = 2.0.23=
282
+ * shopline - header redirect issue fixed.
283
+
284
+ = 2.0.22=
285
+ * shopline - product category issue fixed.
286
+
287
+ = 2.0.21=
288
+ * shopline - images change.
289
+
290
+ = 2.0.20=
291
+ * shopline - bug fixed.
292
+ * shopline - woocommerce error fixed.
293
+ * featuredlite - team section social icon hide issue fixed.
294
+
295
+ = 2.0.19=
296
+ * shopline - heading issue fixed.
297
+ * featuredlite - team section social icon link fixed.
298
+
299
+ = 2.0.18=
300
+ * shopline - new shortcode added.
301
+
302
+ = 2.0.17=
303
+ * shopline - new file added and bug fixed.
304
+
305
+ = 2.0.16=
306
+ * shopline - New customizer design added.
307
+
308
+ = 2.0.15=
309
+ * shopline - shopline issue fixed.
310
+
311
+ = 2.0.14=
312
+ * elanzalite - new file added.
313
+
314
+ = 2.0.13=
315
+ * elanzalite - new feature added.
316
+
317
+ = 2.0.12=
318
+ * elanzalite - issue fixed.
319
+
320
+ = 2.0.11=
321
+ * elanzalite - new tricker file added.
322
+ * style issue fixed.
323
+
324
+ = 2.0.10=
325
+ * elanzalite - customizer and style issue fixed.
326
+
327
+ = 2.0.9=
328
+ * elanzalite text issue fixed.
329
+
330
+ = 2.0.8 =
331
+ * elanzalite new file added.
332
+
333
+ = 2.0.7 =
334
+ * elanzalite widget added.
335
+
336
+ = 2.0.6 =
337
+ * elanzalite style improved.
338
+
339
+ = 2.0.5 =
340
+ * Elanzalite: sidebar and without sidebar magazine tempalte widget added.
341
+
342
+ = 2.0.4 =
343
+ * Elanzalite theme error issue fixed.
344
+
345
+ = 2.0.3 =
346
+ * Elanzalite recent post error issue fixed.
347
+
348
+ = 2.0.2 =
349
+ * Elanzalite customizer option change.
350
+
351
+ = 2.0.1 =
352
+ * Shopline theme error issue fixed.
353
+
354
+ = 2.0.0 =
355
+ * elanzalite theme customizer added.
356
+
357
+ = 1.1.9 =
358
+ * alpha color picker issue fixed.
359
+
360
+ = 1.1.8 =
361
+ * WordPress 4.9 tested.
362
+ * online-lite theme issue fixed.
363
+
364
+ = 1.1.7 =
365
+ * Shopline customizer error issue fixed.
366
+
367
+ = 1.1.6 =
368
+ * Shopline error issue fixed.
369
+
370
+ = 1.1.5 =
371
+ * Shopline Theme issue fixed.
372
+
373
+ = 1.1.4 =
374
+ * Shopline Theme improved.
375
+
376
+ = 1.1.3 =
377
+ * Shopline Theme add new feature.
378
+
379
+ = 1.1.2 =
380
+ * Shopline Theme style improved.
381
+
382
+ = 1.1.1 =
383
+ * Shopline Theme image console issue fixed.
384
+
385
+ = 1.1.0 =
386
+ * Shopline Theme Customizer added.
387
+
388
+ = 1.0.12 =
389
+ * Checkbox js issue fixed.
390
+
391
+ = 1.0.11 =
392
+ * online-lite js issue fixed.
393
+
394
+ = 1.0.10 =
395
+ * Child Theme issue fixed.
396
+
397
+ = 1.0.9 =
398
+ * online-lite theme issue fixed.
399
+
400
+ = 1.0.8 =
401
+ * Add color option.
402
+ * All issue fixed.
403
+
404
+ = 1.0.7 =
405
+ * New section add.
406
+
407
+ = 1.0.6 =
408
+ * error issue fixd.
409
+
410
+ = 1.0.5 =
411
+ * deprecated issue fixd.
412
+
413
+ = 1.0.4 =
414
+ * delete old folders
415
+
416
+ = 1.0.3 =
417
+ * fix issue
418
+
419
+ = 1.0.2 =
420
+ * new shortcode added.
421
+ * issue fix.
422
+
423
+ = 1.0.1 =
424
+ * woocommerce shortcode added.
425
+
426
+ = 1.0.0 =
427
+ Initial release
themehunk-customizer.php ADDED
@@ -0,0 +1,105 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /*
3
+ Plugin Name: ThemeHunk Customizer
4
+ Description: With the help of ThemeHunk unlimited addon you can add unlimited number of columns for services, Testimonial, and Team with color options for each.
5
+ Version: 2.6.6
6
+ Author: ThemeHunk
7
+ Text Domain: themehunk-customizer
8
+ Author URI: http://www.themehunk.com/
9
+ */
10
+ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
11
+
12
+ // Version constant for easy CSS refreshes
13
+ define('THEMEHUNK_CUSTOMIZER_VERSION', '2.6.5');
14
+ define('THEMEHUNK_CUSTOMIZER_PLUGIN_URL', plugin_dir_url(__FILE__));
15
+ define('THEMEHUNK_CUSTOMIZER_PLUGIN_PATH', plugin_dir_path(__FILE__) );
16
+ include_once(plugin_dir_path(__FILE__) . 'notify/notify.php' );
17
+ function themehunk_customizer_text_domain(){
18
+ $theme = wp_get_theme();
19
+ $themeArr=array();
20
+ $themeArr[] = $theme->get( 'TextDomain' );
21
+ $themeArr[] = $theme->get( 'Template' );
22
+ return $themeArr;
23
+ }
24
+
25
+ $theme = themehunk_customizer_text_domain();
26
+ if(in_array("oneline-lite", $theme)){
27
+ include_once( plugin_dir_path(__FILE__) . 'oneline-lite/demo/import-data.php' );
28
+ }elseif(in_array("shopline", $theme)){
29
+ include_once( plugin_dir_path(__FILE__) . 'shopline/demo/import-shopline-data.php');
30
+ }elseif(in_array("featuredlite", $theme)){
31
+ include_once( plugin_dir_path(__FILE__) . 'featuredlite/demo/import-data.php');
32
+ }elseif(in_array("big-store", $theme)){
33
+ include_once( plugin_dir_path(__FILE__) . 'big-store/demo/import.php' );
34
+ }elseif(in_array("m-shop", $theme)){
35
+ include_once( plugin_dir_path(__FILE__) . 'm-shop/demo/import.php' );
36
+ }
37
+ elseif(in_array("jot-shop", $theme)){
38
+ register_activation_hook( __FILE__, 'jot_shop_pro_deactivate' );
39
+ include_once( plugin_dir_path(__FILE__) . 'jot-shop/demo/import.php' );
40
+ }
41
+ elseif(in_array("amaz-store", $theme)){
42
+ register_activation_hook( __FILE__, 'themehunk_pro_plugin_deactivate' );
43
+ include_once( plugin_dir_path(__FILE__) . 'amaz-store/demo/import.php' );
44
+ }
45
+
46
+ function jot_shop_pro_deactivate() {
47
+ require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
48
+ deactivate_plugins( plugin_basename('jot-shop-pro/jot-shop-pro.php' ) );
49
+
50
+ }
51
+ function themehunk_pro_plugin_deactivate(){
52
+ $theme = themehunk_customizer_text_domain();
53
+ $theme_name = $theme[0];
54
+ require_once( ABSPATH . 'wp-admin/includes/plugin.php' );
55
+ deactivate_plugins( plugin_basename($theme_name.'-pro/'.$theme_name.'-pro.php' ) );
56
+ }
57
+ function themehunk_customizer_load_file(){
58
+ include_once(plugin_dir_path(__FILE__) . 'themehunk/customizer-font-selector/class/class-oneline-font-selector.php' );
59
+ include_once(plugin_dir_path(__FILE__) . 'themehunk/customizer-range-value/class/class-oneline-customizer-range-value-control.php' );
60
+ $font_selector_functions = plugin_dir_path(__FILE__) . 'themehunk/customizer-font-selector/functions.php';
61
+ if ( file_exists( $font_selector_functions ) ){
62
+ include_once( $font_selector_functions );
63
+ }
64
+ }
65
+
66
+ add_action('after_setup_theme', 'themehunk_customizer_load_plugin');
67
+ function themehunk_customizer_load_plugin() {
68
+ include_once( plugin_dir_path(__FILE__) . 'themehunk/widget.php' );
69
+ include_once( plugin_dir_path(__FILE__) . 'themehunk/custom-customizer.php' );
70
+ include_once( plugin_dir_path(__FILE__) . 'themehunk/color-picker/color-picker.php' );
71
+ $theme = themehunk_customizer_text_domain();
72
+ if(in_array("oneline-lite", $theme)){
73
+ add_action('widgets_init', 'themehunk_customizer_widgets_init');
74
+ include_once( plugin_dir_path(__FILE__) . 'oneline-lite/include.php' );
75
+
76
+ }elseif(in_array("featuredlite", $theme)){
77
+ add_action('widgets_init', 'themehunk_customizer_widgets_init');
78
+ include_once( plugin_dir_path(__FILE__) . 'featuredlite/include.php' );
79
+ }elseif(in_array("shopline", $theme)){
80
+
81
+ include_once( plugin_dir_path(__FILE__) . 'shopline/include.php' );
82
+ include_once(plugin_dir_path(__FILE__) . 'themehunk/customizer-tabs/class/class-themehunk-customize-control-tabs.php' );
83
+ include_once(plugin_dir_path(__FILE__) . 'themehunk/customizer-radio-image/class/class-themehunk-customize-control-radio-image.php' );
84
+ include_once(plugin_dir_path(__FILE__) . 'themehunk/customizer-scroll/class/class-themehunk-customize-control-scroll.php' );
85
+ themehunk_customizer_load_file();
86
+
87
+
88
+ }elseif(in_array("elanzalite", $theme)){
89
+ themehunk_customizer_load_file();
90
+ include_once( plugin_dir_path(__FILE__) . 'elanzalite/include.php' );
91
+ }
92
+ elseif(in_array("big-store", $theme)){
93
+ include_once( plugin_dir_path(__FILE__) . 'big-store/include.php' );
94
+ }
95
+ elseif(in_array("m-shop", $theme)){
96
+ include_once( plugin_dir_path(__FILE__) . 'm-shop/include.php' );
97
+ }
98
+ elseif(in_array("jot-shop", $theme)){
99
+ include_once( plugin_dir_path(__FILE__) . 'jot-shop/include.php' );
100
+ }
101
+ elseif(in_array("amaz-store", $theme)){
102
+ include_once( plugin_dir_path(__FILE__) . 'amaz-store/include.php' );
103
+ }
104
+ }
105
+ ?>