Passed
Push — master ( a023c6...df3337 )
by Warwick
09:48
created
classes/class-lsx-customizer-woocommerce.php 2 patches
Indentation   +611 added lines, -611 removed lines patch added patch discarded remove patch
@@ -1,365 +1,365 @@  discard block
 block discarded – undo
1 1
 <?php
2 2
 if ( ! class_exists( 'LSX_Customizer_WooCommerce' ) ) {
3 3
 
4
-	/**
5
-	 * LSX Customizer WooCommerce Class
6
-	 *
7
-	 * @package   LSX Customizer
8
-	 * @author    LightSpeed
9
-	 * @license   GPL3
10
-	 * @link
11
-	 * @copyright 2016 LightSpeed
12
-	 */
13
-	class LSX_Customizer_WooCommerce extends LSX_Customizer {
14
-
15
-		/**
16
-		 * Constructor.
17
-		 *
18
-		 * @since 1.1.1
19
-		 */
20
-		public function __construct() {
21
-			add_action( 'customize_register', array( $this, 'customize_register' ), 20 );
22
-
23
-			add_filter( 'body_class', array( $this, 'body_class' ), 2999 );
24
-
25
-			add_action( 'template_redirect', array( $this, 'thankyou_page' ), 2999 );
26
-
27
-			if ( empty( get_theme_mod( 'lsx_two_step_checkout', false ) ) ) {
28
-				add_action( 'lsx_entry_inside_top', array( $this, 'checkout_steps' ), 15 );
29
-			}
30
-
31
-			add_action( 'wp', array( $this, 'cart_extra_html' ), 2999 );
32
-			add_action( 'wp', array( $this, 'checkout_extra_html' ), 2999 );
33
-			add_action( 'lsx_wc_cart_menu_item_position', array( $this, 'cart_menu_item_position' ) );
34
-			add_action( 'lsx_wc_cart_menu_item_class', array( $this, 'cart_menu_item_class' ) );
35
-
36
-			add_filter( 'wp_nav_menu_items', array( $this, 'my_account_menu_item' ), 9, 2 );
37
-			add_action( 'lsx_wc_my_account_menu_item_position', array( $this, 'my_account_menu_item_position' ) );
38
-			add_action( 'lsx_wc_my_account_menu_item_class', array( $this, 'my_account_menu_item_class' ) );
39
-
40
-			// Shop Layout Switcher.
41
-			//add_action( 'wp_head', array( $this, 'show_layout_switcher' ), 1 );
42
-			//add_filter( 'gridlist_toggle_button_output', array( $this, 'gridlist_toggle_button_output' ), 10, 3 );
43
-		}
44
-
45
-		/**
46
-		 * Customizer Controls and Settings.
47
-		 *
48
-		 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
49
-		 * @since 1.1.1
50
-		 */
51
-		public function customize_register( $wp_customize ) {
52
-			/**
53
-			 * Checkout.
54
-			 */
55
-
56
-			$wp_customize->add_section( 'lsx-wc-checkout', array(
57
-				'title'       => esc_html__( 'LSX Checkout', 'lsx-customizer' ),
58
-				'description' => esc_html__( 'Change the WooCommerce checkout settings.', 'lsx-customizer' ),
59
-				'panel'       => 'woocommerce',
60
-				'priority'    => 3,
61
-			) );
62
-
63
-			$wp_customize->add_setting( 'lsx_checkout_steps', array(
64
-				'default'           => true,
65
-				'sanitize_callback' => array( $this, 'sanitize_checkbox' ),
66
-			) );
67
-
68
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_checkout_steps', array(
69
-				'label'       => esc_html__( 'Steps', 'lsx-customizer' ),
70
-				'description' => esc_html__( 'Enable the checkout steps header.', 'lsx-customizer' ),
71
-				'section'     => 'lsx-wc-checkout',
72
-				'settings'    => 'lsx_checkout_steps',
73
-				'type'        => 'checkbox',
74
-				'priority'    => 1,
75
-			) ) );
76
-
77
-			/**
78
-			 * Checkout Layout
79
-			 */
80
-			$wp_customize->add_setting( 'lsx_wc_checkout_layout', array(
81
-				'default' => 'default',
82
-				'sanitize_callback' => array( $this, 'sanitize_select' ),
83
-			) );
84
-
85
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_checkout_layout', array(
86
-				'label'       => esc_html__( 'Layout', 'lsx-customizer' ),
87
-				'description' => esc_html__( 'WooCommerce checkout layout.', 'lsx-customizer' ),
88
-				'section'     => 'lsx-wc-checkout',
89
-				'settings'    => 'lsx_wc_checkout_layout',
90
-				'type'        => 'select',
91
-				'priority'    => 2,
92
-				'choices'     => array(
93
-					'default' => esc_html__( 'Default', 'lsx-customizer' ),
94
-					'stacked' => esc_html__( 'Stacked', 'lsx-customizer' ),
95
-					'columns' => esc_html__( 'Columns', 'lsx-customizer' ),
96
-				),
97
-			) ) );
98
-
99
-			$wp_customize->add_setting( 'lsx_wc_checkout_thankyou_page', array(
100
-				'default' => '0',
101
-				'sanitize_callback' => array( $this, 'sanitize_select' ),
102
-			) );
103
-
104
-			$choices = array(
105
-				'0' => esc_html__( 'Default', 'lsx-customizer' ),
106
-			);
107
-
108
-			/**
109
-			 * Distraction Free Checkout
110
-			 */
111
-			$wp_customize->add_setting( 'lsx_distraction_free_checkout', array(
112
-				'sanitize_callback' => array( $this, 'sanitize_checkbox' ),
113
-			) );
114
-
115
-			$wp_customize->add_control( new WP_Customize_Control(
116
-				$wp_customize,
117
-				'lsx_distraction_free_checkout',
118
-				array(
119
-					'label'       => esc_html__( 'Distraction Free Checkout', 'lsx-customizer' ),
120
-					'description' => esc_html__( 'Removes all clutter from the checkout, allowing the customer to focus entirely on that procedure. Removes the stepped cart and checkout.', 'lsx-customizer' ),
121
-					'section'     => 'lsx-wc-checkout',
122
-					'settings'    => 'lsx_distraction_free_checkout',
123
-					'type'        => 'checkbox',
124
-					'priority'    => 3,
125
-				)
126
-			) );
127
-
128
-			/**
129
-			 * Two Step Checkout
130
-			 */
131
-			$wp_customize->add_setting( 'lsx_two_step_checkout', array(
132
-				'sanitize_callback' => array( $this, 'sanitize_checkbox' ),
133
-			) );
134
-
135
-			$wp_customize->add_control( new WP_Customize_Control(
136
-				$wp_customize,
137
-				'lsx_two_step_checkout',
138
-				array(
139
-					'label'       => esc_html__( 'Two Step Checkout', 'lsx-customizer' ),
140
-					'description' => esc_html__( 'Separates the customer details collection form, and the order summary / payment details form in to two separate pages. Removes the stepped cart and checkout.', 'lsx-customizer' ),
141
-					'section'     => 'lsx-wc-checkout',
142
-					'settings'    => 'lsx_two_step_checkout',
143
-					'type'        => 'checkbox',
144
-					'priority'    => 4,
145
-				)
146
-			) );
147
-
148
-			/**
149
-			 * Thank you page options
150
-			 */
151
-			$pages = get_pages();
152
-
153
-			foreach ( $pages as $key => $page ) {
154
-				$choices[ $page->ID ] = $page->post_title;
155
-			}
156
-
157
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_checkout_thankyou_page', array(
158
-				'label'       => esc_html__( 'Thank You Page', 'lsx-customizer' ),
159
-				'description' => esc_html__( 'WooCommerce checkout thank you page.', 'lsx-customizer' ),
160
-				'section'     => 'lsx-wc-checkout',
161
-				'settings'    => 'lsx_wc_checkout_thankyou_page',
162
-				'type'        => 'select',
163
-				'priority'    => 5,
164
-				'choices'     => $choices,
165
-			) ) );
166
-
167
-			$wp_customize->add_setting( 'lsx_wc_checkout_extra_html', array(
168
-				'default'           => '',
169
-				'sanitize_callback' => 'wp_kses_post',
170
-			) );
171
-
172
-			$wp_customize->add_control( new LSX_Customizer_Wysiwyg_Control( $wp_customize, 'lsx_wc_checkout_extra_html', array(
173
-				'label'       => esc_html__( 'Extra HTML', 'lsx-customizer' ),
174
-				'description' => esc_html__( 'Extra HTML to display at checkout page (bottom/right).', 'lsx-customizer' ),
175
-				'section'     => 'lsx-wc-checkout',
176
-				'settings'    => 'lsx_wc_checkout_extra_html',
177
-				'priority'    => 6,
178
-				'type'        => 'wysiwyg',
179
-			) ) );
180
-
181
-			/**
182
-			 * Cart.
183
-			 */
184
-
185
-			$wp_customize->add_setting( 'lsx_wc_cart_menu_item_style', array(
186
-				'default' => 'extended',
187
-				'sanitize_callback' => array( $this, 'sanitize_select' ),
188
-			) );
189
-
190
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_cart_menu_item_style', array(
191
-				'label'       => esc_html__( 'Menu Item Style', 'lsx-customizer' ),
192
-				'description' => esc_html__( 'WooCommerce menu item cart style.', 'lsx-customizer' ),
193
-				'section'     => 'lsx-wc-cart',
194
-				'settings'    => 'lsx_wc_cart_menu_item_style',
195
-				'type'        => 'select',
196
-				'priority'    => 2,
197
-				'choices'     => array(
198
-					'simple'   => esc_html__( 'Simple', 'lsx-customizer' ),
199
-					'extended' => esc_html__( 'Extended', 'lsx-customizer' ),
200
-				),
201
-			) ) );
202
-
203
-			$wp_customize->add_setting( 'lsx_wc_cart_menu_item_position', array(
204
-				'default' => 'main-menu-in',
205
-				'sanitize_callback' => array( $this, 'sanitize_select' ),
206
-			) );
207
-
208
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_cart_menu_item_position', array(
209
-				'label'       => esc_html__( 'Menu Item Position', 'lsx-customizer' ),
210
-				'description' => esc_html__( 'WooCommerce menu item cart position.', 'lsx-customizer' ),
211
-				'section'     => 'lsx-wc-cart',
212
-				'settings'    => 'lsx_wc_cart_menu_item_position',
213
-				'type'        => 'select',
214
-				'priority'    => 3,
215
-				'choices'     => array(
216
-					'main-menu-in'   => esc_html__( 'Main Menu (as last item)', 'lsx-customizer' ),
217
-					'main-menu-out'  => esc_html__( 'Main Menu (as last item, right aligned)', 'lsx-customizer' ),
218
-					'top-menu-left'  => esc_html__( 'Top Menu (left)', 'lsx-customizer' ),
219
-					'top-menu-right' => esc_html__( 'Top Menu (right)', 'lsx-customizer' ),
220
-				),
221
-			) ) );
222
-
223
-			$wp_customize->add_setting( 'lsx_wc_cart_extra_html', array(
224
-				'default'           => '',
225
-				'sanitize_callback' => 'wp_kses_post',
226
-			) );
227
-
228
-			$wp_customize->add_control( new LSX_Customizer_Wysiwyg_Control( $wp_customize, 'lsx_wc_cart_extra_html', array(
229
-				'label'       => esc_html__( 'Extra HTML', 'lsx-customizer' ),
230
-				'description' => esc_html__( 'Extra HTML to display at cart page (bottom/left).', 'lsx-customizer' ),
231
-				'section'     => 'lsx-wc-cart',
232
-				'settings'    => 'lsx_wc_cart_extra_html',
233
-				'priority'    => 4,
234
-				'type'        => 'wysiwyg',
235
-			) ) );
236
-
237
-			/**
238
-			 * My Account.
239
-			 */
240
-
241
-			$wp_customize->add_section( 'lsx-wc-my-account', array(
242
-				'title'       => esc_html__( 'LSX My Account', 'lsx-customizer' ),
243
-				'description' => esc_html__( 'Change the WooCommerce My Account settings.', 'lsx-customizer' ),
244
-				'panel'       => 'woocommerce',
245
-				'priority'    => 4,
246
-			) );
247
-
248
-			$wp_customize->add_setting( 'lsx_wc_my_account_menu_item', array(
249
-				'default'           => false,
250
-				'sanitize_callback' => array( $this, 'sanitize_checkbox' ),
251
-			) );
252
-
253
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_my_account_menu_item', array(
254
-				'label'       => esc_html__( 'Menu Item', 'lsx-customizer' ),
255
-				'description' => esc_html__( 'Enable the My Account menu item.', 'lsx-customizer' ),
256
-				'section'     => 'lsx-wc-my-account',
257
-				'settings'    => 'lsx_wc_my_account_menu_item',
258
-				'type'        => 'checkbox',
259
-				'priority'    => 1,
260
-			) ) );
261
-
262
-			$wp_customize->add_setting( 'lsx_wc_my_account_menu_item_style', array(
263
-				'default' => 'extended',
264
-				'sanitize_callback' => array( $this, 'sanitize_select' ),
265
-			) );
266
-
267
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_my_account_menu_item_style', array(
268
-				'label'       => esc_html__( 'Menu Item Style', 'lsx-customizer' ),
269
-				'description' => esc_html__( 'WooCommerce menu item My Account style.', 'lsx-customizer' ),
270
-				'section'     => 'lsx-wc-my-account',
271
-				'settings'    => 'lsx_wc_my_account_menu_item_style',
272
-				'type'        => 'select',
273
-				'priority'    => 2,
274
-				'choices'     => array(
275
-					'simple'   => esc_html__( 'Simple', 'lsx-customizer' ),
276
-					'extended' => esc_html__( 'Extended', 'lsx-customizer' ),
277
-				),
278
-			) ) );
279
-
280
-			$wp_customize->add_setting( 'lsx_wc_my_account_menu_item_position', array(
281
-				'default' => 'main-menu-in',
282
-				'sanitize_callback' => array( $this, 'sanitize_select' ),
283
-			) );
284
-
285
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_my_account_menu_item_position', array(
286
-				'label'       => esc_html__( 'Menu Item Position', 'lsx-customizer' ),
287
-				'description' => esc_html__( 'WooCommerce menu item My Account position.', 'lsx-customizer' ),
288
-				'section'     => 'lsx-wc-my-account',
289
-				'settings'    => 'lsx_wc_my_account_menu_item_position',
290
-				'type'        => 'select',
291
-				'priority'    => 3,
292
-				'choices'     => array(
293
-					'main-menu-in'   => esc_html__( 'Main Menu (as last item)', 'lsx-customizer' ),
294
-					'main-menu-out'  => esc_html__( 'Main Menu (as last item, right aligned)', 'lsx-customizer' ),
295
-					'top-menu-left'  => esc_html__( 'Top Menu (left)', 'lsx-customizer' ),
296
-					'top-menu-right' => esc_html__( 'Top Menu (right)', 'lsx-customizer' ),
297
-				),
298
-			) ) );
299
-		}
300
-
301
-		/**
302
-		 * Add and remove WC body_class() classes.
303
-		 *
304
-		 * @since 1.1.1
305
-		 */
306
-		public function body_class( $classes ) {
307
-			$distraction_free = get_theme_mod( 'lsx_distraction_free_checkout', false );
308
-			$two_step_checkout = get_theme_mod( 'lsx_two_step_checkout', false );
309
-			if ( is_checkout() ) {
310
-				$layout = get_theme_mod( 'lsx_wc_checkout_layout', 'default' );
311
-
312
-				if ( 'default' === $layout ) {
313
-					$classes[] = 'lsx-wc-checkout-layout-default';
314
-				} elseif ( 'stacked' === $layout ) {
315
-					$classes[] = 'lsx-wc-checkout-layout-stacked';
316
-				} elseif ( 'columns' === $layout ) {
317
-					$classes[] = 'lsx-wc-checkout-layout-two-column-addreses';
318
-				}
319
-				if ( ! empty( $distraction_free ) ) {
320
-					$classes[] = 'lsx-wc-checkout-distraction-free';
321
-				}
322
-				if ( ! empty( $two_step_checkout ) ) {
323
-					$classes[] = 'lsx-wc-checkout-two-steps';
324
-				}
325
-			}
326
-
327
-			return $classes;
328
-		}
329
-
330
-		/**
331
-		 * WC thank you page.
332
-		 *
333
-		 * @since 1.1.1
334
-		 */
335
-		public function thankyou_page() {
336
-			global $wp;
337
-
338
-			if ( is_checkout() && ! empty( $wp->query_vars['order-received'] ) ) {
339
-				$thankyou_page = get_theme_mod( 'lsx_wc_checkout_thankyou_page', '0' );
340
-
341
-				if ( ! empty( $thankyou_page ) && ! is_page( $thankyou_page ) ) {
342
-					$order_id  = apply_filters( 'woocommerce_thankyou_order_id', absint( $wp->query_vars['order-received'] ) );
343
-					$order_key = apply_filters( 'woocommerce_thankyou_order_key', empty( $_GET['key'] ) ? '' : wc_clean( $_GET['key'] ) );
344
-
345
-					if ( $order_id > 0 ) {
346
-						wp_safe_redirect( get_permalink( $thankyou_page ) . '?order-received=' . $order_id . '&key=' . $order_key, 302 );
347
-						exit;
348
-					}
349
-				}
350
-			}
351
-		}
352
-
353
-		/**
354
-		 * Display WC checkout steps.
355
-		 *
356
-		 * @since 1.1.1
357
-		 */
358
-		public function checkout_steps() {
359
-			$cart_url = function_exists( 'wc_get_cart_url' ) ? wc_get_cart_url() : WC()->cart->get_cart_url();
360
-			if ( ( is_checkout() || is_cart() ) && ! empty( get_theme_mod( 'lsx_checkout_steps', '1' ) ) ) :
361
-				global $wp;
362
-				?>
4
+     /**
5
+      * LSX Customizer WooCommerce Class
6
+      *
7
+      * @package   LSX Customizer
8
+      * @author    LightSpeed
9
+      * @license   GPL3
10
+      * @link
11
+      * @copyright 2016 LightSpeed
12
+      */
13
+     class LSX_Customizer_WooCommerce extends LSX_Customizer {
14
+
15
+          /**
16
+           * Constructor.
17
+           *
18
+           * @since 1.1.1
19
+           */
20
+          public function __construct() {
21
+               add_action( 'customize_register', array( $this, 'customize_register' ), 20 );
22
+
23
+               add_filter( 'body_class', array( $this, 'body_class' ), 2999 );
24
+
25
+               add_action( 'template_redirect', array( $this, 'thankyou_page' ), 2999 );
26
+
27
+               if ( empty( get_theme_mod( 'lsx_two_step_checkout', false ) ) ) {
28
+                    add_action( 'lsx_entry_inside_top', array( $this, 'checkout_steps' ), 15 );
29
+               }
30
+
31
+               add_action( 'wp', array( $this, 'cart_extra_html' ), 2999 );
32
+               add_action( 'wp', array( $this, 'checkout_extra_html' ), 2999 );
33
+               add_action( 'lsx_wc_cart_menu_item_position', array( $this, 'cart_menu_item_position' ) );
34
+               add_action( 'lsx_wc_cart_menu_item_class', array( $this, 'cart_menu_item_class' ) );
35
+
36
+               add_filter( 'wp_nav_menu_items', array( $this, 'my_account_menu_item' ), 9, 2 );
37
+               add_action( 'lsx_wc_my_account_menu_item_position', array( $this, 'my_account_menu_item_position' ) );
38
+               add_action( 'lsx_wc_my_account_menu_item_class', array( $this, 'my_account_menu_item_class' ) );
39
+
40
+               // Shop Layout Switcher.
41
+               //add_action( 'wp_head', array( $this, 'show_layout_switcher' ), 1 );
42
+               //add_filter( 'gridlist_toggle_button_output', array( $this, 'gridlist_toggle_button_output' ), 10, 3 );
43
+          }
44
+
45
+          /**
46
+           * Customizer Controls and Settings.
47
+           *
48
+           * @param WP_Customize_Manager $wp_customize Theme Customizer object.
49
+           * @since 1.1.1
50
+           */
51
+          public function customize_register( $wp_customize ) {
52
+               /**
53
+                * Checkout.
54
+                */
55
+
56
+               $wp_customize->add_section( 'lsx-wc-checkout', array(
57
+                    'title'       => esc_html__( 'LSX Checkout', 'lsx-customizer' ),
58
+                    'description' => esc_html__( 'Change the WooCommerce checkout settings.', 'lsx-customizer' ),
59
+                    'panel'       => 'woocommerce',
60
+                    'priority'    => 3,
61
+               ) );
62
+
63
+               $wp_customize->add_setting( 'lsx_checkout_steps', array(
64
+                    'default'           => true,
65
+                    'sanitize_callback' => array( $this, 'sanitize_checkbox' ),
66
+               ) );
67
+
68
+               $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_checkout_steps', array(
69
+                    'label'       => esc_html__( 'Steps', 'lsx-customizer' ),
70
+                    'description' => esc_html__( 'Enable the checkout steps header.', 'lsx-customizer' ),
71
+                    'section'     => 'lsx-wc-checkout',
72
+                    'settings'    => 'lsx_checkout_steps',
73
+                    'type'        => 'checkbox',
74
+                    'priority'    => 1,
75
+               ) ) );
76
+
77
+               /**
78
+                * Checkout Layout
79
+                */
80
+               $wp_customize->add_setting( 'lsx_wc_checkout_layout', array(
81
+                    'default' => 'default',
82
+                    'sanitize_callback' => array( $this, 'sanitize_select' ),
83
+               ) );
84
+
85
+               $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_checkout_layout', array(
86
+                    'label'       => esc_html__( 'Layout', 'lsx-customizer' ),
87
+                    'description' => esc_html__( 'WooCommerce checkout layout.', 'lsx-customizer' ),
88
+                    'section'     => 'lsx-wc-checkout',
89
+                    'settings'    => 'lsx_wc_checkout_layout',
90
+                    'type'        => 'select',
91
+                    'priority'    => 2,
92
+                    'choices'     => array(
93
+                         'default' => esc_html__( 'Default', 'lsx-customizer' ),
94
+                         'stacked' => esc_html__( 'Stacked', 'lsx-customizer' ),
95
+                         'columns' => esc_html__( 'Columns', 'lsx-customizer' ),
96
+                    ),
97
+               ) ) );
98
+
99
+               $wp_customize->add_setting( 'lsx_wc_checkout_thankyou_page', array(
100
+                    'default' => '0',
101
+                    'sanitize_callback' => array( $this, 'sanitize_select' ),
102
+               ) );
103
+
104
+               $choices = array(
105
+                    '0' => esc_html__( 'Default', 'lsx-customizer' ),
106
+               );
107
+
108
+               /**
109
+                * Distraction Free Checkout
110
+                */
111
+               $wp_customize->add_setting( 'lsx_distraction_free_checkout', array(
112
+                    'sanitize_callback' => array( $this, 'sanitize_checkbox' ),
113
+               ) );
114
+
115
+               $wp_customize->add_control( new WP_Customize_Control(
116
+                    $wp_customize,
117
+                    'lsx_distraction_free_checkout',
118
+                    array(
119
+                         'label'       => esc_html__( 'Distraction Free Checkout', 'lsx-customizer' ),
120
+                         'description' => esc_html__( 'Removes all clutter from the checkout, allowing the customer to focus entirely on that procedure. Removes the stepped cart and checkout.', 'lsx-customizer' ),
121
+                         'section'     => 'lsx-wc-checkout',
122
+                         'settings'    => 'lsx_distraction_free_checkout',
123
+                         'type'        => 'checkbox',
124
+                         'priority'    => 3,
125
+                    )
126
+               ) );
127
+
128
+               /**
129
+                * Two Step Checkout
130
+                */
131
+               $wp_customize->add_setting( 'lsx_two_step_checkout', array(
132
+                    'sanitize_callback' => array( $this, 'sanitize_checkbox' ),
133
+               ) );
134
+
135
+               $wp_customize->add_control( new WP_Customize_Control(
136
+                    $wp_customize,
137
+                    'lsx_two_step_checkout',
138
+                    array(
139
+                         'label'       => esc_html__( 'Two Step Checkout', 'lsx-customizer' ),
140
+                         'description' => esc_html__( 'Separates the customer details collection form, and the order summary / payment details form in to two separate pages. Removes the stepped cart and checkout.', 'lsx-customizer' ),
141
+                         'section'     => 'lsx-wc-checkout',
142
+                         'settings'    => 'lsx_two_step_checkout',
143
+                         'type'        => 'checkbox',
144
+                         'priority'    => 4,
145
+                    )
146
+               ) );
147
+
148
+               /**
149
+                * Thank you page options
150
+                */
151
+               $pages = get_pages();
152
+
153
+               foreach ( $pages as $key => $page ) {
154
+                    $choices[ $page->ID ] = $page->post_title;
155
+               }
156
+
157
+               $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_checkout_thankyou_page', array(
158
+                    'label'       => esc_html__( 'Thank You Page', 'lsx-customizer' ),
159
+                    'description' => esc_html__( 'WooCommerce checkout thank you page.', 'lsx-customizer' ),
160
+                    'section'     => 'lsx-wc-checkout',
161
+                    'settings'    => 'lsx_wc_checkout_thankyou_page',
162
+                    'type'        => 'select',
163
+                    'priority'    => 5,
164
+                    'choices'     => $choices,
165
+               ) ) );
166
+
167
+               $wp_customize->add_setting( 'lsx_wc_checkout_extra_html', array(
168
+                    'default'           => '',
169
+                    'sanitize_callback' => 'wp_kses_post',
170
+               ) );
171
+
172
+               $wp_customize->add_control( new LSX_Customizer_Wysiwyg_Control( $wp_customize, 'lsx_wc_checkout_extra_html', array(
173
+                    'label'       => esc_html__( 'Extra HTML', 'lsx-customizer' ),
174
+                    'description' => esc_html__( 'Extra HTML to display at checkout page (bottom/right).', 'lsx-customizer' ),
175
+                    'section'     => 'lsx-wc-checkout',
176
+                    'settings'    => 'lsx_wc_checkout_extra_html',
177
+                    'priority'    => 6,
178
+                    'type'        => 'wysiwyg',
179
+               ) ) );
180
+
181
+               /**
182
+                * Cart.
183
+                */
184
+
185
+               $wp_customize->add_setting( 'lsx_wc_cart_menu_item_style', array(
186
+                    'default' => 'extended',
187
+                    'sanitize_callback' => array( $this, 'sanitize_select' ),
188
+               ) );
189
+
190
+               $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_cart_menu_item_style', array(
191
+                    'label'       => esc_html__( 'Menu Item Style', 'lsx-customizer' ),
192
+                    'description' => esc_html__( 'WooCommerce menu item cart style.', 'lsx-customizer' ),
193
+                    'section'     => 'lsx-wc-cart',
194
+                    'settings'    => 'lsx_wc_cart_menu_item_style',
195
+                    'type'        => 'select',
196
+                    'priority'    => 2,
197
+                    'choices'     => array(
198
+                         'simple'   => esc_html__( 'Simple', 'lsx-customizer' ),
199
+                         'extended' => esc_html__( 'Extended', 'lsx-customizer' ),
200
+                    ),
201
+               ) ) );
202
+
203
+               $wp_customize->add_setting( 'lsx_wc_cart_menu_item_position', array(
204
+                    'default' => 'main-menu-in',
205
+                    'sanitize_callback' => array( $this, 'sanitize_select' ),
206
+               ) );
207
+
208
+               $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_cart_menu_item_position', array(
209
+                    'label'       => esc_html__( 'Menu Item Position', 'lsx-customizer' ),
210
+                    'description' => esc_html__( 'WooCommerce menu item cart position.', 'lsx-customizer' ),
211
+                    'section'     => 'lsx-wc-cart',
212
+                    'settings'    => 'lsx_wc_cart_menu_item_position',
213
+                    'type'        => 'select',
214
+                    'priority'    => 3,
215
+                    'choices'     => array(
216
+                         'main-menu-in'   => esc_html__( 'Main Menu (as last item)', 'lsx-customizer' ),
217
+                         'main-menu-out'  => esc_html__( 'Main Menu (as last item, right aligned)', 'lsx-customizer' ),
218
+                         'top-menu-left'  => esc_html__( 'Top Menu (left)', 'lsx-customizer' ),
219
+                         'top-menu-right' => esc_html__( 'Top Menu (right)', 'lsx-customizer' ),
220
+                    ),
221
+               ) ) );
222
+
223
+               $wp_customize->add_setting( 'lsx_wc_cart_extra_html', array(
224
+                    'default'           => '',
225
+                    'sanitize_callback' => 'wp_kses_post',
226
+               ) );
227
+
228
+               $wp_customize->add_control( new LSX_Customizer_Wysiwyg_Control( $wp_customize, 'lsx_wc_cart_extra_html', array(
229
+                    'label'       => esc_html__( 'Extra HTML', 'lsx-customizer' ),
230
+                    'description' => esc_html__( 'Extra HTML to display at cart page (bottom/left).', 'lsx-customizer' ),
231
+                    'section'     => 'lsx-wc-cart',
232
+                    'settings'    => 'lsx_wc_cart_extra_html',
233
+                    'priority'    => 4,
234
+                    'type'        => 'wysiwyg',
235
+               ) ) );
236
+
237
+               /**
238
+                * My Account.
239
+                */
240
+
241
+               $wp_customize->add_section( 'lsx-wc-my-account', array(
242
+                    'title'       => esc_html__( 'LSX My Account', 'lsx-customizer' ),
243
+                    'description' => esc_html__( 'Change the WooCommerce My Account settings.', 'lsx-customizer' ),
244
+                    'panel'       => 'woocommerce',
245
+                    'priority'    => 4,
246
+               ) );
247
+
248
+               $wp_customize->add_setting( 'lsx_wc_my_account_menu_item', array(
249
+                    'default'           => false,
250
+                    'sanitize_callback' => array( $this, 'sanitize_checkbox' ),
251
+               ) );
252
+
253
+               $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_my_account_menu_item', array(
254
+                    'label'       => esc_html__( 'Menu Item', 'lsx-customizer' ),
255
+                    'description' => esc_html__( 'Enable the My Account menu item.', 'lsx-customizer' ),
256
+                    'section'     => 'lsx-wc-my-account',
257
+                    'settings'    => 'lsx_wc_my_account_menu_item',
258
+                    'type'        => 'checkbox',
259
+                    'priority'    => 1,
260
+               ) ) );
261
+
262
+               $wp_customize->add_setting( 'lsx_wc_my_account_menu_item_style', array(
263
+                    'default' => 'extended',
264
+                    'sanitize_callback' => array( $this, 'sanitize_select' ),
265
+               ) );
266
+
267
+               $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_my_account_menu_item_style', array(
268
+                    'label'       => esc_html__( 'Menu Item Style', 'lsx-customizer' ),
269
+                    'description' => esc_html__( 'WooCommerce menu item My Account style.', 'lsx-customizer' ),
270
+                    'section'     => 'lsx-wc-my-account',
271
+                    'settings'    => 'lsx_wc_my_account_menu_item_style',
272
+                    'type'        => 'select',
273
+                    'priority'    => 2,
274
+                    'choices'     => array(
275
+                         'simple'   => esc_html__( 'Simple', 'lsx-customizer' ),
276
+                         'extended' => esc_html__( 'Extended', 'lsx-customizer' ),
277
+                    ),
278
+               ) ) );
279
+
280
+               $wp_customize->add_setting( 'lsx_wc_my_account_menu_item_position', array(
281
+                    'default' => 'main-menu-in',
282
+                    'sanitize_callback' => array( $this, 'sanitize_select' ),
283
+               ) );
284
+
285
+               $wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_my_account_menu_item_position', array(
286
+                    'label'       => esc_html__( 'Menu Item Position', 'lsx-customizer' ),
287
+                    'description' => esc_html__( 'WooCommerce menu item My Account position.', 'lsx-customizer' ),
288
+                    'section'     => 'lsx-wc-my-account',
289
+                    'settings'    => 'lsx_wc_my_account_menu_item_position',
290
+                    'type'        => 'select',
291
+                    'priority'    => 3,
292
+                    'choices'     => array(
293
+                         'main-menu-in'   => esc_html__( 'Main Menu (as last item)', 'lsx-customizer' ),
294
+                         'main-menu-out'  => esc_html__( 'Main Menu (as last item, right aligned)', 'lsx-customizer' ),
295
+                         'top-menu-left'  => esc_html__( 'Top Menu (left)', 'lsx-customizer' ),
296
+                         'top-menu-right' => esc_html__( 'Top Menu (right)', 'lsx-customizer' ),
297
+                    ),
298
+               ) ) );
299
+          }
300
+
301
+          /**
302
+           * Add and remove WC body_class() classes.
303
+           *
304
+           * @since 1.1.1
305
+           */
306
+          public function body_class( $classes ) {
307
+               $distraction_free = get_theme_mod( 'lsx_distraction_free_checkout', false );
308
+               $two_step_checkout = get_theme_mod( 'lsx_two_step_checkout', false );
309
+               if ( is_checkout() ) {
310
+                    $layout = get_theme_mod( 'lsx_wc_checkout_layout', 'default' );
311
+
312
+                    if ( 'default' === $layout ) {
313
+                         $classes[] = 'lsx-wc-checkout-layout-default';
314
+                    } elseif ( 'stacked' === $layout ) {
315
+                         $classes[] = 'lsx-wc-checkout-layout-stacked';
316
+                    } elseif ( 'columns' === $layout ) {
317
+                         $classes[] = 'lsx-wc-checkout-layout-two-column-addreses';
318
+                    }
319
+                    if ( ! empty( $distraction_free ) ) {
320
+                         $classes[] = 'lsx-wc-checkout-distraction-free';
321
+                    }
322
+                    if ( ! empty( $two_step_checkout ) ) {
323
+                         $classes[] = 'lsx-wc-checkout-two-steps';
324
+                    }
325
+               }
326
+
327
+               return $classes;
328
+          }
329
+
330
+          /**
331
+           * WC thank you page.
332
+           *
333
+           * @since 1.1.1
334
+           */
335
+          public function thankyou_page() {
336
+               global $wp;
337
+
338
+               if ( is_checkout() && ! empty( $wp->query_vars['order-received'] ) ) {
339
+                    $thankyou_page = get_theme_mod( 'lsx_wc_checkout_thankyou_page', '0' );
340
+
341
+                    if ( ! empty( $thankyou_page ) && ! is_page( $thankyou_page ) ) {
342
+                         $order_id  = apply_filters( 'woocommerce_thankyou_order_id', absint( $wp->query_vars['order-received'] ) );
343
+                         $order_key = apply_filters( 'woocommerce_thankyou_order_key', empty( $_GET['key'] ) ? '' : wc_clean( $_GET['key'] ) );
344
+
345
+                         if ( $order_id > 0 ) {
346
+                              wp_safe_redirect( get_permalink( $thankyou_page ) . '?order-received=' . $order_id . '&key=' . $order_key, 302 );
347
+                              exit;
348
+                         }
349
+                    }
350
+               }
351
+          }
352
+
353
+          /**
354
+           * Display WC checkout steps.
355
+           *
356
+           * @since 1.1.1
357
+           */
358
+          public function checkout_steps() {
359
+               $cart_url = function_exists( 'wc_get_cart_url' ) ? wc_get_cart_url() : WC()->cart->get_cart_url();
360
+               if ( ( is_checkout() || is_cart() ) && ! empty( get_theme_mod( 'lsx_checkout_steps', '1' ) ) ) :
361
+                    global $wp;
362
+                    ?>
363 363
 				<div class="lsx-wc-checkout-steps">
364 364
 					<ul class="lsx-wc-checkout-steps-items">
365 365
 
@@ -452,270 +452,270 @@  discard block
 block discarded – undo
452 452
 					</ul>
453 453
 				</div>
454 454
 				<?php
455
-			endif;
456
-		}
457
-
458
-		/**
459
-		 * Display extra HTML on checkout.
460
-		 *
461
-		 * @since 1.1.1
462
-		 */
463
-		public function checkout_extra_html() {
464
-			if ( is_checkout() ) {
465
-				$checkout_extra_html = get_theme_mod( 'lsx_wc_checkout_extra_html', '' );
466
-
467
-				if ( ! empty( $checkout_extra_html ) ) {
468
-					add_action( 'woocommerce_review_order_after_payment', array( $this, 'checkout_extra_html_echo' ), 9 );
469
-				}
470
-			}
471
-		}
472
-
473
-		/**
474
-		 * Display extra HTML on checkout.
475
-		 *
476
-		 * @since 1.1.1
477
-		 */
478
-		public function checkout_extra_html_echo() {
479
-			if ( is_checkout() ) {
480
-				$checkout_extra_html = get_theme_mod( 'lsx_wc_checkout_extra_html', '' );
481
-
482
-				if ( ! empty( $checkout_extra_html ) ) {
483
-					?>
455
+               endif;
456
+          }
457
+
458
+          /**
459
+           * Display extra HTML on checkout.
460
+           *
461
+           * @since 1.1.1
462
+           */
463
+          public function checkout_extra_html() {
464
+               if ( is_checkout() ) {
465
+                    $checkout_extra_html = get_theme_mod( 'lsx_wc_checkout_extra_html', '' );
466
+
467
+                    if ( ! empty( $checkout_extra_html ) ) {
468
+                         add_action( 'woocommerce_review_order_after_payment', array( $this, 'checkout_extra_html_echo' ), 9 );
469
+                    }
470
+               }
471
+          }
472
+
473
+          /**
474
+           * Display extra HTML on checkout.
475
+           *
476
+           * @since 1.1.1
477
+           */
478
+          public function checkout_extra_html_echo() {
479
+               if ( is_checkout() ) {
480
+                    $checkout_extra_html = get_theme_mod( 'lsx_wc_checkout_extra_html', '' );
481
+
482
+                    if ( ! empty( $checkout_extra_html ) ) {
483
+                         ?>
484 484
 					<div class="lsx-wc-checkout-extra-html">
485 485
 						<?php echo wp_kses_post( $checkout_extra_html ); ?>
486 486
 					</div>
487 487
 				<?php
488
-				}
489
-			}
490
-		}
491
-
492
-		/**
493
-		 * Display extra HTML on cart.
494
-		 *
495
-		 * @since 1.1.1
496
-		 */
497
-		public function cart_extra_html() {
498
-			if ( is_cart() ) {
499
-				$cart_extra_html = get_theme_mod( 'lsx_wc_cart_extra_html', '' );
500
-
501
-				if ( ! empty( $cart_extra_html ) ) {
502
-					remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display' );
503
-					add_action( 'woocommerce_cart_collaterals', array( $this, 'cart_extra_html_echo' ), 9 );
504
-				}
505
-			}
506
-		}
507
-
508
-		/**
509
-		 * Display extra HTML on cart.
510
-		 *
511
-		 * @since 1.1.1
512
-		 */
513
-		public function cart_extra_html_echo() {
514
-			if ( is_cart() ) {
515
-				$cart_extra_html = get_theme_mod( 'lsx_wc_cart_extra_html', '' );
516
-
517
-				if ( ! empty( $cart_extra_html ) ) {
518
-                ?>
488
+                    }
489
+               }
490
+          }
491
+
492
+          /**
493
+           * Display extra HTML on cart.
494
+           *
495
+           * @since 1.1.1
496
+           */
497
+          public function cart_extra_html() {
498
+               if ( is_cart() ) {
499
+                    $cart_extra_html = get_theme_mod( 'lsx_wc_cart_extra_html', '' );
500
+
501
+                    if ( ! empty( $cart_extra_html ) ) {
502
+                         remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display' );
503
+                         add_action( 'woocommerce_cart_collaterals', array( $this, 'cart_extra_html_echo' ), 9 );
504
+                    }
505
+               }
506
+          }
507
+
508
+          /**
509
+           * Display extra HTML on cart.
510
+           *
511
+           * @since 1.1.1
512
+           */
513
+          public function cart_extra_html_echo() {
514
+               if ( is_cart() ) {
515
+                    $cart_extra_html = get_theme_mod( 'lsx_wc_cart_extra_html', '' );
516
+
517
+                    if ( ! empty( $cart_extra_html ) ) {
518
+                    ?>
519 519
 					<div class="lsx-wc-cart-extra-html">
520 520
 						<?php echo wp_kses_post( $cart_extra_html ); ?>
521 521
 					</div>
522 522
 				<?php
523
-                }
524
-			}
525
-		}
526
-
527
-		/**
528
-		 * The place (menu) to display the cart menu item position.
529
-		 *
530
-		 * @since 1.1.1
531
-		 */
532
-		public function cart_menu_item_position( $menu_position ) {
533
-			$position = get_theme_mod( 'lsx_wc_cart_menu_item_position', '' );
534
-
535
-			if ( ! empty( $position ) ) {
536
-				switch ( $position ) {
537
-					case 'main-menu-in':
538
-					case 'main-menu-out':
539
-						$menu_position = 'primary';
540
-						break;
541
-
542
-					case 'top-menu-right':
543
-						$menu_position = 'top-menu';
544
-						break;
545
-
546
-					case 'top-menu-left':
547
-						$menu_position = 'top-menu-left';
548
-						break;
549
-				}
550
-			}
551
-
552
-			return $menu_position;
553
-		}
554
-
555
-		/**
556
-		 * The place (menu) to display the cart menu item position.
557
-		 *
558
-		 * @since 1.1.1
559
-		 */
560
-		public function cart_menu_item_class( $item_class ) {
561
-			$position = get_theme_mod( 'lsx_wc_cart_menu_item_position', '' );
562
-
563
-			if ( 'main-menu-out' === $position ) {
564
-				$item_class .= ' lsx-wc-cart-menu-item-right-aligned';
565
-			}
566
-
567
-			$style = get_theme_mod( 'lsx_wc_cart_menu_item_style', '' );
568
-
569
-			if ( 'simple' === $style ) {
570
-				$item_class .= ' lsx-wc-cart-menu-item-simple';
571
-			}
572
-
573
-			return $item_class;
574
-		}
575
-
576
-		/**
577
-		 * Adds WC My Account to the header.
578
-		 *
579
-		 * @since 1.1.1
580
-		 */
581
-		public function my_account_menu_item( $items, $args ) {
582
-			$my_account_menu_item_position = apply_filters( 'lsx_wc_my_account_menu_item_position', 'primary' );
583
-
584
-			if ( $my_account_menu_item_position === $args->theme_location || ( 'primary_logged_out' === $args->theme_location && 'primary' === $my_account_menu_item_position ) ) {
585
-				$customizer_option  = get_theme_mod( 'lsx_wc_my_account_menu_item', false );
586
-
587
-				if ( ! empty( $customizer_option ) ) {
588
-					if ( is_account_page() ) {
589
-						$class = 'current-menu-item';
590
-					} else {
591
-						$class = '';
592
-					}
593
-
594
-					$item_class = 'menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown lsx-wc-my-account-menu-item ' . $class;
595
-					$item_class = apply_filters( 'lsx_wc_my_account_menu_item_class', $item_class );
596
-
597
-					$endpoints = WC()->query->get_query_vars();
598
-
599
-					if ( is_user_logged_in() ) {
600
-						$item  = '<li class="' . $item_class . '">';
601
-						$item .= '<a title="' . esc_attr__( 'View your account', 'lsx-customizer' ) . '" href="' . esc_url( get_permalink( wc_get_page_id( 'myaccount' ) ) ) . '" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true"><span>' . esc_attr__( 'My Account', 'lsx-customizer' ) . '</span></a>';
602
-						$item .= '<ul role="menu" class=" dropdown-menu lsx-wc-my-account-sub-menu">';
603
-							foreach ( wc_get_account_menu_items() as $endpoint => $label ) {
604
-								$slug = $endpoint;
605
-								if ( isset( $endpoints[ $endpoint ] ) && '' !== $endpoints[ $endpoint ] ) {
606
-									$slug = $endpoints[ $endpoint ];
607
-								}
608
-								if ( 'dashboard' === $slug ) {
609
-									$slug = '';
610
-								}
611
-								$item .= '<li class="menu-item"><a title="" href="' . esc_url( get_permalink( wc_get_page_id( 'myaccount' ) ) . $slug ) . '">' . $label . '</a></li>';
612
-							}
613
-						$item .= '</ul></li>';
614
-
615
-					} else {
616
-						$item = '<li class="' . $item_class . '">' .
617
-									'<a title="' . esc_attr__( 'View your account', 'lsx-customizer' ) . '" href="' . esc_url( get_permalink( wc_get_page_id( 'myaccount' ) ) ) . '"><span>' . esc_attr__( 'Login', 'lsx-customizer' ) . '</span></a>' .
618
-								'</li>';
619
-					}
620
-
621
-					$item = apply_filters( 'lsx_wc_my_account_menu_item', $item );
622
-
623
-					if ( 'top-menu' === $args->theme_location ) {
624
-						$items = $item . $items;
625
-					} else {
626
-						$items = $items . $item;
627
-					}
628
-				}
629
-			}
630
-
631
-			return $items;
632
-		}
633
-
634
-		/**
635
-		 * The place (menu) to display the My Account menu item position.
636
-		 *
637
-		 * @since 1.1.1
638
-		 */
639
-		public function my_account_menu_item_position( $menu_position ) {
640
-			$position = get_theme_mod( 'lsx_wc_my_account_menu_item_position', '' );
641
-
642
-			if ( ! empty( $position ) ) {
643
-				switch ( $position ) {
644
-					case 'main-menu-in':
645
-					case 'main-menu-out':
646
-						$menu_position = 'primary';
647
-						break;
648
-
649
-					case 'top-menu-right':
650
-						$menu_position = 'top-menu';
651
-						break;
652
-
653
-					case 'top-menu-left':
654
-						$menu_position = 'top-menu-left';
655
-						break;
656
-				}
657
-			}
658
-
659
-			return $menu_position;
660
-		}
661
-
662
-		/**
663
-		 * The place (menu) to display the My Account menu item position.
664
-		 *
665
-		 * @since 1.1.1
666
-		 */
667
-		public function my_account_menu_item_class( $item_class ) {
668
-			$position = get_theme_mod( 'lsx_wc_my_account_menu_item_position', '' );
669
-
670
-			if ( 'main-menu-out' === $position ) {
671
-				$item_class .= ' lsx-wc-my-account-menu-item-right-aligned';
672
-			}
673
-
674
-			if ( ! is_user_logged_in() ) {
675
-				$item_class .= ' lsx-wc-my-account-login';
676
-			}
677
-
678
-			$style = get_theme_mod( 'lsx_wc_my_account_menu_item_style', '' );
679
-
680
-			if ( 'simple' === $style ) {
681
-				$item_class .= ' lsx-wc-my-account-menu-item-simple';
682
-			}
683
-
684
-			return $item_class;
685
-		}
686
-		/**
687
-		 * Display the woocommerce archive swticher.
688
-		 */
689
-		public function show_layout_switcher() {
690
-			$body_classes = get_body_class();
691
-			if ( in_array( 'post-type-archive-product', $body_classes ) ) {
692
-				global $WC_List_Grid;
693
-				if ( null !== $WC_List_Grid ) {
694
-					remove_action( 'woocommerce_before_shop_loop', array( $WC_List_Grid, 'gridlist_toggle_button' ), 30 );
695
-					add_action( 'lsx_banner_inner_bottom', array( $this, 'shop_gridlist_toggle_button' ), 90 );
696
-					add_action( 'lsx_global_header_inner_bottom', array( $this, 'shop_gridlist_toggle_button' ), 90 );
697
-					wp_deregister_style( 'grid-list-button' );
698
-				}
699
-			}
700
-		}
701
-		/**
702
-		 * Display the woocommerce archive swticher.
703
-		 */
704
-		public function shop_gridlist_toggle_button() {
705
-			global $WC_List_Grid;
706
-			?>
523
+                    }
524
+               }
525
+          }
526
+
527
+          /**
528
+           * The place (menu) to display the cart menu item position.
529
+           *
530
+           * @since 1.1.1
531
+           */
532
+          public function cart_menu_item_position( $menu_position ) {
533
+               $position = get_theme_mod( 'lsx_wc_cart_menu_item_position', '' );
534
+
535
+               if ( ! empty( $position ) ) {
536
+                    switch ( $position ) {
537
+                         case 'main-menu-in':
538
+                         case 'main-menu-out':
539
+                              $menu_position = 'primary';
540
+                              break;
541
+
542
+                         case 'top-menu-right':
543
+                              $menu_position = 'top-menu';
544
+                              break;
545
+
546
+                         case 'top-menu-left':
547
+                              $menu_position = 'top-menu-left';
548
+                              break;
549
+                    }
550
+               }
551
+
552
+               return $menu_position;
553
+          }
554
+
555
+          /**
556
+           * The place (menu) to display the cart menu item position.
557
+           *
558
+           * @since 1.1.1
559
+           */
560
+          public function cart_menu_item_class( $item_class ) {
561
+               $position = get_theme_mod( 'lsx_wc_cart_menu_item_position', '' );
562
+
563
+               if ( 'main-menu-out' === $position ) {
564
+                    $item_class .= ' lsx-wc-cart-menu-item-right-aligned';
565
+               }
566
+
567
+               $style = get_theme_mod( 'lsx_wc_cart_menu_item_style', '' );
568
+
569
+               if ( 'simple' === $style ) {
570
+                    $item_class .= ' lsx-wc-cart-menu-item-simple';
571
+               }
572
+
573
+               return $item_class;
574
+          }
575
+
576
+          /**
577
+           * Adds WC My Account to the header.
578
+           *
579
+           * @since 1.1.1
580
+           */
581
+          public function my_account_menu_item( $items, $args ) {
582
+               $my_account_menu_item_position = apply_filters( 'lsx_wc_my_account_menu_item_position', 'primary' );
583
+
584
+               if ( $my_account_menu_item_position === $args->theme_location || ( 'primary_logged_out' === $args->theme_location && 'primary' === $my_account_menu_item_position ) ) {
585
+                    $customizer_option  = get_theme_mod( 'lsx_wc_my_account_menu_item', false );
586
+
587
+                    if ( ! empty( $customizer_option ) ) {
588
+                         if ( is_account_page() ) {
589
+                              $class = 'current-menu-item';
590
+                         } else {
591
+                              $class = '';
592
+                         }
593
+
594
+                         $item_class = 'menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown lsx-wc-my-account-menu-item ' . $class;
595
+                         $item_class = apply_filters( 'lsx_wc_my_account_menu_item_class', $item_class );
596
+
597
+                         $endpoints = WC()->query->get_query_vars();
598
+
599
+                         if ( is_user_logged_in() ) {
600
+                              $item  = '<li class="' . $item_class . '">';
601
+                              $item .= '<a title="' . esc_attr__( 'View your account', 'lsx-customizer' ) . '" href="' . esc_url( get_permalink( wc_get_page_id( 'myaccount' ) ) ) . '" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true"><span>' . esc_attr__( 'My Account', 'lsx-customizer' ) . '</span></a>';
602
+                              $item .= '<ul role="menu" class=" dropdown-menu lsx-wc-my-account-sub-menu">';
603
+                                   foreach ( wc_get_account_menu_items() as $endpoint => $label ) {
604
+                                        $slug = $endpoint;
605
+                                        if ( isset( $endpoints[ $endpoint ] ) && '' !== $endpoints[ $endpoint ] ) {
606
+                                             $slug = $endpoints[ $endpoint ];
607
+                                        }
608
+                                        if ( 'dashboard' === $slug ) {
609
+                                             $slug = '';
610
+                                        }
611
+                                        $item .= '<li class="menu-item"><a title="" href="' . esc_url( get_permalink( wc_get_page_id( 'myaccount' ) ) . $slug ) . '">' . $label . '</a></li>';
612
+                                   }
613
+                              $item .= '</ul></li>';
614
+
615
+                         } else {
616
+                              $item = '<li class="' . $item_class . '">' .
617
+                                             '<a title="' . esc_attr__( 'View your account', 'lsx-customizer' ) . '" href="' . esc_url( get_permalink( wc_get_page_id( 'myaccount' ) ) ) . '"><span>' . esc_attr__( 'Login', 'lsx-customizer' ) . '</span></a>' .
618
+                                        '</li>';
619
+                         }
620
+
621
+                         $item = apply_filters( 'lsx_wc_my_account_menu_item', $item );
622
+
623
+                         if ( 'top-menu' === $args->theme_location ) {
624
+                              $items = $item . $items;
625
+                         } else {
626
+                              $items = $items . $item;
627
+                         }
628
+                    }
629
+               }
630
+
631
+               return $items;
632
+          }
633
+
634
+          /**
635
+           * The place (menu) to display the My Account menu item position.
636
+           *
637
+           * @since 1.1.1
638
+           */
639
+          public function my_account_menu_item_position( $menu_position ) {
640
+               $position = get_theme_mod( 'lsx_wc_my_account_menu_item_position', '' );
641
+
642
+               if ( ! empty( $position ) ) {
643
+                    switch ( $position ) {
644
+                         case 'main-menu-in':
645
+                         case 'main-menu-out':
646
+                              $menu_position = 'primary';
647
+                              break;
648
+
649
+                         case 'top-menu-right':
650
+                              $menu_position = 'top-menu';
651
+                              break;
652
+
653
+                         case 'top-menu-left':
654
+                              $menu_position = 'top-menu-left';
655
+                              break;
656
+                    }
657
+               }
658
+
659
+               return $menu_position;
660
+          }
661
+
662
+          /**
663
+           * The place (menu) to display the My Account menu item position.
664
+           *
665
+           * @since 1.1.1
666
+           */
667
+          public function my_account_menu_item_class( $item_class ) {
668
+               $position = get_theme_mod( 'lsx_wc_my_account_menu_item_position', '' );
669
+
670
+               if ( 'main-menu-out' === $position ) {
671
+                    $item_class .= ' lsx-wc-my-account-menu-item-right-aligned';
672
+               }
673
+
674
+               if ( ! is_user_logged_in() ) {
675
+                    $item_class .= ' lsx-wc-my-account-login';
676
+               }
677
+
678
+               $style = get_theme_mod( 'lsx_wc_my_account_menu_item_style', '' );
679
+
680
+               if ( 'simple' === $style ) {
681
+                    $item_class .= ' lsx-wc-my-account-menu-item-simple';
682
+               }
683
+
684
+               return $item_class;
685
+          }
686
+          /**
687
+           * Display the woocommerce archive swticher.
688
+           */
689
+          public function show_layout_switcher() {
690
+               $body_classes = get_body_class();
691
+               if ( in_array( 'post-type-archive-product', $body_classes ) ) {
692
+                    global $WC_List_Grid;
693
+                    if ( null !== $WC_List_Grid ) {
694
+                         remove_action( 'woocommerce_before_shop_loop', array( $WC_List_Grid, 'gridlist_toggle_button' ), 30 );
695
+                         add_action( 'lsx_banner_inner_bottom', array( $this, 'shop_gridlist_toggle_button' ), 90 );
696
+                         add_action( 'lsx_global_header_inner_bottom', array( $this, 'shop_gridlist_toggle_button' ), 90 );
697
+                         wp_deregister_style( 'grid-list-button' );
698
+                    }
699
+               }
700
+          }
701
+          /**
702
+           * Display the woocommerce archive swticher.
703
+           */
704
+          public function shop_gridlist_toggle_button() {
705
+               global $WC_List_Grid;
706
+               ?>
707 707
 			<div class="lsx-layout-switcher">
708 708
 				<span class="lsx-layout-switcher-label"><?php esc_html_e( 'Select view:', 'lsx-blog-customizer' ); ?></span>
709 709
 				<?php $WC_List_Grid->gridlist_toggle_button(); ?>
710 710
 			</div>
711 711
 			<?php
712
-		}
713
-		public function gridlist_toggle_button_output( $output, $grid_view, $list_view ) {
714
-			$output = sprintf( '<div class="gridlist-toggle lsx-layout-switcher-options"><a href="#" class="lsx-layout-switcher-option" id="grid" title="%1$s"><span class="fa fa fa-th"></span></a><a href="#" class="lsx-layout-switcher-option" id="list" title="%2$s"><span class="fa fa-bars"></span></a></div>', $grid_view, $list_view );
715
-			return $output;
716
-		}
717
-	}
718
-
719
-	new LSX_Customizer_WooCommerce();
712
+          }
713
+          public function gridlist_toggle_button_output( $output, $grid_view, $list_view ) {
714
+               $output = sprintf( '<div class="gridlist-toggle lsx-layout-switcher-options"><a href="#" class="lsx-layout-switcher-option" id="grid" title="%1$s"><span class="fa fa fa-th"></span></a><a href="#" class="lsx-layout-switcher-option" id="list" title="%2$s"><span class="fa fa-bars"></span></a></div>', $grid_view, $list_view );
715
+               return $output;
716
+          }
717
+     }
718
+
719
+     new LSX_Customizer_WooCommerce();
720 720
 
721 721
 }
Please login to merge, or discard this patch.
Spacing   +227 added lines, -227 removed lines patch added patch discarded remove patch
@@ -1,5 +1,5 @@  discard block
 block discarded – undo
1 1
 <?php
2
-if ( ! class_exists( 'LSX_Customizer_WooCommerce' ) ) {
2
+if ( ! class_exists('LSX_Customizer_WooCommerce')) {
3 3
 
4 4
 	/**
5 5
 	 * LSX Customizer WooCommerce Class
@@ -18,24 +18,24 @@  discard block
 block discarded – undo
18 18
 		 * @since 1.1.1
19 19
 		 */
20 20
 		public function __construct() {
21
-			add_action( 'customize_register', array( $this, 'customize_register' ), 20 );
21
+			add_action('customize_register', array($this, 'customize_register'), 20);
22 22
 
23
-			add_filter( 'body_class', array( $this, 'body_class' ), 2999 );
23
+			add_filter('body_class', array($this, 'body_class'), 2999);
24 24
 
25
-			add_action( 'template_redirect', array( $this, 'thankyou_page' ), 2999 );
25
+			add_action('template_redirect', array($this, 'thankyou_page'), 2999);
26 26
 
27
-			if ( empty( get_theme_mod( 'lsx_two_step_checkout', false ) ) ) {
28
-				add_action( 'lsx_entry_inside_top', array( $this, 'checkout_steps' ), 15 );
27
+			if (empty(get_theme_mod('lsx_two_step_checkout', false))) {
28
+				add_action('lsx_entry_inside_top', array($this, 'checkout_steps'), 15);
29 29
 			}
30 30
 
31
-			add_action( 'wp', array( $this, 'cart_extra_html' ), 2999 );
32
-			add_action( 'wp', array( $this, 'checkout_extra_html' ), 2999 );
33
-			add_action( 'lsx_wc_cart_menu_item_position', array( $this, 'cart_menu_item_position' ) );
34
-			add_action( 'lsx_wc_cart_menu_item_class', array( $this, 'cart_menu_item_class' ) );
31
+			add_action('wp', array($this, 'cart_extra_html'), 2999);
32
+			add_action('wp', array($this, 'checkout_extra_html'), 2999);
33
+			add_action('lsx_wc_cart_menu_item_position', array($this, 'cart_menu_item_position'));
34
+			add_action('lsx_wc_cart_menu_item_class', array($this, 'cart_menu_item_class'));
35 35
 
36
-			add_filter( 'wp_nav_menu_items', array( $this, 'my_account_menu_item' ), 9, 2 );
37
-			add_action( 'lsx_wc_my_account_menu_item_position', array( $this, 'my_account_menu_item_position' ) );
38
-			add_action( 'lsx_wc_my_account_menu_item_class', array( $this, 'my_account_menu_item_class' ) );
36
+			add_filter('wp_nav_menu_items', array($this, 'my_account_menu_item'), 9, 2);
37
+			add_action('lsx_wc_my_account_menu_item_position', array($this, 'my_account_menu_item_position'));
38
+			add_action('lsx_wc_my_account_menu_item_class', array($this, 'my_account_menu_item_class'));
39 39
 
40 40
 			// Shop Layout Switcher.
41 41
 			//add_action( 'wp_head', array( $this, 'show_layout_switcher' ), 1 );
@@ -48,254 +48,254 @@  discard block
 block discarded – undo
48 48
 		 * @param WP_Customize_Manager $wp_customize Theme Customizer object.
49 49
 		 * @since 1.1.1
50 50
 		 */
51
-		public function customize_register( $wp_customize ) {
51
+		public function customize_register($wp_customize) {
52 52
 			/**
53 53
 			 * Checkout.
54 54
 			 */
55 55
 
56
-			$wp_customize->add_section( 'lsx-wc-checkout', array(
57
-				'title'       => esc_html__( 'LSX Checkout', 'lsx-customizer' ),
58
-				'description' => esc_html__( 'Change the WooCommerce checkout settings.', 'lsx-customizer' ),
56
+			$wp_customize->add_section('lsx-wc-checkout', array(
57
+				'title'       => esc_html__('LSX Checkout', 'lsx-customizer'),
58
+				'description' => esc_html__('Change the WooCommerce checkout settings.', 'lsx-customizer'),
59 59
 				'panel'       => 'woocommerce',
60 60
 				'priority'    => 3,
61
-			) );
61
+			));
62 62
 
63
-			$wp_customize->add_setting( 'lsx_checkout_steps', array(
63
+			$wp_customize->add_setting('lsx_checkout_steps', array(
64 64
 				'default'           => true,
65
-				'sanitize_callback' => array( $this, 'sanitize_checkbox' ),
66
-			) );
65
+				'sanitize_callback' => array($this, 'sanitize_checkbox'),
66
+			));
67 67
 
68
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_checkout_steps', array(
69
-				'label'       => esc_html__( 'Steps', 'lsx-customizer' ),
70
-				'description' => esc_html__( 'Enable the checkout steps header.', 'lsx-customizer' ),
68
+			$wp_customize->add_control(new WP_Customize_Control($wp_customize, 'lsx_checkout_steps', array(
69
+				'label'       => esc_html__('Steps', 'lsx-customizer'),
70
+				'description' => esc_html__('Enable the checkout steps header.', 'lsx-customizer'),
71 71
 				'section'     => 'lsx-wc-checkout',
72 72
 				'settings'    => 'lsx_checkout_steps',
73 73
 				'type'        => 'checkbox',
74 74
 				'priority'    => 1,
75
-			) ) );
75
+			)));
76 76
 
77 77
 			/**
78 78
 			 * Checkout Layout
79 79
 			 */
80
-			$wp_customize->add_setting( 'lsx_wc_checkout_layout', array(
80
+			$wp_customize->add_setting('lsx_wc_checkout_layout', array(
81 81
 				'default' => 'default',
82
-				'sanitize_callback' => array( $this, 'sanitize_select' ),
83
-			) );
82
+				'sanitize_callback' => array($this, 'sanitize_select'),
83
+			));
84 84
 
85
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_checkout_layout', array(
86
-				'label'       => esc_html__( 'Layout', 'lsx-customizer' ),
87
-				'description' => esc_html__( 'WooCommerce checkout layout.', 'lsx-customizer' ),
85
+			$wp_customize->add_control(new WP_Customize_Control($wp_customize, 'lsx_wc_checkout_layout', array(
86
+				'label'       => esc_html__('Layout', 'lsx-customizer'),
87
+				'description' => esc_html__('WooCommerce checkout layout.', 'lsx-customizer'),
88 88
 				'section'     => 'lsx-wc-checkout',
89 89
 				'settings'    => 'lsx_wc_checkout_layout',
90 90
 				'type'        => 'select',
91 91
 				'priority'    => 2,
92 92
 				'choices'     => array(
93
-					'default' => esc_html__( 'Default', 'lsx-customizer' ),
94
-					'stacked' => esc_html__( 'Stacked', 'lsx-customizer' ),
95
-					'columns' => esc_html__( 'Columns', 'lsx-customizer' ),
93
+					'default' => esc_html__('Default', 'lsx-customizer'),
94
+					'stacked' => esc_html__('Stacked', 'lsx-customizer'),
95
+					'columns' => esc_html__('Columns', 'lsx-customizer'),
96 96
 				),
97
-			) ) );
97
+			)));
98 98
 
99
-			$wp_customize->add_setting( 'lsx_wc_checkout_thankyou_page', array(
99
+			$wp_customize->add_setting('lsx_wc_checkout_thankyou_page', array(
100 100
 				'default' => '0',
101
-				'sanitize_callback' => array( $this, 'sanitize_select' ),
102
-			) );
101
+				'sanitize_callback' => array($this, 'sanitize_select'),
102
+			));
103 103
 
104 104
 			$choices = array(
105
-				'0' => esc_html__( 'Default', 'lsx-customizer' ),
105
+				'0' => esc_html__('Default', 'lsx-customizer'),
106 106
 			);
107 107
 
108 108
 			/**
109 109
 			 * Distraction Free Checkout
110 110
 			 */
111
-			$wp_customize->add_setting( 'lsx_distraction_free_checkout', array(
112
-				'sanitize_callback' => array( $this, 'sanitize_checkbox' ),
113
-			) );
111
+			$wp_customize->add_setting('lsx_distraction_free_checkout', array(
112
+				'sanitize_callback' => array($this, 'sanitize_checkbox'),
113
+			));
114 114
 
115
-			$wp_customize->add_control( new WP_Customize_Control(
115
+			$wp_customize->add_control(new WP_Customize_Control(
116 116
 				$wp_customize,
117 117
 				'lsx_distraction_free_checkout',
118 118
 				array(
119
-					'label'       => esc_html__( 'Distraction Free Checkout', 'lsx-customizer' ),
120
-					'description' => esc_html__( 'Removes all clutter from the checkout, allowing the customer to focus entirely on that procedure. Removes the stepped cart and checkout.', 'lsx-customizer' ),
119
+					'label'       => esc_html__('Distraction Free Checkout', 'lsx-customizer'),
120
+					'description' => esc_html__('Removes all clutter from the checkout, allowing the customer to focus entirely on that procedure. Removes the stepped cart and checkout.', 'lsx-customizer'),
121 121
 					'section'     => 'lsx-wc-checkout',
122 122
 					'settings'    => 'lsx_distraction_free_checkout',
123 123
 					'type'        => 'checkbox',
124 124
 					'priority'    => 3,
125 125
 				)
126
-			) );
126
+			));
127 127
 
128 128
 			/**
129 129
 			 * Two Step Checkout
130 130
 			 */
131
-			$wp_customize->add_setting( 'lsx_two_step_checkout', array(
132
-				'sanitize_callback' => array( $this, 'sanitize_checkbox' ),
133
-			) );
131
+			$wp_customize->add_setting('lsx_two_step_checkout', array(
132
+				'sanitize_callback' => array($this, 'sanitize_checkbox'),
133
+			));
134 134
 
135
-			$wp_customize->add_control( new WP_Customize_Control(
135
+			$wp_customize->add_control(new WP_Customize_Control(
136 136
 				$wp_customize,
137 137
 				'lsx_two_step_checkout',
138 138
 				array(
139
-					'label'       => esc_html__( 'Two Step Checkout', 'lsx-customizer' ),
140
-					'description' => esc_html__( 'Separates the customer details collection form, and the order summary / payment details form in to two separate pages. Removes the stepped cart and checkout.', 'lsx-customizer' ),
139
+					'label'       => esc_html__('Two Step Checkout', 'lsx-customizer'),
140
+					'description' => esc_html__('Separates the customer details collection form, and the order summary / payment details form in to two separate pages. Removes the stepped cart and checkout.', 'lsx-customizer'),
141 141
 					'section'     => 'lsx-wc-checkout',
142 142
 					'settings'    => 'lsx_two_step_checkout',
143 143
 					'type'        => 'checkbox',
144 144
 					'priority'    => 4,
145 145
 				)
146
-			) );
146
+			));
147 147
 
148 148
 			/**
149 149
 			 * Thank you page options
150 150
 			 */
151 151
 			$pages = get_pages();
152 152
 
153
-			foreach ( $pages as $key => $page ) {
154
-				$choices[ $page->ID ] = $page->post_title;
153
+			foreach ($pages as $key => $page) {
154
+				$choices[$page->ID] = $page->post_title;
155 155
 			}
156 156
 
157
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_checkout_thankyou_page', array(
158
-				'label'       => esc_html__( 'Thank You Page', 'lsx-customizer' ),
159
-				'description' => esc_html__( 'WooCommerce checkout thank you page.', 'lsx-customizer' ),
157
+			$wp_customize->add_control(new WP_Customize_Control($wp_customize, 'lsx_wc_checkout_thankyou_page', array(
158
+				'label'       => esc_html__('Thank You Page', 'lsx-customizer'),
159
+				'description' => esc_html__('WooCommerce checkout thank you page.', 'lsx-customizer'),
160 160
 				'section'     => 'lsx-wc-checkout',
161 161
 				'settings'    => 'lsx_wc_checkout_thankyou_page',
162 162
 				'type'        => 'select',
163 163
 				'priority'    => 5,
164 164
 				'choices'     => $choices,
165
-			) ) );
165
+			)));
166 166
 
167
-			$wp_customize->add_setting( 'lsx_wc_checkout_extra_html', array(
167
+			$wp_customize->add_setting('lsx_wc_checkout_extra_html', array(
168 168
 				'default'           => '',
169 169
 				'sanitize_callback' => 'wp_kses_post',
170
-			) );
170
+			));
171 171
 
172
-			$wp_customize->add_control( new LSX_Customizer_Wysiwyg_Control( $wp_customize, 'lsx_wc_checkout_extra_html', array(
173
-				'label'       => esc_html__( 'Extra HTML', 'lsx-customizer' ),
174
-				'description' => esc_html__( 'Extra HTML to display at checkout page (bottom/right).', 'lsx-customizer' ),
172
+			$wp_customize->add_control(new LSX_Customizer_Wysiwyg_Control($wp_customize, 'lsx_wc_checkout_extra_html', array(
173
+				'label'       => esc_html__('Extra HTML', 'lsx-customizer'),
174
+				'description' => esc_html__('Extra HTML to display at checkout page (bottom/right).', 'lsx-customizer'),
175 175
 				'section'     => 'lsx-wc-checkout',
176 176
 				'settings'    => 'lsx_wc_checkout_extra_html',
177 177
 				'priority'    => 6,
178 178
 				'type'        => 'wysiwyg',
179
-			) ) );
179
+			)));
180 180
 
181 181
 			/**
182 182
 			 * Cart.
183 183
 			 */
184 184
 
185
-			$wp_customize->add_setting( 'lsx_wc_cart_menu_item_style', array(
185
+			$wp_customize->add_setting('lsx_wc_cart_menu_item_style', array(
186 186
 				'default' => 'extended',
187
-				'sanitize_callback' => array( $this, 'sanitize_select' ),
188
-			) );
187
+				'sanitize_callback' => array($this, 'sanitize_select'),
188
+			));
189 189
 
190
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_cart_menu_item_style', array(
191
-				'label'       => esc_html__( 'Menu Item Style', 'lsx-customizer' ),
192
-				'description' => esc_html__( 'WooCommerce menu item cart style.', 'lsx-customizer' ),
190
+			$wp_customize->add_control(new WP_Customize_Control($wp_customize, 'lsx_wc_cart_menu_item_style', array(
191
+				'label'       => esc_html__('Menu Item Style', 'lsx-customizer'),
192
+				'description' => esc_html__('WooCommerce menu item cart style.', 'lsx-customizer'),
193 193
 				'section'     => 'lsx-wc-cart',
194 194
 				'settings'    => 'lsx_wc_cart_menu_item_style',
195 195
 				'type'        => 'select',
196 196
 				'priority'    => 2,
197 197
 				'choices'     => array(
198
-					'simple'   => esc_html__( 'Simple', 'lsx-customizer' ),
199
-					'extended' => esc_html__( 'Extended', 'lsx-customizer' ),
198
+					'simple'   => esc_html__('Simple', 'lsx-customizer'),
199
+					'extended' => esc_html__('Extended', 'lsx-customizer'),
200 200
 				),
201
-			) ) );
201
+			)));
202 202
 
203
-			$wp_customize->add_setting( 'lsx_wc_cart_menu_item_position', array(
203
+			$wp_customize->add_setting('lsx_wc_cart_menu_item_position', array(
204 204
 				'default' => 'main-menu-in',
205
-				'sanitize_callback' => array( $this, 'sanitize_select' ),
206
-			) );
205
+				'sanitize_callback' => array($this, 'sanitize_select'),
206
+			));
207 207
 
208
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_cart_menu_item_position', array(
209
-				'label'       => esc_html__( 'Menu Item Position', 'lsx-customizer' ),
210
-				'description' => esc_html__( 'WooCommerce menu item cart position.', 'lsx-customizer' ),
208
+			$wp_customize->add_control(new WP_Customize_Control($wp_customize, 'lsx_wc_cart_menu_item_position', array(
209
+				'label'       => esc_html__('Menu Item Position', 'lsx-customizer'),
210
+				'description' => esc_html__('WooCommerce menu item cart position.', 'lsx-customizer'),
211 211
 				'section'     => 'lsx-wc-cart',
212 212
 				'settings'    => 'lsx_wc_cart_menu_item_position',
213 213
 				'type'        => 'select',
214 214
 				'priority'    => 3,
215 215
 				'choices'     => array(
216
-					'main-menu-in'   => esc_html__( 'Main Menu (as last item)', 'lsx-customizer' ),
217
-					'main-menu-out'  => esc_html__( 'Main Menu (as last item, right aligned)', 'lsx-customizer' ),
218
-					'top-menu-left'  => esc_html__( 'Top Menu (left)', 'lsx-customizer' ),
219
-					'top-menu-right' => esc_html__( 'Top Menu (right)', 'lsx-customizer' ),
216
+					'main-menu-in'   => esc_html__('Main Menu (as last item)', 'lsx-customizer'),
217
+					'main-menu-out'  => esc_html__('Main Menu (as last item, right aligned)', 'lsx-customizer'),
218
+					'top-menu-left'  => esc_html__('Top Menu (left)', 'lsx-customizer'),
219
+					'top-menu-right' => esc_html__('Top Menu (right)', 'lsx-customizer'),
220 220
 				),
221
-			) ) );
221
+			)));
222 222
 
223
-			$wp_customize->add_setting( 'lsx_wc_cart_extra_html', array(
223
+			$wp_customize->add_setting('lsx_wc_cart_extra_html', array(
224 224
 				'default'           => '',
225 225
 				'sanitize_callback' => 'wp_kses_post',
226
-			) );
226
+			));
227 227
 
228
-			$wp_customize->add_control( new LSX_Customizer_Wysiwyg_Control( $wp_customize, 'lsx_wc_cart_extra_html', array(
229
-				'label'       => esc_html__( 'Extra HTML', 'lsx-customizer' ),
230
-				'description' => esc_html__( 'Extra HTML to display at cart page (bottom/left).', 'lsx-customizer' ),
228
+			$wp_customize->add_control(new LSX_Customizer_Wysiwyg_Control($wp_customize, 'lsx_wc_cart_extra_html', array(
229
+				'label'       => esc_html__('Extra HTML', 'lsx-customizer'),
230
+				'description' => esc_html__('Extra HTML to display at cart page (bottom/left).', 'lsx-customizer'),
231 231
 				'section'     => 'lsx-wc-cart',
232 232
 				'settings'    => 'lsx_wc_cart_extra_html',
233 233
 				'priority'    => 4,
234 234
 				'type'        => 'wysiwyg',
235
-			) ) );
235
+			)));
236 236
 
237 237
 			/**
238 238
 			 * My Account.
239 239
 			 */
240 240
 
241
-			$wp_customize->add_section( 'lsx-wc-my-account', array(
242
-				'title'       => esc_html__( 'LSX My Account', 'lsx-customizer' ),
243
-				'description' => esc_html__( 'Change the WooCommerce My Account settings.', 'lsx-customizer' ),
241
+			$wp_customize->add_section('lsx-wc-my-account', array(
242
+				'title'       => esc_html__('LSX My Account', 'lsx-customizer'),
243
+				'description' => esc_html__('Change the WooCommerce My Account settings.', 'lsx-customizer'),
244 244
 				'panel'       => 'woocommerce',
245 245
 				'priority'    => 4,
246
-			) );
246
+			));
247 247
 
248
-			$wp_customize->add_setting( 'lsx_wc_my_account_menu_item', array(
248
+			$wp_customize->add_setting('lsx_wc_my_account_menu_item', array(
249 249
 				'default'           => false,
250
-				'sanitize_callback' => array( $this, 'sanitize_checkbox' ),
251
-			) );
250
+				'sanitize_callback' => array($this, 'sanitize_checkbox'),
251
+			));
252 252
 
253
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_my_account_menu_item', array(
254
-				'label'       => esc_html__( 'Menu Item', 'lsx-customizer' ),
255
-				'description' => esc_html__( 'Enable the My Account menu item.', 'lsx-customizer' ),
253
+			$wp_customize->add_control(new WP_Customize_Control($wp_customize, 'lsx_wc_my_account_menu_item', array(
254
+				'label'       => esc_html__('Menu Item', 'lsx-customizer'),
255
+				'description' => esc_html__('Enable the My Account menu item.', 'lsx-customizer'),
256 256
 				'section'     => 'lsx-wc-my-account',
257 257
 				'settings'    => 'lsx_wc_my_account_menu_item',
258 258
 				'type'        => 'checkbox',
259 259
 				'priority'    => 1,
260
-			) ) );
260
+			)));
261 261
 
262
-			$wp_customize->add_setting( 'lsx_wc_my_account_menu_item_style', array(
262
+			$wp_customize->add_setting('lsx_wc_my_account_menu_item_style', array(
263 263
 				'default' => 'extended',
264
-				'sanitize_callback' => array( $this, 'sanitize_select' ),
265
-			) );
264
+				'sanitize_callback' => array($this, 'sanitize_select'),
265
+			));
266 266
 
267
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_my_account_menu_item_style', array(
268
-				'label'       => esc_html__( 'Menu Item Style', 'lsx-customizer' ),
269
-				'description' => esc_html__( 'WooCommerce menu item My Account style.', 'lsx-customizer' ),
267
+			$wp_customize->add_control(new WP_Customize_Control($wp_customize, 'lsx_wc_my_account_menu_item_style', array(
268
+				'label'       => esc_html__('Menu Item Style', 'lsx-customizer'),
269
+				'description' => esc_html__('WooCommerce menu item My Account style.', 'lsx-customizer'),
270 270
 				'section'     => 'lsx-wc-my-account',
271 271
 				'settings'    => 'lsx_wc_my_account_menu_item_style',
272 272
 				'type'        => 'select',
273 273
 				'priority'    => 2,
274 274
 				'choices'     => array(
275
-					'simple'   => esc_html__( 'Simple', 'lsx-customizer' ),
276
-					'extended' => esc_html__( 'Extended', 'lsx-customizer' ),
275
+					'simple'   => esc_html__('Simple', 'lsx-customizer'),
276
+					'extended' => esc_html__('Extended', 'lsx-customizer'),
277 277
 				),
278
-			) ) );
278
+			)));
279 279
 
280
-			$wp_customize->add_setting( 'lsx_wc_my_account_menu_item_position', array(
280
+			$wp_customize->add_setting('lsx_wc_my_account_menu_item_position', array(
281 281
 				'default' => 'main-menu-in',
282
-				'sanitize_callback' => array( $this, 'sanitize_select' ),
283
-			) );
282
+				'sanitize_callback' => array($this, 'sanitize_select'),
283
+			));
284 284
 
285
-			$wp_customize->add_control( new WP_Customize_Control( $wp_customize, 'lsx_wc_my_account_menu_item_position', array(
286
-				'label'       => esc_html__( 'Menu Item Position', 'lsx-customizer' ),
287
-				'description' => esc_html__( 'WooCommerce menu item My Account position.', 'lsx-customizer' ),
285
+			$wp_customize->add_control(new WP_Customize_Control($wp_customize, 'lsx_wc_my_account_menu_item_position', array(
286
+				'label'       => esc_html__('Menu Item Position', 'lsx-customizer'),
287
+				'description' => esc_html__('WooCommerce menu item My Account position.', 'lsx-customizer'),
288 288
 				'section'     => 'lsx-wc-my-account',
289 289
 				'settings'    => 'lsx_wc_my_account_menu_item_position',
290 290
 				'type'        => 'select',
291 291
 				'priority'    => 3,
292 292
 				'choices'     => array(
293
-					'main-menu-in'   => esc_html__( 'Main Menu (as last item)', 'lsx-customizer' ),
294
-					'main-menu-out'  => esc_html__( 'Main Menu (as last item, right aligned)', 'lsx-customizer' ),
295
-					'top-menu-left'  => esc_html__( 'Top Menu (left)', 'lsx-customizer' ),
296
-					'top-menu-right' => esc_html__( 'Top Menu (right)', 'lsx-customizer' ),
293
+					'main-menu-in'   => esc_html__('Main Menu (as last item)', 'lsx-customizer'),
294
+					'main-menu-out'  => esc_html__('Main Menu (as last item, right aligned)', 'lsx-customizer'),
295
+					'top-menu-left'  => esc_html__('Top Menu (left)', 'lsx-customizer'),
296
+					'top-menu-right' => esc_html__('Top Menu (right)', 'lsx-customizer'),
297 297
 				),
298
-			) ) );
298
+			)));
299 299
 		}
300 300
 
301 301
 		/**
@@ -303,23 +303,23 @@  discard block
 block discarded – undo
303 303
 		 *
304 304
 		 * @since 1.1.1
305 305
 		 */
306
-		public function body_class( $classes ) {
307
-			$distraction_free = get_theme_mod( 'lsx_distraction_free_checkout', false );
308
-			$two_step_checkout = get_theme_mod( 'lsx_two_step_checkout', false );
309
-			if ( is_checkout() ) {
310
-				$layout = get_theme_mod( 'lsx_wc_checkout_layout', 'default' );
306
+		public function body_class($classes) {
307
+			$distraction_free = get_theme_mod('lsx_distraction_free_checkout', false);
308
+			$two_step_checkout = get_theme_mod('lsx_two_step_checkout', false);
309
+			if (is_checkout()) {
310
+				$layout = get_theme_mod('lsx_wc_checkout_layout', 'default');
311 311
 
312
-				if ( 'default' === $layout ) {
312
+				if ('default' === $layout) {
313 313
 					$classes[] = 'lsx-wc-checkout-layout-default';
314
-				} elseif ( 'stacked' === $layout ) {
314
+				} elseif ('stacked' === $layout) {
315 315
 					$classes[] = 'lsx-wc-checkout-layout-stacked';
316
-				} elseif ( 'columns' === $layout ) {
316
+				} elseif ('columns' === $layout) {
317 317
 					$classes[] = 'lsx-wc-checkout-layout-two-column-addreses';
318 318
 				}
319
-				if ( ! empty( $distraction_free ) ) {
319
+				if ( ! empty($distraction_free)) {
320 320
 					$classes[] = 'lsx-wc-checkout-distraction-free';
321 321
 				}
322
-				if ( ! empty( $two_step_checkout ) ) {
322
+				if ( ! empty($two_step_checkout)) {
323 323
 					$classes[] = 'lsx-wc-checkout-two-steps';
324 324
 				}
325 325
 			}
@@ -335,15 +335,15 @@  discard block
 block discarded – undo
335 335
 		public function thankyou_page() {
336 336
 			global $wp;
337 337
 
338
-			if ( is_checkout() && ! empty( $wp->query_vars['order-received'] ) ) {
339
-				$thankyou_page = get_theme_mod( 'lsx_wc_checkout_thankyou_page', '0' );
338
+			if (is_checkout() && ! empty($wp->query_vars['order-received'])) {
339
+				$thankyou_page = get_theme_mod('lsx_wc_checkout_thankyou_page', '0');
340 340
 
341
-				if ( ! empty( $thankyou_page ) && ! is_page( $thankyou_page ) ) {
342
-					$order_id  = apply_filters( 'woocommerce_thankyou_order_id', absint( $wp->query_vars['order-received'] ) );
343
-					$order_key = apply_filters( 'woocommerce_thankyou_order_key', empty( $_GET['key'] ) ? '' : wc_clean( $_GET['key'] ) );
341
+				if ( ! empty($thankyou_page) && ! is_page($thankyou_page)) {
342
+					$order_id  = apply_filters('woocommerce_thankyou_order_id', absint($wp->query_vars['order-received']));
343
+					$order_key = apply_filters('woocommerce_thankyou_order_key', empty($_GET['key']) ? '' : wc_clean($_GET['key']));
344 344
 
345
-					if ( $order_id > 0 ) {
346
-						wp_safe_redirect( get_permalink( $thankyou_page ) . '?order-received=' . $order_id . '&key=' . $order_key, 302 );
345
+					if ($order_id > 0) {
346
+						wp_safe_redirect(get_permalink($thankyou_page) . '?order-received=' . $order_id . '&key=' . $order_key, 302);
347 347
 						exit;
348 348
 					}
349 349
 				}
@@ -356,95 +356,95 @@  discard block
 block discarded – undo
356 356
 		 * @since 1.1.1
357 357
 		 */
358 358
 		public function checkout_steps() {
359
-			$cart_url = function_exists( 'wc_get_cart_url' ) ? wc_get_cart_url() : WC()->cart->get_cart_url();
360
-			if ( ( is_checkout() || is_cart() ) && ! empty( get_theme_mod( 'lsx_checkout_steps', '1' ) ) ) :
359
+			$cart_url = function_exists('wc_get_cart_url') ? wc_get_cart_url() : WC()->cart->get_cart_url();
360
+			if ((is_checkout() || is_cart()) && ! empty(get_theme_mod('lsx_checkout_steps', '1'))) :
361 361
 				global $wp;
362 362
 				?>
363 363
 				<div class="lsx-wc-checkout-steps">
364 364
 					<ul class="lsx-wc-checkout-steps-items">
365 365
 
366
-						<?php if ( is_cart() ) : ?>
366
+						<?php if (is_cart()) : ?>
367 367
 
368 368
 							<li class="lsx-wc-checkout-steps-item lsx-wc-checkout-steps-item-done">
369
-								<a href="<?php echo esc_url( get_permalink( wc_get_page_id( 'shop' ) ) ); ?>" class="lsx-wc-checkout-steps-link">
369
+								<a href="<?php echo esc_url(get_permalink(wc_get_page_id('shop'))); ?>" class="lsx-wc-checkout-steps-link">
370 370
 									<i class="fa fa-check-circle" aria-hidden="true"></i>
371
-									<span><span><?php esc_html_e( 'Shop', 'lsx-customizer' ); ?></span></span>
371
+									<span><span><?php esc_html_e('Shop', 'lsx-customizer'); ?></span></span>
372 372
 								</a>
373 373
 
374 374
 								<i class="fa fa-angle-right" aria-hidden="true"></i>
375 375
 							</li>
376 376
 
377 377
 							<li class="lsx-wc-checkout-steps-item lsx-wc-checkout-steps-item-current lsx-wc-checkout-steps-item-cart">
378
-								<i class="lsx-wc-checkout-steps-counter" aria-hidden="true"><?php esc_html_e( '2', 'lsx-customizer' ); ?></i>
379
-								<span><span><?php esc_html_e( 'My Cart', 'lsx-customizer' ); ?></span></span>
378
+								<i class="lsx-wc-checkout-steps-counter" aria-hidden="true"><?php esc_html_e('2', 'lsx-customizer'); ?></i>
379
+								<span><span><?php esc_html_e('My Cart', 'lsx-customizer'); ?></span></span>
380 380
 								<i class="fa fa-angle-right" aria-hidden="true"></i>
381 381
 							</li>
382 382
 
383 383
 							<li class="lsx-wc-checkout-steps-item lsx-wc-checkout-steps-item-disabled lsx-wc-checkout-steps-item-payment">
384
-								<i class="lsx-wc-checkout-steps-counter" aria-hidden="true"><?php esc_html_e( '3', 'lsx-customizer' ); ?></i>
385
-								<span><span><?php esc_html_e( 'Billing details', 'lsx-customizer' ); ?></span></span>
384
+								<i class="lsx-wc-checkout-steps-counter" aria-hidden="true"><?php esc_html_e('3', 'lsx-customizer'); ?></i>
385
+								<span><span><?php esc_html_e('Billing details', 'lsx-customizer'); ?></span></span>
386 386
 								<i class="fa fa-angle-right" aria-hidden="true"></i>
387 387
 							</li>
388 388
 
389 389
 							<li class="lsx-wc-checkout-steps-item lsx-wc-checkout-steps-item-disabled lsx-wc-checkout-steps-item-thankyou">
390
-								<i class="lsx-wc-checkout-steps-counter" aria-hidden="true"><?php esc_html_e( '4', 'lsx-customizer' ); ?></i>
391
-								<span><span><?php esc_html_e( 'Payment', 'lsx-customizer' ); ?></span></span>
390
+								<i class="lsx-wc-checkout-steps-counter" aria-hidden="true"><?php esc_html_e('4', 'lsx-customizer'); ?></i>
391
+								<span><span><?php esc_html_e('Payment', 'lsx-customizer'); ?></span></span>
392 392
 							</li>
393 393
 
394
-						<?php elseif ( is_checkout() && empty( $wp->query_vars['order-received'] ) ) : ?>
394
+						<?php elseif (is_checkout() && empty($wp->query_vars['order-received'])) : ?>
395 395
 
396 396
 							<li class="lsx-wc-checkout-steps-item lsx-wc-checkout-steps-item-done">
397
-								<a href="<?php echo esc_url( get_permalink( wc_get_page_id( 'shop' ) ) ); ?>" class="lsx-wc-checkout-steps-link">
397
+								<a href="<?php echo esc_url(get_permalink(wc_get_page_id('shop'))); ?>" class="lsx-wc-checkout-steps-link">
398 398
 									<i class="fa fa-check-circle" aria-hidden="true"></i>
399
-									<span><span><?php esc_html_e( 'Shop', 'lsx-customizer' ); ?></span></span>
399
+									<span><span><?php esc_html_e('Shop', 'lsx-customizer'); ?></span></span>
400 400
 								</a>
401 401
 
402 402
 								<i class="fa fa-angle-right" aria-hidden="true"></i>
403 403
 							</li>
404 404
 
405 405
 							<li class="lsx-wc-checkout-steps-item lsx-wc-checkout-steps-item-done lsx-wc-checkout-steps-item-cart">
406
-								<a href="<?php echo esc_url( $cart_url ); ?>" class="lsx-wc-checkout-steps-link">
406
+								<a href="<?php echo esc_url($cart_url); ?>" class="lsx-wc-checkout-steps-link">
407 407
 									<i class="fa fa-check-circle" aria-hidden="true"></i>
408
-									<span><span><?php esc_html_e( 'My Cart', 'lsx-customizer' ); ?></span></span>
408
+									<span><span><?php esc_html_e('My Cart', 'lsx-customizer'); ?></span></span>
409 409
 								</a>
410 410
 
411 411
 								<i class="fa fa-angle-right" aria-hidden="true"></i>
412 412
 							</li>
413 413
 
414 414
 							<li class="lsx-wc-checkout-steps-item lsx-wc-checkout-steps-item-current lsx-wc-checkout-steps-item-payment">
415
-								<i class="lsx-wc-checkout-steps-counter" aria-hidden="true"><?php esc_html_e( '3', 'lsx-customizer' ); ?></i>
416
-								<span><span><?php esc_html_e( 'Billing details', 'lsx-customizer' ); ?></span></span>
415
+								<i class="lsx-wc-checkout-steps-counter" aria-hidden="true"><?php esc_html_e('3', 'lsx-customizer'); ?></i>
416
+								<span><span><?php esc_html_e('Billing details', 'lsx-customizer'); ?></span></span>
417 417
 								<i class="fa fa-angle-right" aria-hidden="true"></i>
418 418
 							</li>
419 419
 
420 420
 							<li class="lsx-wc-checkout-steps-item lsx-wc-checkout-steps-item-disabled lsx-wc-checkout-steps-item-thankyou">
421
-								<i class="lsx-wc-checkout-steps-counter" aria-hidden="true"><?php esc_html_e( '4', 'lsx-customizer' ); ?></i>
422
-								<span><span><?php esc_html_e( 'Payment', 'lsx-customizer' ); ?></span></span>
421
+								<i class="lsx-wc-checkout-steps-counter" aria-hidden="true"><?php esc_html_e('4', 'lsx-customizer'); ?></i>
422
+								<span><span><?php esc_html_e('Payment', 'lsx-customizer'); ?></span></span>
423 423
 							</li>
424 424
 
425
-						<?php elseif ( is_checkout() ) : ?>
425
+						<?php elseif (is_checkout()) : ?>
426 426
 
427 427
 							<li class="lsx-wc-checkout-steps-item lsx-wc-checkout-steps-item-done">
428 428
 								<i class="fa fa-check-circle" aria-hidden="true"></i>
429
-								<span><span><?php esc_html_e( 'Shop', 'lsx-customizer' ); ?></span></span>
429
+								<span><span><?php esc_html_e('Shop', 'lsx-customizer'); ?></span></span>
430 430
 								<i class="fa fa-angle-right" aria-hidden="true"></i>
431 431
 							</li>
432 432
 
433 433
 							<li class="lsx-wc-checkout-steps-item lsx-wc-checkout-steps-item-done lsx-wc-checkout-steps-item-cart">
434 434
 								<i class="fa fa-check-circle" aria-hidden="true"></i>
435
-								<span><span><?php esc_html_e( 'My Cart', 'lsx-customizer' ); ?></span></span>
435
+								<span><span><?php esc_html_e('My Cart', 'lsx-customizer'); ?></span></span>
436 436
 								<i class="fa fa-angle-right" aria-hidden="true"></i>
437 437
 							</li>
438 438
 
439 439
 							<li class="lsx-wc-checkout-steps-item lsx-wc-checkout-steps-item-done lsx-wc-checkout-steps-item-payment">
440 440
 								<i class="fa fa-check-circle" aria-hidden="true"></i>
441
-								<span><span><?php esc_html_e( 'Billing details', 'lsx-customizer' ); ?></span></span>
441
+								<span><span><?php esc_html_e('Billing details', 'lsx-customizer'); ?></span></span>
442 442
 								<i class="fa fa-angle-right" aria-hidden="true"></i>
443 443
 							</li>
444 444
 
445 445
 							<li class="lsx-wc-checkout-steps-item lsx-wc-checkout-steps-item-current lsx-wc-checkout-steps-item-thankyou">
446
-								<i class="lsx-wc-checkout-steps-counter" aria-hidden="true"><?php esc_html_e( '4', 'lsx-customizer' ); ?></i>
447
-								<span><span><?php esc_html_e( 'Payment', 'lsx-customizer' ); ?></span></span>
446
+								<i class="lsx-wc-checkout-steps-counter" aria-hidden="true"><?php esc_html_e('4', 'lsx-customizer'); ?></i>
447
+								<span><span><?php esc_html_e('Payment', 'lsx-customizer'); ?></span></span>
448 448
 							</li>
449 449
 
450 450
 						<?php endif; ?>
@@ -461,11 +461,11 @@  discard block
 block discarded – undo
461 461
 		 * @since 1.1.1
462 462
 		 */
463 463
 		public function checkout_extra_html() {
464
-			if ( is_checkout() ) {
465
-				$checkout_extra_html = get_theme_mod( 'lsx_wc_checkout_extra_html', '' );
464
+			if (is_checkout()) {
465
+				$checkout_extra_html = get_theme_mod('lsx_wc_checkout_extra_html', '');
466 466
 
467
-				if ( ! empty( $checkout_extra_html ) ) {
468
-					add_action( 'woocommerce_review_order_after_payment', array( $this, 'checkout_extra_html_echo' ), 9 );
467
+				if ( ! empty($checkout_extra_html)) {
468
+					add_action('woocommerce_review_order_after_payment', array($this, 'checkout_extra_html_echo'), 9);
469 469
 				}
470 470
 			}
471 471
 		}
@@ -476,13 +476,13 @@  discard block
 block discarded – undo
476 476
 		 * @since 1.1.1
477 477
 		 */
478 478
 		public function checkout_extra_html_echo() {
479
-			if ( is_checkout() ) {
480
-				$checkout_extra_html = get_theme_mod( 'lsx_wc_checkout_extra_html', '' );
479
+			if (is_checkout()) {
480
+				$checkout_extra_html = get_theme_mod('lsx_wc_checkout_extra_html', '');
481 481
 
482
-				if ( ! empty( $checkout_extra_html ) ) {
482
+				if ( ! empty($checkout_extra_html)) {
483 483
 					?>
484 484
 					<div class="lsx-wc-checkout-extra-html">
485
-						<?php echo wp_kses_post( $checkout_extra_html ); ?>
485
+						<?php echo wp_kses_post($checkout_extra_html); ?>
486 486
 					</div>
487 487
 				<?php
488 488
 				}
@@ -495,12 +495,12 @@  discard block
 block discarded – undo
495 495
 		 * @since 1.1.1
496 496
 		 */
497 497
 		public function cart_extra_html() {
498
-			if ( is_cart() ) {
499
-				$cart_extra_html = get_theme_mod( 'lsx_wc_cart_extra_html', '' );
498
+			if (is_cart()) {
499
+				$cart_extra_html = get_theme_mod('lsx_wc_cart_extra_html', '');
500 500
 
501
-				if ( ! empty( $cart_extra_html ) ) {
502
-					remove_action( 'woocommerce_cart_collaterals', 'woocommerce_cross_sell_display' );
503
-					add_action( 'woocommerce_cart_collaterals', array( $this, 'cart_extra_html_echo' ), 9 );
501
+				if ( ! empty($cart_extra_html)) {
502
+					remove_action('woocommerce_cart_collaterals', 'woocommerce_cross_sell_display');
503
+					add_action('woocommerce_cart_collaterals', array($this, 'cart_extra_html_echo'), 9);
504 504
 				}
505 505
 			}
506 506
 		}
@@ -511,13 +511,13 @@  discard block
 block discarded – undo
511 511
 		 * @since 1.1.1
512 512
 		 */
513 513
 		public function cart_extra_html_echo() {
514
-			if ( is_cart() ) {
515
-				$cart_extra_html = get_theme_mod( 'lsx_wc_cart_extra_html', '' );
514
+			if (is_cart()) {
515
+				$cart_extra_html = get_theme_mod('lsx_wc_cart_extra_html', '');
516 516
 
517
-				if ( ! empty( $cart_extra_html ) ) {
517
+				if ( ! empty($cart_extra_html)) {
518 518
                 ?>
519 519
 					<div class="lsx-wc-cart-extra-html">
520
-						<?php echo wp_kses_post( $cart_extra_html ); ?>
520
+						<?php echo wp_kses_post($cart_extra_html); ?>
521 521
 					</div>
522 522
 				<?php
523 523
                 }
@@ -529,11 +529,11 @@  discard block
 block discarded – undo
529 529
 		 *
530 530
 		 * @since 1.1.1
531 531
 		 */
532
-		public function cart_menu_item_position( $menu_position ) {
533
-			$position = get_theme_mod( 'lsx_wc_cart_menu_item_position', '' );
532
+		public function cart_menu_item_position($menu_position) {
533
+			$position = get_theme_mod('lsx_wc_cart_menu_item_position', '');
534 534
 
535
-			if ( ! empty( $position ) ) {
536
-				switch ( $position ) {
535
+			if ( ! empty($position)) {
536
+				switch ($position) {
537 537
 					case 'main-menu-in':
538 538
 					case 'main-menu-out':
539 539
 						$menu_position = 'primary';
@@ -557,16 +557,16 @@  discard block
 block discarded – undo
557 557
 		 *
558 558
 		 * @since 1.1.1
559 559
 		 */
560
-		public function cart_menu_item_class( $item_class ) {
561
-			$position = get_theme_mod( 'lsx_wc_cart_menu_item_position', '' );
560
+		public function cart_menu_item_class($item_class) {
561
+			$position = get_theme_mod('lsx_wc_cart_menu_item_position', '');
562 562
 
563
-			if ( 'main-menu-out' === $position ) {
563
+			if ('main-menu-out' === $position) {
564 564
 				$item_class .= ' lsx-wc-cart-menu-item-right-aligned';
565 565
 			}
566 566
 
567
-			$style = get_theme_mod( 'lsx_wc_cart_menu_item_style', '' );
567
+			$style = get_theme_mod('lsx_wc_cart_menu_item_style', '');
568 568
 
569
-			if ( 'simple' === $style ) {
569
+			if ('simple' === $style) {
570 570
 				$item_class .= ' lsx-wc-cart-menu-item-simple';
571 571
 			}
572 572
 
@@ -578,49 +578,49 @@  discard block
 block discarded – undo
578 578
 		 *
579 579
 		 * @since 1.1.1
580 580
 		 */
581
-		public function my_account_menu_item( $items, $args ) {
582
-			$my_account_menu_item_position = apply_filters( 'lsx_wc_my_account_menu_item_position', 'primary' );
581
+		public function my_account_menu_item($items, $args) {
582
+			$my_account_menu_item_position = apply_filters('lsx_wc_my_account_menu_item_position', 'primary');
583 583
 
584
-			if ( $my_account_menu_item_position === $args->theme_location || ( 'primary_logged_out' === $args->theme_location && 'primary' === $my_account_menu_item_position ) ) {
585
-				$customizer_option  = get_theme_mod( 'lsx_wc_my_account_menu_item', false );
584
+			if ($my_account_menu_item_position === $args->theme_location || ('primary_logged_out' === $args->theme_location && 'primary' === $my_account_menu_item_position)) {
585
+				$customizer_option = get_theme_mod('lsx_wc_my_account_menu_item', false);
586 586
 
587
-				if ( ! empty( $customizer_option ) ) {
588
-					if ( is_account_page() ) {
587
+				if ( ! empty($customizer_option)) {
588
+					if (is_account_page()) {
589 589
 						$class = 'current-menu-item';
590 590
 					} else {
591 591
 						$class = '';
592 592
 					}
593 593
 
594 594
 					$item_class = 'menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown lsx-wc-my-account-menu-item ' . $class;
595
-					$item_class = apply_filters( 'lsx_wc_my_account_menu_item_class', $item_class );
595
+					$item_class = apply_filters('lsx_wc_my_account_menu_item_class', $item_class);
596 596
 
597 597
 					$endpoints = WC()->query->get_query_vars();
598 598
 
599
-					if ( is_user_logged_in() ) {
599
+					if (is_user_logged_in()) {
600 600
 						$item  = '<li class="' . $item_class . '">';
601
-						$item .= '<a title="' . esc_attr__( 'View your account', 'lsx-customizer' ) . '" href="' . esc_url( get_permalink( wc_get_page_id( 'myaccount' ) ) ) . '" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true"><span>' . esc_attr__( 'My Account', 'lsx-customizer' ) . '</span></a>';
601
+						$item .= '<a title="' . esc_attr__('View your account', 'lsx-customizer') . '" href="' . esc_url(get_permalink(wc_get_page_id('myaccount'))) . '" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true"><span>' . esc_attr__('My Account', 'lsx-customizer') . '</span></a>';
602 602
 						$item .= '<ul role="menu" class=" dropdown-menu lsx-wc-my-account-sub-menu">';
603
-							foreach ( wc_get_account_menu_items() as $endpoint => $label ) {
603
+							foreach (wc_get_account_menu_items() as $endpoint => $label) {
604 604
 								$slug = $endpoint;
605
-								if ( isset( $endpoints[ $endpoint ] ) && '' !== $endpoints[ $endpoint ] ) {
606
-									$slug = $endpoints[ $endpoint ];
605
+								if (isset($endpoints[$endpoint]) && '' !== $endpoints[$endpoint]) {
606
+									$slug = $endpoints[$endpoint];
607 607
 								}
608
-								if ( 'dashboard' === $slug ) {
608
+								if ('dashboard' === $slug) {
609 609
 									$slug = '';
610 610
 								}
611
-								$item .= '<li class="menu-item"><a title="" href="' . esc_url( get_permalink( wc_get_page_id( 'myaccount' ) ) . $slug ) . '">' . $label . '</a></li>';
611
+								$item .= '<li class="menu-item"><a title="" href="' . esc_url(get_permalink(wc_get_page_id('myaccount')) . $slug) . '">' . $label . '</a></li>';
612 612
 							}
613 613
 						$item .= '</ul></li>';
614 614
 
615 615
 					} else {
616 616
 						$item = '<li class="' . $item_class . '">' .
617
-									'<a title="' . esc_attr__( 'View your account', 'lsx-customizer' ) . '" href="' . esc_url( get_permalink( wc_get_page_id( 'myaccount' ) ) ) . '"><span>' . esc_attr__( 'Login', 'lsx-customizer' ) . '</span></a>' .
617
+									'<a title="' . esc_attr__('View your account', 'lsx-customizer') . '" href="' . esc_url(get_permalink(wc_get_page_id('myaccount'))) . '"><span>' . esc_attr__('Login', 'lsx-customizer') . '</span></a>' .
618 618
 								'</li>';
619 619
 					}
620 620
 
621
-					$item = apply_filters( 'lsx_wc_my_account_menu_item', $item );
621
+					$item = apply_filters('lsx_wc_my_account_menu_item', $item);
622 622
 
623
-					if ( 'top-menu' === $args->theme_location ) {
623
+					if ('top-menu' === $args->theme_location) {
624 624
 						$items = $item . $items;
625 625
 					} else {
626 626
 						$items = $items . $item;
@@ -636,11 +636,11 @@  discard block
 block discarded – undo
636 636
 		 *
637 637
 		 * @since 1.1.1
638 638
 		 */
639
-		public function my_account_menu_item_position( $menu_position ) {
640
-			$position = get_theme_mod( 'lsx_wc_my_account_menu_item_position', '' );
639
+		public function my_account_menu_item_position($menu_position) {
640
+			$position = get_theme_mod('lsx_wc_my_account_menu_item_position', '');
641 641
 
642
-			if ( ! empty( $position ) ) {
643
-				switch ( $position ) {
642
+			if ( ! empty($position)) {
643
+				switch ($position) {
644 644
 					case 'main-menu-in':
645 645
 					case 'main-menu-out':
646 646
 						$menu_position = 'primary';
@@ -664,20 +664,20 @@  discard block
 block discarded – undo
664 664
 		 *
665 665
 		 * @since 1.1.1
666 666
 		 */
667
-		public function my_account_menu_item_class( $item_class ) {
668
-			$position = get_theme_mod( 'lsx_wc_my_account_menu_item_position', '' );
667
+		public function my_account_menu_item_class($item_class) {
668
+			$position = get_theme_mod('lsx_wc_my_account_menu_item_position', '');
669 669
 
670
-			if ( 'main-menu-out' === $position ) {
670
+			if ('main-menu-out' === $position) {
671 671
 				$item_class .= ' lsx-wc-my-account-menu-item-right-aligned';
672 672
 			}
673 673
 
674
-			if ( ! is_user_logged_in() ) {
674
+			if ( ! is_user_logged_in()) {
675 675
 				$item_class .= ' lsx-wc-my-account-login';
676 676
 			}
677 677
 
678
-			$style = get_theme_mod( 'lsx_wc_my_account_menu_item_style', '' );
678
+			$style = get_theme_mod('lsx_wc_my_account_menu_item_style', '');
679 679
 
680
-			if ( 'simple' === $style ) {
680
+			if ('simple' === $style) {
681 681
 				$item_class .= ' lsx-wc-my-account-menu-item-simple';
682 682
 			}
683 683
 
@@ -688,13 +688,13 @@  discard block
 block discarded – undo
688 688
 		 */
689 689
 		public function show_layout_switcher() {
690 690
 			$body_classes = get_body_class();
691
-			if ( in_array( 'post-type-archive-product', $body_classes ) ) {
691
+			if (in_array('post-type-archive-product', $body_classes)) {
692 692
 				global $WC_List_Grid;
693
-				if ( null !== $WC_List_Grid ) {
694
-					remove_action( 'woocommerce_before_shop_loop', array( $WC_List_Grid, 'gridlist_toggle_button' ), 30 );
695
-					add_action( 'lsx_banner_inner_bottom', array( $this, 'shop_gridlist_toggle_button' ), 90 );
696
-					add_action( 'lsx_global_header_inner_bottom', array( $this, 'shop_gridlist_toggle_button' ), 90 );
697
-					wp_deregister_style( 'grid-list-button' );
693
+				if (null !== $WC_List_Grid) {
694
+					remove_action('woocommerce_before_shop_loop', array($WC_List_Grid, 'gridlist_toggle_button'), 30);
695
+					add_action('lsx_banner_inner_bottom', array($this, 'shop_gridlist_toggle_button'), 90);
696
+					add_action('lsx_global_header_inner_bottom', array($this, 'shop_gridlist_toggle_button'), 90);
697
+					wp_deregister_style('grid-list-button');
698 698
 				}
699 699
 			}
700 700
 		}
@@ -705,13 +705,13 @@  discard block
 block discarded – undo
705 705
 			global $WC_List_Grid;
706 706
 			?>
707 707
 			<div class="lsx-layout-switcher">
708
-				<span class="lsx-layout-switcher-label"><?php esc_html_e( 'Select view:', 'lsx-blog-customizer' ); ?></span>
708
+				<span class="lsx-layout-switcher-label"><?php esc_html_e('Select view:', 'lsx-blog-customizer'); ?></span>
709 709
 				<?php $WC_List_Grid->gridlist_toggle_button(); ?>
710 710
 			</div>
711 711
 			<?php
712 712
 		}
713
-		public function gridlist_toggle_button_output( $output, $grid_view, $list_view ) {
714
-			$output = sprintf( '<div class="gridlist-toggle lsx-layout-switcher-options"><a href="#" class="lsx-layout-switcher-option" id="grid" title="%1$s"><span class="fa fa fa-th"></span></a><a href="#" class="lsx-layout-switcher-option" id="list" title="%2$s"><span class="fa fa-bars"></span></a></div>', $grid_view, $list_view );
713
+		public function gridlist_toggle_button_output($output, $grid_view, $list_view) {
714
+			$output = sprintf('<div class="gridlist-toggle lsx-layout-switcher-options"><a href="#" class="lsx-layout-switcher-option" id="grid" title="%1$s"><span class="fa fa fa-th"></span></a><a href="#" class="lsx-layout-switcher-option" id="list" title="%2$s"><span class="fa fa-bars"></span></a></div>', $grid_view, $list_view);
715 715
 			return $output;
716 716
 		}
717 717
 	}
Please login to merge, or discard this patch.
lsx-customizer.php 1 patch
Spacing   +5 added lines, -5 removed lines patch added patch discarded remove patch
@@ -15,14 +15,14 @@
 block discarded – undo
15 15
  */
16 16
 
17 17
 // If this file is called directly, abort.
18
-if ( ! defined( 'WPINC' ) ) {
18
+if ( ! defined('WPINC')) {
19 19
 	die;
20 20
 }
21 21
 
22
-define( 'LSX_CUSTOMIZER_PATH', plugin_dir_path( __FILE__ ) );
23
-define( 'LSX_CUSTOMIZER_CORE', __FILE__ );
24
-define( 'LSX_CUSTOMIZER_URL', plugin_dir_url( __FILE__ ) );
25
-define( 'LSX_CUSTOMIZER_VER', '1.5.0' );
22
+define('LSX_CUSTOMIZER_PATH', plugin_dir_path(__FILE__));
23
+define('LSX_CUSTOMIZER_CORE', __FILE__);
24
+define('LSX_CUSTOMIZER_URL', plugin_dir_url(__FILE__));
25
+define('LSX_CUSTOMIZER_VER', '1.5.0');
26 26
 
27 27
 
28 28
 /* ======================= Below is the Plugin Class init ========================= */
Please login to merge, or discard this patch.