Passed
Push — master ( bff495...a454f4 )
by Fernando
04:43
created

woocommerce.php ➔ lsx_wc_items_counter()   B

Complexity

Conditions 5
Paths 8

Size

Total Lines 23
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 5
eloc 15
nc 8
nop 0
dl 0
loc 23
rs 8.5906
c 0
b 0
f 0
1
<?php
2
/**
3
 * LSX functions and definitions - WooCommerce.
4
 *
5
 * @package    lsx
6
 * @subpackage layout
7
 */
8
9
if ( ! defined( 'ABSPATH' ) ) {
10
	exit;
11
}
12
13
if ( ! function_exists( 'lsx_wc_support' ) ) :
14
15
	/**
16
	 * WooCommerce support.
17
	 *
18
	 * @package    lsx
19
	 * @subpackage woocommerce
20
	 */
21
	function lsx_wc_support() {
22
		add_theme_support( 'woocommerce' );
23
	}
24
25
	add_action( 'after_setup_theme', 'lsx_wc_support' );
26
27
endif;
28
29
if ( ! function_exists( 'lsx_wc_scripts_add_styles' ) ) :
30
31
	/**
32
	 * WooCommerce enqueue styles.
33
	 *
34
	 * @package    lsx
35
	 * @subpackage woocommerce
36
	 */
37
	function lsx_wc_scripts_add_styles() {
38
		wp_enqueue_style( 'woocommerce-lsx', get_template_directory_uri() . '/assets/css/woocommerce.css', array( 'lsx_main' ), LSX_VERSION );
39
		wp_style_add_data( 'woocommerce-lsx', 'rtl', 'replace' );
40
41
		// Remove select2 added by WooCommerce
42
43
		if ( ! is_admin() ) {
44
			wp_dequeue_style( 'select2' );
45
			wp_deregister_style( 'select2' );
46
47
			wp_dequeue_script( 'select2' );
48
			//wp_deregister_script( 'select2' );
0 ignored issues
show
Unused Code Comprehensibility introduced by
58% of this comment could be valid code. Did you maybe forget this after debugging?

Sometimes obsolete code just ends up commented out instead of removed. In this case it is better to remove the code once you have checked you do not need it.

The code might also have been commented out for debugging purposes. In this case it is vital that someone uncomments it again or your project may behave in very unexpected ways in production.

This check looks for comments that seem to be mostly valid code and reports them.

Loading history...
49
		}
50
	}
51
52
	add_action( 'wp_enqueue_scripts', 'lsx_wc_scripts_add_styles' );
53
54
endif;
55
56
if ( ! function_exists( 'lsx_wc_form_field_args' ) ) :
57
58
	/**
59
	 * WooCommerce form fields.
60
	 *
61
	 * @package    lsx
62
	 * @subpackage woocommerce
63
	 */
64
	function lsx_wc_form_field_args( $args, $key, $value ) {
0 ignored issues
show
Unused Code introduced by
The parameter $key is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
Unused Code introduced by
The parameter $value is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
65
		$args['input_class'][] = 'form-control';
66
67
		return $args;
68
	}
69
70
	add_action( 'woocommerce_form_field_args', 'lsx_wc_form_field_args', 10, 3 );
71
72
endif;
73
74
if ( ! function_exists( 'lsx_wc_theme_wrapper_start' ) ) :
75
76
	/**
77
	 * WooCommerce wrapper start.
78
	 *
79
	 * @package    lsx
80
	 * @subpackage woocommerce
81
	 */
82
	function lsx_wc_theme_wrapper_start() {
83
		lsx_content_wrap_before();
84
		echo '<div id="primary" class="content-area ' . esc_attr( lsx_main_class() ) . '">';
85
		lsx_content_before();
86
		echo '<main id="main" class="site-main" role="main">';
87
		lsx_content_top();
88
	}
89
90
	remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
91
	add_action( 'woocommerce_before_main_content', 'lsx_wc_theme_wrapper_start' );
92
93
endif;
94
95
if ( ! function_exists( 'lsx_wc_theme_wrapper_end' ) ) :
96
97
	/**
98
	 * WooCommerce wrapper end.
99
	 *
100
	 * @package    lsx
101
	 * @subpackage woocommerce
102
	 */
103
	function lsx_wc_theme_wrapper_end() {
104
		lsx_content_bottom();
105
		echo '</main>';
106
		lsx_content_after();
107
		echo '</div>';
108
		lsx_content_wrap_after();
109
	}
110
111
	remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 );
112
	add_action( 'woocommerce_after_main_content', 'lsx_wc_theme_wrapper_end' );
113
114
endif;
115
116
if ( ! function_exists( 'lsx_wc_disable_lsx_banner_plugin' ) ) :
117
118
	/**
119
	 * Disable LSX Banners plugin in some WC pages.
120
	 *
121
	 * @package    lsx
122
	 * @subpackage woocommerce
123
	 */
124
	function lsx_wc_disable_lsx_banner_plugin( $disabled ) {
125
		if ( is_cart() || is_checkout() || is_account_page() ) {
126
			$disabled = true;
127
		}
128
129
		return $disabled;
130
	}
131
132
	add_filter( 'lsx_banner_plugin_disable', 'lsx_wc_disable_lsx_banner_plugin' );
133
134
endif;
135
136
if ( ! function_exists( 'lsx_wc_disable_lsx_banner' ) ) :
137
138
	/**
139
	 * Disable LSX Banners banner in some WC pages.
140
	 *
141
	 * @package    lsx
142
	 * @subpackage woocommerce
143
	 */
144
	function lsx_wc_disable_lsx_banner( $disabled ) {
145
		if ( is_shop() || is_product_category() || is_product_tag() || is_product() ) {
146
			$disabled = true;
147
		}
148
149
		return $disabled;
150
	}
151
152
	add_filter( 'lsx_banner_disable', 'lsx_wc_disable_lsx_banner' );
153
154
endif;
155
156
if ( ! function_exists( 'lsx_wc_add_cart' ) ) :
157
158
	/**
159
	 * Adds WC cart to the header.
160
	 *
161
	 * @package    lsx
162
	 * @subpackage template-tags
163
	 */
164
	function lsx_wc_add_cart( $items, $args ) {
165
		if ( 'primary' === $args->theme_location ) {
166
			$customizer_option  = get_theme_mod( 'lsx_header_wc_cart', false );
167
168
			if ( ! empty( $customizer_option ) ) {
169
				ob_start();
170
				the_widget( 'WC_Widget_Cart', 'title=' );
171
				$widget = ob_get_clean();
172
173
				if ( is_cart() ) {
174
					$class = 'current-menu-item';
175
				} else {
176
					$class = '';
177
				}
178
179
				$item = '<li class="menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown lsx-wc-cart-menu-item ' . $class . '">' .
180
							'<a title="' . esc_attr__( 'View your shopping cart', 'lsx' ) . '" href="' . esc_url( wc_get_cart_url() ) . '" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true">' .
181
								/* Translators: %s: items quantity */
182
								'<span class="lsx-wc-cart-amount">' . wp_kses_data( WC()->cart->get_cart_subtotal() ) . '</span> <span class="lsx-wc-cart-count">' . wp_kses_data( sprintf( _n( '%d item', '%d items', WC()->cart->get_cart_contents_count(), 'lsx' ), WC()->cart->get_cart_contents_count() ) ) . '</span>' .
183
							'</a>' .
184
							'<ul role="menu" class=" dropdown-menu lsx-wc-cart-sub-menu">' .
185
								'<li>' .
186
									'<div class="lsx-wc-cart-dropdown">' . $widget . '</div>' .
187
								'</li>' .
188
							'</ul>' .
189
						'</li>';
190
191
				$items .= $item;
192
			}
193
		}
194
195
		return $items;
196
	}
197
198
	add_filter( 'wp_nav_menu_items', 'lsx_wc_add_cart', 10, 2 );
199
200
endif;
201
202
if ( ! function_exists( 'lsx_wc_products_widget_wrapper_before' ) ) :
203
204
	/**
205
	 * Change WC products widget wrapper (before).
206
	 *
207
	 * @package    lsx
208
	 * @subpackage woocommerce
209
	 */
210
	function lsx_wc_products_widget_wrapper_before( $html ) {
0 ignored issues
show
Unused Code introduced by
The parameter $html is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
211
		$html = '<div class="lsx-woocommerce-slider lsx-woocommerce-shortcode">';
212
		return $html;
213
	}
214
215
	add_filter( 'woocommerce_before_widget_product_list', 'lsx_wc_products_widget_wrapper_before', 15 );
216
217
endif;
218
219
if ( ! function_exists( 'lsx_wc_products_widget_wrapper_after' ) ) :
220
221
	/**
222
	 * Change WC products widget wrapper (after).
223
	 *
224
	 * @package    lsx
225
	 * @subpackage woocommerce
226
	 */
227
	function lsx_wc_products_widget_wrapper_after( $html ) {
0 ignored issues
show
Unused Code introduced by
The parameter $html is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
228
		$html = '</div>';
229
		return $html;
230
	}
231
232
	add_filter( 'woocommerce_after_widget_product_list', 'lsx_wc_products_widget_wrapper_after', 15 );
233
234
endif;
235
236
if ( ! function_exists( 'lsx_wc_reviews_widget_override' ) ) :
237
238
	/**
239
	 * Override WC ewviews widget.
240
	 *
241
	 * @package    lsx
242
	 * @subpackage woocommerce
243
	 */
244
	function lsx_wc_reviews_widget_override() {
245
		if ( class_exists( 'WC_Widget_Recent_Reviews' ) ) {
246
			unregister_widget( 'WC_Widget_Recent_Reviews' );
247
			require get_template_directory() . '/includes/classes/class-lsx-wc-widget-recent-reviews.php';
248
			register_widget( 'LSX_WC_Widget_Recent_Reviews' );
249
		}
250
	}
251
252
	add_action( 'widgets_init', 'lsx_wc_reviews_widget_override', 15 );
253
254
endif;
255
256
if ( ! function_exists( 'lsx_wc_change_price_html' ) ) :
257
258
	/**
259
	 * Change WC ZERO price to "free".
260
	 *
261
	 * @package    lsx
262
	 * @subpackage woocommerce
263
	 */
264
	function lsx_wc_change_price_html( $price, $product ) {
265
		if ( empty( $product->get_price() ) ) {
266
			if ( $product->is_on_sale() && $product->get_regular_price() ) {
267
				$regular_price = wc_get_price_to_display( $product, array(
268
					'qty' => 1,
269
					'price' => $product->get_regular_price(),
270
				) );
271
272
				$price = wc_format_price_range( $regular_price, esc_html__( 'Free!', 'lsx' ) );
273
			} else {
274
				$price = '<span class="amount">' . esc_html__( 'Free!', 'lsx' ) . '</span>';
275
			}
276
		}
277
278
		return $price;
279
	}
280
281
	add_filter( 'woocommerce_get_price_html', 'lsx_wc_change_price_html', 15, 2 );
282
283
endif;
284
285
if ( ! function_exists( 'lsx_wc_cart_link_fragment' ) ) :
286
287
	/**
288
	 * Cart Fragments.
289
	 * Ensure cart contents update when products are added to the cart via AJAX.
290
	 *
291
	 * @package    lsx
292
	 * @subpackage woocommerce
293
	 */
294
	function lsx_wc_cart_link_fragment( $fragments ) {
295
		global $woocommerce;
296
297
		ob_start();
298
		lsx_wc_cart_link();
299
		$fragments['li.lsx-wc-cart-menu-item > a'] = ob_get_clean();
300
301
		ob_start();
302
		lsx_wc_items_counter();
303
		$items_counter = ob_get_clean();
304
305
		if ( ! empty( $items_counter ) ) {
306
			$fragments['div.widget_shopping_cart_content'] = preg_replace( '/(.+)(<\/ul>)[\s\n]*(<p class="woocommerce-mini-cart__total)(.+)/', '$1' . $items_counter . '$2$3$4', $fragments['div.widget_shopping_cart_content'] );
307
		}
308
309
		return $fragments;
310
	}
311
312
endif;
313
314
if ( ! function_exists( 'lsx_wc_cart_link' ) ) :
315
316
	/**
317
	 * Cart Link.
318
	 * Displayed a link to the cart including the number of items present and the cart total.
319
	 *
320
	 * @package    lsx
321
	 * @subpackage woocommerce
322
	 */
323
	function lsx_wc_cart_link() {
324
		?>
325
			<a title="<?php esc_attr_e( 'View your shopping cart', 'lsx' ); ?>" href="<?php echo esc_url( wc_get_cart_url() ); ?>" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true">
326
				<?php /* Translators: %s: items quantity */ ?>
327
				<span class="lsx-wc-cart-amount"><?php echo wp_kses_data( WC()->cart->get_cart_subtotal() ); ?></span> <span class="lsx-wc-cart-count"><?php echo wp_kses_data( sprintf( _n( '%d item', '%d items', WC()->cart->get_cart_contents_count(), 'lsx' ), WC()->cart->get_cart_contents_count() ) );?></span>
328
			</a>
329
		<?php
330
	}
331
332
endif;
333
334
if ( ! function_exists( 'lsx_wc_items_counter' ) ) :
335
336
	/**
337
	 * Add car item hidden items counter.
338
	 *
339
	 * @package    lsx
340
	 * @subpackage woocommerce
341
	 */
342
	function lsx_wc_items_counter() {
343
		$count = (int) WC()->cart->get_cart_contents_count();
344
		$items_counter = '';
345
346
		if ( ! empty( $count ) ) {
347
			$count -= 3;
348
349
			if ( 1 === $count ) {
350
				$items_counter = esc_html__( '1 other item in cart', 'lsx' );
351
			} elseif ( $count > 1 ) {
352
				/* Translators: %s: items counter */
353
				$items_counter = sprintf( esc_html__( '%s other items in cart', 'lsx' ), $count );
354
			}
355
		}
356
357
		if ( ! empty( $items_counter ) ) :
358
			?>
359
				<li class="woocommerce-mini-cart-item mini_cart_item" style="display: block;">
360
					<a href="<?php echo esc_url( WC()->cart->get_cart_url() ); ?>"><?php echo esc_html( $items_counter ); ?></a>
361
				</li>
362
			<?php
363
		endif;
364
	}
365
366
endif;
367
368
if ( ! function_exists( 'lsx_wc_loop_shop_per_page' ) ) :
369
370
	/**
371
	 * Changes the number of products to display on shop.
372
	 *
373
	 * @package    lsx
374
	 * @subpackage woocommerce
375
	 */
376
	function lsx_wc_loop_shop_per_page( $items ) {
0 ignored issues
show
Unused Code introduced by
The parameter $items is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
377
		$items = 20;
378
		return $items;
379
	}
380
381
	add_filter( 'loop_shop_per_page', 'lsx_wc_loop_shop_per_page', 20 );
382
383
endif;
384
385
if ( ! function_exists( 'lsx_wc_add_to_cart_message_html' ) ) :
386
387
	/**
388
	 * Changes the "added to cart" message HTML.
389
	 *
390
	 * @package    lsx
391
	 * @subpackage woocommerce
392
	 */
393
	function lsx_wc_add_to_cart_message_html( $message, $products ) {
0 ignored issues
show
Unused Code introduced by
The parameter $products is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
394
		$message = '<div class="woocommerce-message-added-to-cart">' . $message . '</div>';
395
		return $message;
396
	}
397
398
	add_filter( 'wc_add_to_cart_message_html', 'lsx_wc_add_to_cart_message_html', 20, 2 );
399
400
endif;
401
402
if ( defined( 'WC_VERSION' ) && version_compare( WC_VERSION, '2.3', '>=' ) ) {
403
	add_filter( 'woocommerce_add_to_cart_fragments', 'lsx_wc_cart_link_fragment' );
404
} else {
405
	add_filter( 'add_to_cart_fragments', 'lsx_wc_cart_link_fragment' );
406
}
407
408
remove_action( 'woocommerce_after_shop_loop', 'woocommerce_pagination', 10 );
409
410
add_action( 'woocommerce_after_shop_loop', 'lsx_wc_sorting_wrapper', 9 );
411
add_action( 'woocommerce_after_shop_loop', 'woocommerce_catalog_ordering', 10 );
412
add_action( 'woocommerce_after_shop_loop', 'woocommerce_result_count', 20 );
413
add_action( 'woocommerce_after_shop_loop', 'woocommerce_pagination', 30 );
414
add_action( 'woocommerce_after_shop_loop', 'lsx_wc_sorting_wrapper_close', 31 );
415
416
remove_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 );
417
remove_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 30 );
418
419
add_action( 'woocommerce_before_shop_loop', 'lsx_wc_sorting_wrapper', 9 );
420
add_action( 'woocommerce_before_shop_loop', 'woocommerce_catalog_ordering', 10 );
421
add_action( 'woocommerce_before_shop_loop', 'woocommerce_result_count', 20 );
422
add_action( 'woocommerce_before_shop_loop', 'lsx_wc_woocommerce_pagination', 30 );
423
add_action( 'woocommerce_before_shop_loop', 'lsx_wc_sorting_wrapper_close', 31 );
424
425
if ( ! function_exists( 'lsx_wc_sorting_wrapper' ) ) :
426
427
	/**
428
	 * Sorting wrapper.
429
	 *
430
	 * @package    lsx
431
	 * @subpackage woocommerce
432
	 */
433
	function lsx_wc_sorting_wrapper() {
434
		echo '<div class="lsx-wc-sorting">';
435
	}
436
437
endif;
438
439
if ( ! function_exists( 'lsx_wc_sorting_wrapper_close' ) ) :
440
441
	/**
442
	 * Sorting wrapper close.
443
	 *
444
	 * @package    lsx
445
	 * @subpackage woocommerce
446
	 */
447
	function lsx_wc_sorting_wrapper_close() {
448
		echo '</div>';
449
	}
450
451
endif;
452
453
if ( ! function_exists( 'lsx_wc_product_columns_wrapper_close' ) ) :
454
455
	/**
456
	 * Product columns wrapper close.
457
	 *
458
	 * @package    lsx
459
	 * @subpackage woocommerce
460
	 */
461
	function lsx_wc_product_columns_wrapper_close() {
462
		echo '</div>';
463
	}
464
465
endif;
466
467
if ( ! function_exists( 'lsx_wc_woocommerce_pagination' ) ) :
468
469
	/**
470
	 * LSX WooCommerce Pagination
471
	 * WooCommerce disables the product pagination inside the woocommerce_product_subcategories() function
472
	 * but since LSX adds pagination before that function is excuted we need a separate function to
473
	 * determine whether or not to display the pagination.
474
	 *
475
	 * @package    lsx
476
	 * @subpackage woocommerce
477
	 */
478
	function lsx_wc_woocommerce_pagination() {
479
		if ( woocommerce_products_will_display() ) {
480
			woocommerce_pagination();
481
		}
482
	}
483
484
endif;
485
486
if ( ! function_exists( 'lsx_customizer_wc_controls' ) ) :
487
488
	/**
489
	 * Returns an array of the core panel.
490
	 *
491
	 * @package    lsx
492
	 * @subpackage customizer
493
	 *
494
	 * @return $lsx_controls array()
0 ignored issues
show
Documentation introduced by
The doc-type $lsx_controls could not be parsed: Unknown type name "$lsx_controls" at position 0. (view supported doc-types)

This check marks PHPDoc comments that could not be parsed by our parser. To see which comment annotations we can parse, please refer to our documentation on supported doc-types.

Loading history...
495
	 */
496
	function lsx_customizer_wc_controls( $lsx_controls ) {
497
		$lsx_controls['panels']['lsx-wc'] = array(
498
			'title'       => esc_html__( 'WooCommerce', 'lsx' ),
499
			'description' => esc_html__( 'Change the WooCommerce settings.', 'lsx' ),
500
			'priority'    => 23,
501
		);
502
503
		$lsx_controls['sections']['lsx-wc-global'] = array(
504
			'title'       => esc_html__( 'Global', 'lsx' ),
505
			'description' => esc_html__( 'Change the WooCommerce global settings.', 'lsx' ),
506
			'panel'       => 'lsx-wc',
507
		);
508
509
		$lsx_controls['settings']['lsx_wc_mobile_footer_bar_status'] = array(
510
			'default'           => '1',
511
			'sanitize_callback' => 'lsx_sanitize_checkbox',
512
		);
513
514
		$lsx_controls['fields']['lsx_wc_mobile_footer_bar_status'] = array(
515
			'label'       => esc_html__( 'Footer Bar', 'lsx' ),
516
			'description' => esc_html__( 'Enable the mobile footer bar.', 'lsx' ),
517
			'section'     => 'lsx-wc-global',
518
			'type'        => 'checkbox',
519
		);
520
521
		return $lsx_controls;
522
	}
523
524
endif;
525
526
add_filter( 'lsx_customizer_controls', 'lsx_customizer_wc_controls' );
527
528
if ( ! function_exists( 'lsx_wc_footer_bar' ) ) :
529
530
	/**
531
	 * Display WC footer bar.
532
	 *
533
	 * @package    lsx
534
	 * @subpackage woocommerce
535
	 */
536
	function lsx_wc_footer_bar() {
537
		if ( ! empty( get_theme_mod( 'lsx_wc_mobile_footer_bar_status', '1' ) ) ) :
538
			?>
539
			<div class="lsx-wc-footer-bar">
540
				<form role="search" method="get" action="<?php echo esc_url( home_url() ); ?>" class="lsx-wc-footer-bar-form">
541
					<fieldset>
542
						<legend class="screen-reader-text"><?php esc_html_e( 'Search products', 'lsx' ); ?></legend>
543
						<input type="search" name="s" placeholder="<?php esc_attr_e( 'Search products…', 'lsx' ); ?>" class="form-control">
544
					</fieldset>
545
				</form>
546
547
				<ul class="lsx-wc-footer-bar-items">
548
					<li class="lsx-wc-footer-bar-item">
549
						<a href="<?php echo esc_url( home_url() ); ?>" class="lsx-wc-footer-bar-link">
550
							<i class="fa fa-home" aria-hidden="true"></i>
551
							<span><?php esc_html_e( 'Home', 'lsx' ); ?></span>
552
						</a>
553
					</li>
554
555
					<li class="lsx-wc-footer-bar-item">
556
						<a href="<?php echo esc_url( get_permalink( get_option( 'woocommerce_myaccount_page_id' ) ) ); ?>" class="lsx-wc-footer-bar-link">
557
							<i class="fa fa-user" aria-hidden="true"></i>
558
							<span><?php esc_html_e( 'Account', 'lsx' ); ?></span>
559
						</a>
560
					</li>
561
562
					<li class="lsx-wc-footer-bar-item">
563
						<a href="#" class="lsx-wc-footer-bar-link lsx-wc-footer-bar-link-toogle">
564
							<i class="fa fa-search" aria-hidden="true"></i>
565
							<span><?php esc_html_e( 'Search', 'lsx' ); ?></span>
566
						</a>
567
					</li>
568
569
					<li class="lsx-wc-footer-bar-item">
570
						<a href="<?php echo esc_url( WC()->cart->get_cart_url() ); ?>" class="lsx-wc-footer-bar-link">
571
							<i class="fa fa-shopping-basket" aria-hidden="true"></i>
572
							<?php $count = WC()->cart->get_cart_contents_count(); ?>
573
							<?php if ( ! empty( $count ) ) : ?>
574
								<span class="lsx-wc-footer-bar-count"><?php echo wp_kses_data( $count ); ?></span>
575
							<?php endif; ?>
576
							<span><?php esc_html_e( 'Cart', 'lsx' ); ?></span>
577
						</a>
578
					</li>
579
				</ul>
580
			</div>
581
			<?php
582
		endif;
583
	}
584
585
	add_action( 'lsx_body_bottom', 'lsx_wc_footer_bar', 15 );
586
587
endif;
588