Passed
Push — master ( 4069f1...baf3ee )
by Virginia
04:36 queued 10s
created
page-templates/template-archives.php 1 patch
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -23,9 +23,9 @@  discard block
 block discarded – undo
23 23
 		<?php if ( have_posts() ) : ?>
24 24
 
25 25
 			<?php
26
-			while ( have_posts() ) :
27
-				the_post();
28
-				?>
26
+               while ( have_posts() ) :
27
+                    the_post();
28
+                    ?>
29 29
 
30 30
 				<?php lsx_entry_before(); ?>
31 31
 
@@ -38,21 +38,21 @@  discard block
 block discarded – undo
38 38
 
39 39
 						<ul>
40 40
 							<?php
41
-								$loop = new WP_Query(
42
-									array(
43
-										'posts_per_page' => 30,
44
-									)
45
-								);
46
-							?>
41
+                                        $loop = new WP_Query(
42
+                                             array(
43
+                                                  'posts_per_page' => 30,
44
+                                             )
45
+                                        );
46
+                                   ?>
47 47
 
48 48
 							<?php if ( $loop->have_posts() ) : ?>
49 49
 
50 50
 								<?php while ( $loop->have_posts() ) : ?>
51 51
 
52 52
 									<?php
53
-										$loop->the_post();
54
-										$loop->is_home = false;
55
-									?>
53
+                                                  $loop->the_post();
54
+                                                  $loop->is_home = false;
55
+                                             ?>
56 56
 
57 57
 									<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a> - <?php the_time( get_option( 'date_format' ) ); ?> - <?php echo esc_html( $post->comment_count ); ?> <?php esc_html_e( 'comments', 'lsx' ); ?></li>
58 58
 
Please login to merge, or discard this patch.
archive.php 1 patch
Indentation   +3 added lines, -3 removed lines patch added patch discarded remove patch
@@ -22,9 +22,9 @@
 block discarded – undo
22 22
 			<div class="post-wrapper">
23 23
 
24 24
 				<?php
25
-				while ( have_posts() ) :
26
-					the_post();
27
-					?>
25
+                    while ( have_posts() ) :
26
+                         the_post();
27
+                         ?>
28 28
 
29 29
 					<?php get_template_part( 'partials/content', get_post_format() ); ?>
30 30
 
Please login to merge, or discard this patch.
functions.php 1 patch
Indentation   +7 added lines, -7 removed lines patch added patch discarded remove patch
@@ -8,33 +8,33 @@
 block discarded – undo
8 8
  */
9 9
 
10 10
 if ( ! defined( 'ABSPATH' ) ) {
11
-	exit;
11
+     exit;
12 12
 }
13 13
 
14 14
 define( 'LSX_VERSION', '2.9' );
15 15
 
16 16
 if ( in_array( 'wordpress-seo/wp-seo.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) || in_array( 'wordpress-seo-premium/wp-seo-premium.php', apply_filters( 'active_plugins', get_option( 'active_plugins' ) ) ) ) {
17
-	require get_template_directory() . '/includes/yoast/class-lsx-yoast.php';
17
+     require get_template_directory() . '/includes/yoast/class-lsx-yoast.php';
18 18
 }
19 19
 
20 20
 if ( class_exists( 'WooCommerce' ) ) {
21
-	require get_template_directory() . '/includes/woocommerce/woocommerce.php';
21
+     require get_template_directory() . '/includes/woocommerce/woocommerce.php';
22 22
 }
23 23
 
24 24
 if ( class_exists( 'Tribe__Events__Main' ) ) {
25
-	require get_template_directory() . '/includes/the-events-calendar/the-events-calendar.php';
25
+     require get_template_directory() . '/includes/the-events-calendar/the-events-calendar.php';
26 26
 }
27 27
 
28 28
 if ( class_exists( 'Sensei_Main' ) || class_exists( 'Sensei_WC' ) ) {
29
-	require get_template_directory() . '/includes/sensei/class-lsx-sensei.php';
29
+     require get_template_directory() . '/includes/sensei/class-lsx-sensei.php';
30 30
 }
31 31
 
32 32
 if ( class_exists( 'Popup_Maker' ) ) {
33
-	require get_template_directory() . '/includes/popup-maker/class-lsx-popup-maker.php';
33
+     require get_template_directory() . '/includes/popup-maker/class-lsx-popup-maker.php';
34 34
 }
35 35
 
36 36
 if ( class_exists( 'bbPress' ) ) {
37
-	require get_template_directory() . '/includes/bbpress/bbpress.php';
37
+     require get_template_directory() . '/includes/bbpress/bbpress.php';
38 38
 }
39 39
 
40 40
 require get_template_directory() . '/includes/config.php';
Please login to merge, or discard this patch.
includes/woocommerce/woocommerce.php 1 patch
Indentation   +652 added lines, -652 removed lines patch added patch discarded remove patch
@@ -7,421 +7,421 @@  discard block
 block discarded – undo
7 7
  */
8 8
 
9 9
 if ( ! defined( 'ABSPATH' ) ) {
10
-	exit;
10
+     exit;
11 11
 }
12 12
 
13 13
 if ( ! function_exists( 'lsx_wc_support' ) ) :
14 14
 
15
-	/**
16
-	 * WooCommerce support.
17
-	 *
18
-	 * @package    lsx
19
-	 * @subpackage woocommerce
20
-	 */
21
-	function lsx_wc_support() {
22
-		add_theme_support( 'woocommerce' );
23
-		add_theme_support( 'wc-product-gallery-zoom' );
24
-		add_theme_support( 'wc-product-gallery-lightbox' );
25
-		add_theme_support( 'wc-product-gallery-slider' );
26
-	}
15
+     /**
16
+      * WooCommerce support.
17
+      *
18
+      * @package    lsx
19
+      * @subpackage woocommerce
20
+      */
21
+     function lsx_wc_support() {
22
+          add_theme_support( 'woocommerce' );
23
+          add_theme_support( 'wc-product-gallery-zoom' );
24
+          add_theme_support( 'wc-product-gallery-lightbox' );
25
+          add_theme_support( 'wc-product-gallery-slider' );
26
+     }
27 27
 
28
-	add_action( 'after_setup_theme', 'lsx_wc_support' );
28
+     add_action( 'after_setup_theme', 'lsx_wc_support' );
29 29
 
30 30
 endif;
31 31
 
32 32
 if ( ! function_exists( 'lsx_wc_scripts_add_styles' ) ) :
33 33
 
34
-	/**
35
-	 * WooCommerce enqueue styles.
36
-	 *
37
-	 * @package    lsx
38
-	 * @subpackage woocommerce
39
-	 */
40
-	function lsx_wc_scripts_add_styles() {
41
-		wp_enqueue_style( 'woocommerce-lsx', get_template_directory_uri() . '/assets/css/woocommerce/woocommerce.css', array( 'lsx_main' ), LSX_VERSION );
42
-		wp_style_add_data( 'woocommerce-lsx', 'rtl', 'replace' );
34
+     /**
35
+      * WooCommerce enqueue styles.
36
+      *
37
+      * @package    lsx
38
+      * @subpackage woocommerce
39
+      */
40
+     function lsx_wc_scripts_add_styles() {
41
+          wp_enqueue_style( 'woocommerce-lsx', get_template_directory_uri() . '/assets/css/woocommerce/woocommerce.css', array( 'lsx_main' ), LSX_VERSION );
42
+          wp_style_add_data( 'woocommerce-lsx', 'rtl', 'replace' );
43 43
 
44
-		// Remove WC Shipping Multiple Addresses specific script causing issues on checkout.
45
-		wp_dequeue_script( 'wcms-country-select' );
46
-	}
44
+          // Remove WC Shipping Multiple Addresses specific script causing issues on checkout.
45
+          wp_dequeue_script( 'wcms-country-select' );
46
+     }
47 47
 
48
-	add_action( 'wp_enqueue_scripts', 'lsx_wc_scripts_add_styles' );
48
+     add_action( 'wp_enqueue_scripts', 'lsx_wc_scripts_add_styles' );
49 49
 
50 50
 endif;
51 51
 
52 52
 if ( ! function_exists( 'lsx_wc_checkout_cart_title' ) ) :
53 53
 
54
-	/**
55
-	 * Add title to Woocommerce Cart page anc Checkout page.
56
-	 *
57
-	 * @package    lsx
58
-	 * @subpackage woocommerce
59
-	 */
60
-	function lsx_wc_checkout_cart_title() {
61
-		$default_size = 'sm';
62
-		$size         = apply_filters( 'lsx_bootstrap_column_size', $default_size );
63
-		if ( function_exists( 'is_woocommerce' ) && ( is_checkout() || is_cart() ) ) {
64
-			?>
54
+     /**
55
+      * Add title to Woocommerce Cart page anc Checkout page.
56
+      *
57
+      * @package    lsx
58
+      * @subpackage woocommerce
59
+      */
60
+     function lsx_wc_checkout_cart_title() {
61
+          $default_size = 'sm';
62
+          $size         = apply_filters( 'lsx_bootstrap_column_size', $default_size );
63
+          if ( function_exists( 'is_woocommerce' ) && ( is_checkout() || is_cart() ) ) {
64
+               ?>
65 65
 			<div class="checkout-header-wrapper cart-checkout-page col-<?php echo esc_attr( $size ); ?>-12">
66 66
 				<h1 class="archive-title"><?php the_title(); ?></h1>
67 67
 			</div>
68 68
 			<?php
69
-		}
70
-	}
69
+          }
70
+     }
71 71
 
72
-	add_action( 'lsx_entry_inside_top', 'lsx_wc_checkout_cart_title' );
72
+     add_action( 'lsx_entry_inside_top', 'lsx_wc_checkout_cart_title' );
73 73
 
74 74
 endif;
75 75
 
76 76
 if ( ! function_exists( 'lsx_simple_checkout' ) ) :
77 77
 
78
-	/**
79
-	 * Remove footer widgets to make Checkout and Cart simpler.
80
-	 *
81
-	 * @package    lsx
82
-	 * @subpackage config
83
-	 */
84
-	function lsx_simple_checkout() {
78
+     /**
79
+      * Remove footer widgets to make Checkout and Cart simpler.
80
+      *
81
+      * @package    lsx
82
+      * @subpackage config
83
+      */
84
+     function lsx_simple_checkout() {
85 85
 
86
-		if ( class_exists( 'WooCommerce' ) ) {
87
-			if ( is_checkout() || is_cart() ) {
88
-				remove_action( 'lsx_footer_before', 'lsx_add_footer_sidebar_area' );
89
-			}
90
-		}
91
-	}
86
+          if ( class_exists( 'WooCommerce' ) ) {
87
+               if ( is_checkout() || is_cart() ) {
88
+                    remove_action( 'lsx_footer_before', 'lsx_add_footer_sidebar_area' );
89
+               }
90
+          }
91
+     }
92 92
 
93
-	add_action( 'wp_head', 'lsx_simple_checkout' );
93
+     add_action( 'wp_head', 'lsx_simple_checkout' );
94 94
 
95 95
 endif;
96 96
 
97 97
 if ( ! function_exists( 'lsx_wc_form_field_args' ) ) :
98 98
 
99
-	/**
100
-	 * WooCommerce form fields.
101
-	 *
102
-	 * @package    lsx
103
-	 * @subpackage woocommerce
104
-	 */
105
-	function lsx_wc_form_field_args( $args, $key, $value ) {
106
-		$args['input_class'][] = 'form-control';
99
+     /**
100
+      * WooCommerce form fields.
101
+      *
102
+      * @package    lsx
103
+      * @subpackage woocommerce
104
+      */
105
+     function lsx_wc_form_field_args( $args, $key, $value ) {
106
+          $args['input_class'][] = 'form-control';
107 107
 
108
-		return $args;
109
-	}
108
+          return $args;
109
+     }
110 110
 
111
-	add_action( 'woocommerce_form_field_args', 'lsx_wc_form_field_args', 10, 3 );
111
+     add_action( 'woocommerce_form_field_args', 'lsx_wc_form_field_args', 10, 3 );
112 112
 
113 113
 endif;
114 114
 
115 115
 if ( ! function_exists( 'lsx_wc_theme_wrapper_start' ) ) :
116 116
 
117
-	/**
118
-	 * WooCommerce wrapper start.
119
-	 *
120
-	 * @package    lsx
121
-	 * @subpackage woocommerce
122
-	 */
123
-	function lsx_wc_theme_wrapper_start() {
124
-		lsx_content_wrap_before();
125
-		echo '<div id="primary" class="content-area ' . esc_attr( lsx_main_class() ) . '">';
126
-		lsx_content_before();
127
-		echo '<main id="main" class="site-main" role="main">';
128
-		lsx_content_top();
129
-	}
117
+     /**
118
+      * WooCommerce wrapper start.
119
+      *
120
+      * @package    lsx
121
+      * @subpackage woocommerce
122
+      */
123
+     function lsx_wc_theme_wrapper_start() {
124
+          lsx_content_wrap_before();
125
+          echo '<div id="primary" class="content-area ' . esc_attr( lsx_main_class() ) . '">';
126
+          lsx_content_before();
127
+          echo '<main id="main" class="site-main" role="main">';
128
+          lsx_content_top();
129
+     }
130 130
 
131
-	remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
132
-	add_action( 'woocommerce_before_main_content', 'lsx_wc_theme_wrapper_start' );
131
+     remove_action( 'woocommerce_before_main_content', 'woocommerce_output_content_wrapper', 10 );
132
+     add_action( 'woocommerce_before_main_content', 'lsx_wc_theme_wrapper_start' );
133 133
 
134 134
 endif;
135 135
 
136 136
 if ( ! function_exists( 'lsx_wc_theme_wrapper_end' ) ) :
137 137
 
138
-	/**
139
-	 * WooCommerce wrapper end.
140
-	 *
141
-	 * @package    lsx
142
-	 * @subpackage woocommerce
143
-	 */
144
-	function lsx_wc_theme_wrapper_end() {
145
-		lsx_content_bottom();
146
-		echo '</main>';
147
-		lsx_content_after();
148
-		echo '</div>';
149
-		lsx_content_wrap_after();
150
-	}
138
+     /**
139
+      * WooCommerce wrapper end.
140
+      *
141
+      * @package    lsx
142
+      * @subpackage woocommerce
143
+      */
144
+     function lsx_wc_theme_wrapper_end() {
145
+          lsx_content_bottom();
146
+          echo '</main>';
147
+          lsx_content_after();
148
+          echo '</div>';
149
+          lsx_content_wrap_after();
150
+     }
151 151
 
152
-	remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 );
153
-	add_action( 'woocommerce_after_main_content', 'lsx_wc_theme_wrapper_end' );
152
+     remove_action( 'woocommerce_after_main_content', 'woocommerce_output_content_wrapper_end', 10 );
153
+     add_action( 'woocommerce_after_main_content', 'lsx_wc_theme_wrapper_end' );
154 154
 
155 155
 endif;
156 156
 
157 157
 if ( ! function_exists( 'lsx_wc_disable_lsx_banner_plugin' ) ) :
158 158
 
159
-	/**
160
-	 * Disable LSX Banners plugin in some WC pages.
161
-	 *
162
-	 * @package    lsx
163
-	 * @subpackage woocommerce
164
-	 */
165
-	function lsx_wc_disable_lsx_banner_plugin( $disabled ) {
166
-		global $post;
159
+     /**
160
+      * Disable LSX Banners plugin in some WC pages.
161
+      *
162
+      * @package    lsx
163
+      * @subpackage woocommerce
164
+      */
165
+     function lsx_wc_disable_lsx_banner_plugin( $disabled ) {
166
+          global $post;
167 167
 
168
-		if ( $post && class_exists( 'WC_Wishlists_Pages' ) && WC_Wishlists_Pages::is_wishlist_page( $post->post_name ) ) {
169
-			$disabled = true;
170
-		}
168
+          if ( $post && class_exists( 'WC_Wishlists_Pages' ) && WC_Wishlists_Pages::is_wishlist_page( $post->post_name ) ) {
169
+               $disabled = true;
170
+          }
171 171
 
172
-		return $disabled;
173
-	}
172
+          return $disabled;
173
+     }
174 174
 
175
-	add_filter( 'lsx_banner_plugin_disable', 'lsx_wc_disable_lsx_banner_plugin' );
175
+     add_filter( 'lsx_banner_plugin_disable', 'lsx_wc_disable_lsx_banner_plugin' );
176 176
 
177 177
 endif;
178 178
 
179 179
 if ( ! function_exists( 'lsx_wc_disable_lsx_banner' ) ) :
180 180
 
181
-	/**
182
-	 * Disable LSX Banners banner in some WC pages.
183
-	 *
184
-	 * @package    lsx
185
-	 * @subpackage woocommerce
186
-	 */
187
-	function lsx_wc_disable_lsx_banner( $disabled ) {
188
-		if ( is_shop() || is_product_category() || is_product_tag() || is_product() ) {
189
-			$disabled = true;
190
-		}
181
+     /**
182
+      * Disable LSX Banners banner in some WC pages.
183
+      *
184
+      * @package    lsx
185
+      * @subpackage woocommerce
186
+      */
187
+     function lsx_wc_disable_lsx_banner( $disabled ) {
188
+          if ( is_shop() || is_product_category() || is_product_tag() || is_product() ) {
189
+               $disabled = true;
190
+          }
191 191
 
192
-		return $disabled;
193
-	}
192
+          return $disabled;
193
+     }
194 194
 
195
-	add_filter( 'lsx_banner_disable', 'lsx_wc_disable_lsx_banner' );
195
+     add_filter( 'lsx_banner_disable', 'lsx_wc_disable_lsx_banner' );
196 196
 
197 197
 endif;
198 198
 
199 199
 if ( ! function_exists( 'lsx_wc_categories_breadcrumb_filter' ) ) :
200
-	/**
201
-	 * Improves the category and taxonomy breadcrumbs for woocommerce.
202
-	 *
203
-	 * @package    lsx
204
-	 * @subpackage woocommerce
205
-	 */
206
-	function lsx_wc_categories_breadcrumb_filter( $crumbs ) {
207
-
208
-		$shop_page_url = get_permalink( wc_get_page_id( 'shop' ) );
209
-
210
-		if ( is_product_category() || is_product_tag() ) {
211
-			$new_crumbs    = array();
212
-			$new_crumbs[0] = $crumbs[0];
213
-
214
-			if ( function_exists( 'woocommerce_breadcrumb' ) ) {
215
-				$new_crumbs[1] = array(
216
-					0 => __( 'Shop', 'lsx' ),
217
-					1 => $shop_page_url,
218
-				);
219
-			} else {
220
-				$new_crumbs[1] = array(
221
-					'text' => __( 'Shop', 'lsx' ),
222
-					'url'  => $shop_page_url,
223
-				);
224
-			}
225
-
226
-			$new_crumbs[2] = $crumbs[1];
227
-
228
-			$crumbs = $new_crumbs;
229
-		}
230
-		return $crumbs;
231
-	}
232
-	add_filter( 'wpseo_breadcrumb_links', 'lsx_wc_categories_breadcrumb_filter', 30, 1 );
233
-	add_filter( 'woocommerce_get_breadcrumb', 'lsx_wc_categories_breadcrumb_filter', 30, 1 );
200
+     /**
201
+      * Improves the category and taxonomy breadcrumbs for woocommerce.
202
+      *
203
+      * @package    lsx
204
+      * @subpackage woocommerce
205
+      */
206
+     function lsx_wc_categories_breadcrumb_filter( $crumbs ) {
207
+
208
+          $shop_page_url = get_permalink( wc_get_page_id( 'shop' ) );
209
+
210
+          if ( is_product_category() || is_product_tag() ) {
211
+               $new_crumbs    = array();
212
+               $new_crumbs[0] = $crumbs[0];
213
+
214
+               if ( function_exists( 'woocommerce_breadcrumb' ) ) {
215
+                    $new_crumbs[1] = array(
216
+                         0 => __( 'Shop', 'lsx' ),
217
+                         1 => $shop_page_url,
218
+                    );
219
+               } else {
220
+                    $new_crumbs[1] = array(
221
+                         'text' => __( 'Shop', 'lsx' ),
222
+                         'url'  => $shop_page_url,
223
+                    );
224
+               }
225
+
226
+               $new_crumbs[2] = $crumbs[1];
227
+
228
+               $crumbs = $new_crumbs;
229
+          }
230
+          return $crumbs;
231
+     }
232
+     add_filter( 'wpseo_breadcrumb_links', 'lsx_wc_categories_breadcrumb_filter', 30, 1 );
233
+     add_filter( 'woocommerce_get_breadcrumb', 'lsx_wc_categories_breadcrumb_filter', 30, 1 );
234 234
 
235 235
 endif;
236 236
 
237 237
 if ( ! function_exists( 'lsx_wc_add_cart' ) ) :
238 238
 
239
-	/**
240
-	 * Adds WC cart to the header.
241
-	 *
242
-	 * @package    lsx
243
-	 * @subpackage template-tags
244
-	 */
245
-	function lsx_wc_add_cart( $items, $args ) {
246
-		$cart_menu_item_position = apply_filters( 'lsx_wc_cart_menu_item_position', 'primary' );
247
-
248
-		$cart_logged_out_position = $cart_menu_item_position . '_logged_out';
249
-
250
-		if ( $cart_menu_item_position === $args->theme_location || $cart_logged_out_position === $args->theme_location ) {
251
-			$customizer_option = get_theme_mod( 'lsx_header_wc_cart', false );
252
-
253
-			if ( ! empty( $customizer_option ) ) {
254
-				ob_start();
255
-				the_widget( 'WC_Widget_Cart', 'title=' );
256
-				$widget = ob_get_clean();
257
-
258
-				if ( is_cart() ) {
259
-					$class = 'current-menu-item';
260
-				} else {
261
-					$class = '';
262
-				}
263
-
264
-				$item_class = 'menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown lsx-wc-cart-menu-item ' . $class;
265
-				$item_class = apply_filters( 'lsx_wc_cart_menu_item_class', $item_class );
266
-
267
-				$item = '<li class="' . $item_class . '">' .
268
-							'<a title="' . esc_attr__( 'View your shopping cart', 'lsx' ) . '" href="' . esc_url( wc_get_cart_url() ) . '" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true">' .
269
-								'<span class="lsx-wc-cart-amount">' . wp_kses_data( WC()->cart->get_cart_subtotal() ) . '</span>' .
270
-								/* Translators: %s: items quantity */
271
-								'<span class="lsx-wc-cart-count">' . wp_kses_data( sprintf( _n( '%d item', '%d items', WC()->cart->get_cart_contents_count(), 'lsx' ), WC()->cart->get_cart_contents_count() ) ) . '</span>' .
272
-								( ! empty( WC()->cart->get_cart_contents_count() ) ? '<span class="lsx-wc-cart-count-badge">' . wp_kses_data( WC()->cart->get_cart_contents_count() ) . '</span>' : '' ) .
273
-							'</a>' .
274
-							'<ul role="menu" class=" dropdown-menu lsx-wc-cart-sub-menu">' .
275
-								'<li>' .
276
-									'<div class="lsx-wc-cart-dropdown">' . $widget . '</div>' .
277
-								'</li>' .
278
-							'</ul>' .
279
-						'</li>';
280
-
281
-				if ( 'top-menu' === $args->theme_location ) {
282
-					$items = $item . $items;
283
-				} else {
284
-					$items = $items . $item;
285
-				}
286
-			}
287
-		}
288
-
289
-		return $items;
290
-	}
291
-
292
-	add_filter( 'wp_nav_menu_items', 'lsx_wc_add_cart', 10, 2 );
239
+     /**
240
+      * Adds WC cart to the header.
241
+      *
242
+      * @package    lsx
243
+      * @subpackage template-tags
244
+      */
245
+     function lsx_wc_add_cart( $items, $args ) {
246
+          $cart_menu_item_position = apply_filters( 'lsx_wc_cart_menu_item_position', 'primary' );
247
+
248
+          $cart_logged_out_position = $cart_menu_item_position . '_logged_out';
249
+
250
+          if ( $cart_menu_item_position === $args->theme_location || $cart_logged_out_position === $args->theme_location ) {
251
+               $customizer_option = get_theme_mod( 'lsx_header_wc_cart', false );
252
+
253
+               if ( ! empty( $customizer_option ) ) {
254
+                    ob_start();
255
+                    the_widget( 'WC_Widget_Cart', 'title=' );
256
+                    $widget = ob_get_clean();
257
+
258
+                    if ( is_cart() ) {
259
+                         $class = 'current-menu-item';
260
+                    } else {
261
+                         $class = '';
262
+                    }
263
+
264
+                    $item_class = 'menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children dropdown lsx-wc-cart-menu-item ' . $class;
265
+                    $item_class = apply_filters( 'lsx_wc_cart_menu_item_class', $item_class );
266
+
267
+                    $item = '<li class="' . $item_class . '">' .
268
+                                   '<a title="' . esc_attr__( 'View your shopping cart', 'lsx' ) . '" href="' . esc_url( wc_get_cart_url() ) . '" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true">' .
269
+                                        '<span class="lsx-wc-cart-amount">' . wp_kses_data( WC()->cart->get_cart_subtotal() ) . '</span>' .
270
+                                        /* Translators: %s: items quantity */
271
+                                        '<span class="lsx-wc-cart-count">' . wp_kses_data( sprintf( _n( '%d item', '%d items', WC()->cart->get_cart_contents_count(), 'lsx' ), WC()->cart->get_cart_contents_count() ) ) . '</span>' .
272
+                                        ( ! empty( WC()->cart->get_cart_contents_count() ) ? '<span class="lsx-wc-cart-count-badge">' . wp_kses_data( WC()->cart->get_cart_contents_count() ) . '</span>' : '' ) .
273
+                                   '</a>' .
274
+                                   '<ul role="menu" class=" dropdown-menu lsx-wc-cart-sub-menu">' .
275
+                                        '<li>' .
276
+                                             '<div class="lsx-wc-cart-dropdown">' . $widget . '</div>' .
277
+                                        '</li>' .
278
+                                   '</ul>' .
279
+                              '</li>';
280
+
281
+                    if ( 'top-menu' === $args->theme_location ) {
282
+                         $items = $item . $items;
283
+                    } else {
284
+                         $items = $items . $item;
285
+                    }
286
+               }
287
+          }
288
+
289
+          return $items;
290
+     }
291
+
292
+     add_filter( 'wp_nav_menu_items', 'lsx_wc_add_cart', 10, 2 );
293 293
 
294 294
 endif;
295 295
 
296 296
 if ( ! function_exists( 'lsx_wc_products_widget_wrapper_before' ) ) :
297 297
 
298
-	/**
299
-	 * Change WC products widget wrapper (before).
300
-	 *
301
-	 * @package    lsx
302
-	 * @subpackage woocommerce
303
-	 */
304
-	function lsx_wc_products_widget_wrapper_before( $html ) {
305
-		$html = '<div class="lsx-woocommerce-slider lsx-woocommerce-shortcode">';
306
-		return $html;
307
-	}
298
+     /**
299
+      * Change WC products widget wrapper (before).
300
+      *
301
+      * @package    lsx
302
+      * @subpackage woocommerce
303
+      */
304
+     function lsx_wc_products_widget_wrapper_before( $html ) {
305
+          $html = '<div class="lsx-woocommerce-slider lsx-woocommerce-shortcode">';
306
+          return $html;
307
+     }
308 308
 
309
-	add_filter( 'woocommerce_before_widget_product_list', 'lsx_wc_products_widget_wrapper_before', 15 );
309
+     add_filter( 'woocommerce_before_widget_product_list', 'lsx_wc_products_widget_wrapper_before', 15 );
310 310
 
311 311
 endif;
312 312
 
313 313
 if ( ! function_exists( 'lsx_wc_products_widget_wrapper_after' ) ) :
314 314
 
315
-	/**
316
-	 * Change WC products widget wrapper (after).
317
-	 *
318
-	 * @package    lsx
319
-	 * @subpackage woocommerce
320
-	 */
321
-	function lsx_wc_products_widget_wrapper_after( $html ) {
322
-		$html = '</div>';
323
-		return $html;
324
-	}
315
+     /**
316
+      * Change WC products widget wrapper (after).
317
+      *
318
+      * @package    lsx
319
+      * @subpackage woocommerce
320
+      */
321
+     function lsx_wc_products_widget_wrapper_after( $html ) {
322
+          $html = '</div>';
323
+          return $html;
324
+     }
325 325
 
326
-	add_filter( 'woocommerce_after_widget_product_list', 'lsx_wc_products_widget_wrapper_after', 15 );
326
+     add_filter( 'woocommerce_after_widget_product_list', 'lsx_wc_products_widget_wrapper_after', 15 );
327 327
 
328 328
 endif;
329 329
 
330 330
 if ( ! function_exists( 'lsx_wc_reviews_widget_override' ) ) :
331 331
 
332
-	/**
333
-	 * Override WC ewviews widget.
334
-	 *
335
-	 * @package    lsx
336
-	 * @subpackage woocommerce
337
-	 */
338
-	function lsx_wc_reviews_widget_override() {
339
-		if ( class_exists( 'WC_Widget_Recent_Reviews' ) ) {
340
-			unregister_widget( 'WC_Widget_Recent_Reviews' );
341
-			require get_template_directory() . '/includes/classes/class-lsx-wc-widget-recent-reviews.php';
342
-			register_widget( 'LSX_WC_Widget_Recent_Reviews' );
343
-		}
344
-	}
332
+     /**
333
+      * Override WC ewviews widget.
334
+      *
335
+      * @package    lsx
336
+      * @subpackage woocommerce
337
+      */
338
+     function lsx_wc_reviews_widget_override() {
339
+          if ( class_exists( 'WC_Widget_Recent_Reviews' ) ) {
340
+               unregister_widget( 'WC_Widget_Recent_Reviews' );
341
+               require get_template_directory() . '/includes/classes/class-lsx-wc-widget-recent-reviews.php';
342
+               register_widget( 'LSX_WC_Widget_Recent_Reviews' );
343
+          }
344
+     }
345 345
 
346
-	add_action( 'widgets_init', 'lsx_wc_reviews_widget_override', 15 );
346
+     add_action( 'widgets_init', 'lsx_wc_reviews_widget_override', 15 );
347 347
 
348 348
 endif;
349 349
 
350 350
 if ( ! function_exists( 'lsx_wc_change_price_html' ) ) :
351 351
 
352
-	/**
353
-	 * Change WC ZERO price to "free".
354
-	 *
355
-	 * @package    lsx
356
-	 * @subpackage woocommerce
357
-	 *
358
-	 * @param $price string
359
-	 * @param $product WC_Product
360
-	 * @return string
361
-	 */
362
-	function lsx_wc_change_price_html( $price, $product ) {
363
-		if ( empty( $product->get_price() ) ) {
364
-			if ( $product->is_on_sale() && $product->get_regular_price() ) {
365
-				$regular_price = wc_get_price_to_display( $product,
366
-					array(
367
-						'qty'   => 1,
368
-						'price' => $product->get_regular_price(),
369
-					)
370
-				);
371
-
372
-				$price = wc_format_price_range( $regular_price, esc_html__( 'Free!', 'lsx' ) );
373
-			} else {
374
-				$price = '<span class="amount">' . esc_html__( 'Free!', 'lsx' ) . '</span>';
375
-			}
376
-		}
377
-
378
-		return $price;
379
-	}
380
-
381
-	add_filter( 'woocommerce_get_price_html', 'lsx_wc_change_price_html', 15, 2 );
352
+     /**
353
+      * Change WC ZERO price to "free".
354
+      *
355
+      * @package    lsx
356
+      * @subpackage woocommerce
357
+      *
358
+      * @param $price string
359
+      * @param $product WC_Product
360
+      * @return string
361
+      */
362
+     function lsx_wc_change_price_html( $price, $product ) {
363
+          if ( empty( $product->get_price() ) ) {
364
+               if ( $product->is_on_sale() && $product->get_regular_price() ) {
365
+                    $regular_price = wc_get_price_to_display( $product,
366
+                         array(
367
+                              'qty'   => 1,
368
+                              'price' => $product->get_regular_price(),
369
+                         )
370
+                    );
371
+
372
+                    $price = wc_format_price_range( $regular_price, esc_html__( 'Free!', 'lsx' ) );
373
+               } else {
374
+                    $price = '<span class="amount">' . esc_html__( 'Free!', 'lsx' ) . '</span>';
375
+               }
376
+          }
377
+
378
+          return $price;
379
+     }
380
+
381
+     add_filter( 'woocommerce_get_price_html', 'lsx_wc_change_price_html', 15, 2 );
382 382
 
383 383
 endif;
384 384
 
385 385
 if ( ! function_exists( 'lsx_wc_cart_link_fragment' ) ) :
386 386
 
387
-	/**
388
-	 * Cart Fragments.
389
-	 * Ensure cart contents update when products are added to the cart via AJAX.
390
-	 *
391
-	 * @package    lsx
392
-	 * @subpackage woocommerce
393
-	 */
394
-	function lsx_wc_cart_link_fragment( $fragments ) {
395
-		global $woocommerce;
387
+     /**
388
+      * Cart Fragments.
389
+      * Ensure cart contents update when products are added to the cart via AJAX.
390
+      *
391
+      * @package    lsx
392
+      * @subpackage woocommerce
393
+      */
394
+     function lsx_wc_cart_link_fragment( $fragments ) {
395
+          global $woocommerce;
396 396
 
397
-		ob_start();
398
-		lsx_wc_cart_link();
399
-		$fragments['li.lsx-wc-cart-menu-item > a'] = ob_get_clean();
397
+          ob_start();
398
+          lsx_wc_cart_link();
399
+          $fragments['li.lsx-wc-cart-menu-item > a'] = ob_get_clean();
400 400
 
401
-		ob_start();
402
-		lsx_wc_items_counter();
403
-		$items_counter = ob_get_clean();
401
+          ob_start();
402
+          lsx_wc_items_counter();
403
+          $items_counter = ob_get_clean();
404 404
 
405
-		if ( ! empty( $items_counter ) ) {
406
-			$fragments['div.widget_shopping_cart_content'] = preg_replace( '/(.+)(<\/ul>)[\s\n]*(<p class="woocommerce-mini-cart__total)(.+)/', '$1' . $items_counter . '$2$3$4', $fragments['div.widget_shopping_cart_content'] );
407
-		}
405
+          if ( ! empty( $items_counter ) ) {
406
+               $fragments['div.widget_shopping_cart_content'] = preg_replace( '/(.+)(<\/ul>)[\s\n]*(<p class="woocommerce-mini-cart__total)(.+)/', '$1' . $items_counter . '$2$3$4', $fragments['div.widget_shopping_cart_content'] );
407
+          }
408 408
 
409
-		return $fragments;
410
-	}
409
+          return $fragments;
410
+     }
411 411
 
412 412
 endif;
413 413
 
414 414
 if ( ! function_exists( 'lsx_wc_cart_link' ) ) :
415 415
 
416
-	/**
417
-	 * Cart Link.
418
-	 * Displayed a link to the cart including the number of items present and the cart total.
419
-	 *
420
-	 * @package    lsx
421
-	 * @subpackage woocommerce
422
-	 */
423
-	function lsx_wc_cart_link() {
424
-		?>
416
+     /**
417
+      * Cart Link.
418
+      * Displayed a link to the cart including the number of items present and the cart total.
419
+      *
420
+      * @package    lsx
421
+      * @subpackage woocommerce
422
+      */
423
+     function lsx_wc_cart_link() {
424
+          ?>
425 425
 			<a title="<?php esc_attr_e( 'View your shopping cart', 'lsx' ); ?>" href="<?php echo esc_url( wc_get_cart_url() ); ?>" data-toggle="dropdown" class="dropdown-toggle" aria-haspopup="true">
426 426
 				<span class="lsx-wc-cart-amount"><?php echo wp_kses_data( WC()->cart->get_cart_subtotal() ); ?></span>
427 427
 
@@ -433,82 +433,82 @@  discard block
 block discarded – undo
433 433
 				<?php endif; ?>
434 434
 			</a>
435 435
 		<?php
436
-	}
436
+     }
437 437
 
438 438
 endif;
439 439
 
440 440
 if ( ! function_exists( 'lsx_wc_items_counter' ) ) :
441 441
 
442
-	/**
443
-	 * Add car item hidden items counter.
444
-	 *
445
-	 * @package    lsx
446
-	 * @subpackage woocommerce
447
-	 */
448
-	function lsx_wc_items_counter() {
449
-		$count         = (int) WC()->cart->get_cart_contents_count();
450
-		$items_counter = '';
451
-
452
-		if ( ! empty( $count ) ) {
453
-			$count -= 3;
454
-
455
-			if ( 1 === $count ) {
456
-				$items_counter = esc_html__( '1 other item in cart', 'lsx' );
457
-			} elseif ( $count > 1 ) {
458
-				/* Translators: %s: items counter */
459
-				$items_counter = sprintf( esc_html__( '%s other items in cart', 'lsx' ), $count );
460
-			}
461
-		}
462
-		$cart_url = function_exists( 'wc_get_cart_url' ) ? wc_get_cart_url() : WC()->cart->get_cart_url();
463
-		if ( ! empty( $items_counter ) ) :
464
-			?>
442
+     /**
443
+      * Add car item hidden items counter.
444
+      *
445
+      * @package    lsx
446
+      * @subpackage woocommerce
447
+      */
448
+     function lsx_wc_items_counter() {
449
+          $count         = (int) WC()->cart->get_cart_contents_count();
450
+          $items_counter = '';
451
+
452
+          if ( ! empty( $count ) ) {
453
+               $count -= 3;
454
+
455
+               if ( 1 === $count ) {
456
+                    $items_counter = esc_html__( '1 other item in cart', 'lsx' );
457
+               } elseif ( $count > 1 ) {
458
+                    /* Translators: %s: items counter */
459
+                    $items_counter = sprintf( esc_html__( '%s other items in cart', 'lsx' ), $count );
460
+               }
461
+          }
462
+          $cart_url = function_exists( 'wc_get_cart_url' ) ? wc_get_cart_url() : WC()->cart->get_cart_url();
463
+          if ( ! empty( $items_counter ) ) :
464
+               ?>
465 465
 				<li class="woocommerce-mini-cart-item mini_cart_item" style="display: block;">
466 466
 					<a href="<?php echo esc_url( $cart_url ); ?>"><?php echo esc_html( $items_counter ); ?></a>
467 467
 				</li>
468 468
 			<?php
469
-		endif;
470
-	}
469
+          endif;
470
+     }
471 471
 
472 472
 endif;
473 473
 
474 474
 if ( ! function_exists( 'lsx_wc_loop_shop_per_page' ) ) :
475 475
 
476
-	/**
477
-	 * Changes the number of products to display on shop.
478
-	 *
479
-	 * @package    lsx
480
-	 * @subpackage woocommerce
481
-	 */
482
-	function lsx_wc_loop_shop_per_page( $items ) {
483
-		$items = 12;
484
-		return $items;
485
-	}
476
+     /**
477
+      * Changes the number of products to display on shop.
478
+      *
479
+      * @package    lsx
480
+      * @subpackage woocommerce
481
+      */
482
+     function lsx_wc_loop_shop_per_page( $items ) {
483
+          $items = 12;
484
+          return $items;
485
+     }
486 486
 
487
-	add_filter( 'loop_shop_per_page', 'lsx_wc_loop_shop_per_page', 20 );
487
+     add_filter( 'loop_shop_per_page', 'lsx_wc_loop_shop_per_page', 20 );
488 488
 
489 489
 endif;
490 490
 
491 491
 if ( ! function_exists( 'lsx_wc_add_to_cart_message_html' ) ) :
492 492
 
493
-	/**
494
-	 * Changes the "added to cart" message HTML.
495
-	 *
496
-	 * @package    lsx
497
-	 * @subpackage woocommerce
498
-	 */
499
-	function lsx_wc_add_to_cart_message_html( $message, $products ) {
500
-		$message = '<div class="woocommerce-message-added-to-cart">' . $message . '</div>';
501
-		return $message;
502
-	}
493
+     /**
494
+      * Changes the "added to cart" message HTML.
495
+      *
496
+      * @package    lsx
497
+      * @subpackage woocommerce
498
+      */
499
+     function lsx_wc_add_to_cart_message_html( $message, $products ) {
500
+          $message = '<div class="woocommerce-message-added-to-cart">' . $message . '</div>';
501
+          return $message;
502
+     }
503 503
 
504
-	add_filter( 'wc_add_to_cart_message_html', 'lsx_wc_add_to_cart_message_html', 20, 2 );
504
+     add_filter( 'wc_add_to_cart_message_html', 'lsx_wc_add_to_cart_message_html', 20, 2 );
505 505
 
506 506
 endif;
507 507
 
508 508
 if ( defined( 'WC_VERSION' ) && version_compare( WC_VERSION, '2.3', '>=' ) ) {
509
-	add_filter( 'woocommerce_add_to_cart_fragments', 'lsx_wc_cart_link_fragment' );
509
+     add_filter( 'woocommerce_add_to_cart_fragments', 'lsx_wc_cart_link_fragment' );
510 510
 } else {
511
-	add_filter( 'add_to_cart_fragments', 'lsx_wc_cart_link_fragment' );
511
+     add_filter( 'add_to_cart_fragments', 'lsx_wc_cart_link_fragment' );
512 512
 }
513 513
 
514 514
 remove_action( 'woocommerce_after_shop_loop', 'woocommerce_pagination', 10 );
@@ -530,184 +530,184 @@  discard block
 block discarded – undo
530 530
 
531 531
 if ( ! function_exists( 'lsx_wc_sorting_wrapper' ) ) :
532 532
 
533
-	/**
534
-	 * Sorting wrapper.
535
-	 *
536
-	 * @package    lsx
537
-	 * @subpackage woocommerce
538
-	 */
539
-	function lsx_wc_sorting_wrapper() {
540
-		echo '<div class="lsx-wc-sorting">';
541
-	}
533
+     /**
534
+      * Sorting wrapper.
535
+      *
536
+      * @package    lsx
537
+      * @subpackage woocommerce
538
+      */
539
+     function lsx_wc_sorting_wrapper() {
540
+          echo '<div class="lsx-wc-sorting">';
541
+     }
542 542
 
543 543
 endif;
544 544
 
545 545
 if ( ! function_exists( 'lsx_wc_sorting_wrapper_close' ) ) :
546 546
 
547
-	/**
548
-	 * Sorting wrapper close.
549
-	 *
550
-	 * @package    lsx
551
-	 * @subpackage woocommerce
552
-	 */
553
-	function lsx_wc_sorting_wrapper_close() {
554
-		echo '</div>';
555
-	}
547
+     /**
548
+      * Sorting wrapper close.
549
+      *
550
+      * @package    lsx
551
+      * @subpackage woocommerce
552
+      */
553
+     function lsx_wc_sorting_wrapper_close() {
554
+          echo '</div>';
555
+     }
556 556
 
557 557
 endif;
558 558
 
559 559
 if ( ! function_exists( 'lsx_wc_product_columns_wrapper_close' ) ) :
560 560
 
561
-	/**
562
-	 * Product columns wrapper close.
563
-	 *
564
-	 * @package    lsx
565
-	 * @subpackage woocommerce
566
-	 */
567
-	function lsx_wc_product_columns_wrapper_close() {
568
-		echo '</div>';
569
-	}
561
+     /**
562
+      * Product columns wrapper close.
563
+      *
564
+      * @package    lsx
565
+      * @subpackage woocommerce
566
+      */
567
+     function lsx_wc_product_columns_wrapper_close() {
568
+          echo '</div>';
569
+     }
570 570
 
571 571
 endif;
572 572
 
573 573
 if ( ! function_exists( 'lsx_wc_woocommerce_pagination' ) ) :
574 574
 
575
-	/**
576
-	 * LSX WooCommerce Pagination
577
-	 * WooCommerce disables the product pagination inside the woocommerce_product_subcategories() function
578
-	 * but since LSX adds pagination before that function is excuted we need a separate function to
579
-	 * determine whether or not to display the pagination.
580
-	 *
581
-	 * @package    lsx
582
-	 * @subpackage woocommerce
583
-	 */
584
-	function lsx_wc_woocommerce_pagination() {
585
-		if ( woocommerce_products_will_display() ) {
586
-			woocommerce_pagination();
587
-		}
588
-	}
575
+     /**
576
+      * LSX WooCommerce Pagination
577
+      * WooCommerce disables the product pagination inside the woocommerce_product_subcategories() function
578
+      * but since LSX adds pagination before that function is excuted we need a separate function to
579
+      * determine whether or not to display the pagination.
580
+      *
581
+      * @package    lsx
582
+      * @subpackage woocommerce
583
+      */
584
+     function lsx_wc_woocommerce_pagination() {
585
+          if ( woocommerce_products_will_display() ) {
586
+               woocommerce_pagination();
587
+          }
588
+     }
589 589
 
590 590
 endif;
591 591
 
592 592
 if ( ! function_exists( 'lsx_customizer_wc_controls' ) ) :
593 593
 
594
-	/**
595
-	 * Returns an array of the core panel.
596
-	 *
597
-	 * @package    lsx
598
-	 * @subpackage customizer
599
-	 *
600
-	 * @return $lsx_controls array()
601
-	 */
602
-	function lsx_customizer_wc_controls( $lsx_controls ) {
603
-		$lsx_controls['panels']['woocommerce'] = array(
604
-			'title'       => esc_html__( 'WooCommerce', 'lsx' ),
605
-			'description' => esc_html__( 'Change the WooCommerce settings.', 'lsx' ),
606
-			'priority'    => 23,
607
-		);
608
-
609
-		/**
610
-		 * Global.
611
-		 */
612
-
613
-		$lsx_controls['sections']['lsx-wc-global'] = array(
614
-			'title'       => esc_html__( 'LSX Global', 'lsx' ),
615
-			'description' => esc_html__( 'Change the WooCommerce global settings.', 'lsx' ),
616
-			'panel'       => 'woocommerce',
617
-			'priority'    => 1,
618
-		);
619
-
620
-		$lsx_controls['settings']['lsx_wc_trust_footer_bar_status'] = array(
621
-			'default'           => '1',
622
-			'sanitize_callback' => 'lsx_sanitize_checkbox',
623
-		);
624
-
625
-		$lsx_controls['fields']['lsx_wc_trust_footer_bar_status'] = array(
626
-			'label'       => esc_html__( 'Footer Trust Factors Section', 'lsx' ),
627
-			'description' => esc_html__( 'Enable the footer trust factors section.', 'lsx' ),
628
-			'section'     => 'lsx-wc-global',
629
-			'type'        => 'checkbox',
630
-			'priority'    => 1,
631
-		);
632
-
633
-		$lsx_controls['settings']['lsx_wc_mobile_footer_bar_status'] = array(
634
-			'default'           => '1',
635
-			'sanitize_callback' => 'lsx_sanitize_checkbox',
636
-		);
637
-
638
-		$lsx_controls['fields']['lsx_wc_mobile_footer_bar_status'] = array(
639
-			'label'       => esc_html__( 'Footer Bar', 'lsx' ),
640
-			'description' => esc_html__( 'Enable the mobile footer bar.', 'lsx' ),
641
-			'section'     => 'lsx-wc-global',
642
-			'type'        => 'checkbox',
643
-			'priority'    => 1,
644
-		);
645
-
646
-		/**
647
-		 * Cart.
648
-		 */
649
-
650
-		$lsx_controls['sections']['lsx-wc-cart'] = array(
651
-			'title'       => esc_html__( 'LSX Cart', 'lsx' ),
652
-			'description' => esc_html__( 'Change the WooCommerce cart settings.', 'lsx' ),
653
-			'panel'       => 'woocommerce',
654
-			'priority'    => 2,
655
-		);
656
-
657
-		$lsx_controls['settings']['lsx_header_wc_cart'] = array(
658
-			'default'           => false,
659
-			'sanitize_callback' => 'lsx_sanitize_checkbox',
660
-		);
661
-
662
-		$lsx_controls['fields']['lsx_header_wc_cart'] = array(
663
-			'label'       => esc_html__( 'Menu Item', 'lsx' ),
664
-			'description' => esc_html__( 'Enable the cart menu item.', 'lsx' ),
665
-			'section'     => 'lsx-wc-cart',
666
-			'type'        => 'checkbox',
667
-			'priority'    => 1,
668
-		);
669
-
670
-		return $lsx_controls;
671
-	}
672
-
673
-	add_filter( 'lsx_customizer_controls', 'lsx_customizer_wc_controls' );
594
+     /**
595
+      * Returns an array of the core panel.
596
+      *
597
+      * @package    lsx
598
+      * @subpackage customizer
599
+      *
600
+      * @return $lsx_controls array()
601
+      */
602
+     function lsx_customizer_wc_controls( $lsx_controls ) {
603
+          $lsx_controls['panels']['woocommerce'] = array(
604
+               'title'       => esc_html__( 'WooCommerce', 'lsx' ),
605
+               'description' => esc_html__( 'Change the WooCommerce settings.', 'lsx' ),
606
+               'priority'    => 23,
607
+          );
608
+
609
+          /**
610
+           * Global.
611
+           */
612
+
613
+          $lsx_controls['sections']['lsx-wc-global'] = array(
614
+               'title'       => esc_html__( 'LSX Global', 'lsx' ),
615
+               'description' => esc_html__( 'Change the WooCommerce global settings.', 'lsx' ),
616
+               'panel'       => 'woocommerce',
617
+               'priority'    => 1,
618
+          );
619
+
620
+          $lsx_controls['settings']['lsx_wc_trust_footer_bar_status'] = array(
621
+               'default'           => '1',
622
+               'sanitize_callback' => 'lsx_sanitize_checkbox',
623
+          );
624
+
625
+          $lsx_controls['fields']['lsx_wc_trust_footer_bar_status'] = array(
626
+               'label'       => esc_html__( 'Footer Trust Factors Section', 'lsx' ),
627
+               'description' => esc_html__( 'Enable the footer trust factors section.', 'lsx' ),
628
+               'section'     => 'lsx-wc-global',
629
+               'type'        => 'checkbox',
630
+               'priority'    => 1,
631
+          );
632
+
633
+          $lsx_controls['settings']['lsx_wc_mobile_footer_bar_status'] = array(
634
+               'default'           => '1',
635
+               'sanitize_callback' => 'lsx_sanitize_checkbox',
636
+          );
637
+
638
+          $lsx_controls['fields']['lsx_wc_mobile_footer_bar_status'] = array(
639
+               'label'       => esc_html__( 'Footer Bar', 'lsx' ),
640
+               'description' => esc_html__( 'Enable the mobile footer bar.', 'lsx' ),
641
+               'section'     => 'lsx-wc-global',
642
+               'type'        => 'checkbox',
643
+               'priority'    => 1,
644
+          );
645
+
646
+          /**
647
+           * Cart.
648
+           */
649
+
650
+          $lsx_controls['sections']['lsx-wc-cart'] = array(
651
+               'title'       => esc_html__( 'LSX Cart', 'lsx' ),
652
+               'description' => esc_html__( 'Change the WooCommerce cart settings.', 'lsx' ),
653
+               'panel'       => 'woocommerce',
654
+               'priority'    => 2,
655
+          );
656
+
657
+          $lsx_controls['settings']['lsx_header_wc_cart'] = array(
658
+               'default'           => false,
659
+               'sanitize_callback' => 'lsx_sanitize_checkbox',
660
+          );
661
+
662
+          $lsx_controls['fields']['lsx_header_wc_cart'] = array(
663
+               'label'       => esc_html__( 'Menu Item', 'lsx' ),
664
+               'description' => esc_html__( 'Enable the cart menu item.', 'lsx' ),
665
+               'section'     => 'lsx-wc-cart',
666
+               'type'        => 'checkbox',
667
+               'priority'    => 1,
668
+          );
669
+
670
+          return $lsx_controls;
671
+     }
672
+
673
+     add_filter( 'lsx_customizer_controls', 'lsx_customizer_wc_controls' );
674 674
 
675 675
 endif;
676 676
 
677 677
 if ( ! function_exists( 'lsx_wc_global_header_title' ) ) :
678 678
 
679
-	/**
680
-	 * Move the shop title into the global header
681
-	 *
682
-	 * @package    lsx
683
-	 * @subpackage the-events-calendar
684
-	 */
685
-	function lsx_wc_global_header_title( $title ) {
679
+     /**
680
+      * Move the shop title into the global header
681
+      *
682
+      * @package    lsx
683
+      * @subpackage the-events-calendar
684
+      */
685
+     function lsx_wc_global_header_title( $title ) {
686 686
 
687
-		if ( is_woocommerce() && is_shop() ) {
687
+          if ( is_woocommerce() && is_shop() ) {
688 688
 
689
-			$title = __( 'Shop', 'lsx' );
690
-		}
689
+               $title = __( 'Shop', 'lsx' );
690
+          }
691 691
 
692
-		return $title;
693
-	}
694
-	add_filter( 'lsx_global_header_title', 'lsx_wc_global_header_title', 200, 1 );
692
+          return $title;
693
+     }
694
+     add_filter( 'lsx_global_header_title', 'lsx_wc_global_header_title', 200, 1 );
695 695
 
696 696
 endif;
697 697
 
698 698
 
699 699
 if ( ! function_exists( 'lsx_wc_footer_bar' ) ) :
700 700
 
701
-	/**
702
-	 * Display WC footer bar.
703
-	 *
704
-	 * @package    lsx
705
-	 * @subpackage woocommerce
706
-	 */
707
-	function lsx_wc_footer_bar() {
708
-		$cart_url = function_exists( 'wc_get_cart_url' ) ? wc_get_cart_url() : WC()->cart->get_cart_url();
709
-		if ( ! empty( get_theme_mod( 'lsx_wc_mobile_footer_bar_status', '1' ) ) ) :
710
-			?>
701
+     /**
702
+      * Display WC footer bar.
703
+      *
704
+      * @package    lsx
705
+      * @subpackage woocommerce
706
+      */
707
+     function lsx_wc_footer_bar() {
708
+          $cart_url = function_exists( 'wc_get_cart_url' ) ? wc_get_cart_url() : WC()->cart->get_cart_url();
709
+          if ( ! empty( get_theme_mod( 'lsx_wc_mobile_footer_bar_status', '1' ) ) ) :
710
+               ?>
711 711
 			<div class="lsx-wc-footer-bar">
712 712
 				<form role="search" method="get" action="<?php echo esc_url( home_url() ); ?>" class="lsx-wc-footer-bar-form">
713 713
 					<fieldset>
@@ -751,151 +751,151 @@  discard block
 block discarded – undo
751 751
 				</ul>
752 752
 			</div>
753 753
 			<?php
754
-		endif;
755
-	}
754
+          endif;
755
+     }
756 756
 
757
-	add_action( 'lsx_body_bottom', 'lsx_wc_footer_bar', 15 );
757
+     add_action( 'lsx_body_bottom', 'lsx_wc_footer_bar', 15 );
758 758
 
759 759
 endif;
760 760
 
761 761
 if ( ! function_exists( 'lsx_wc_body_class' ) ) :
762 762
 
763
-	/**
764
-	 * Changes body class.
765
-	 *
766
-	 * @package    lsx
767
-	 * @subpackage woocommerce
768
-	 */
769
-	function lsx_wc_body_class( $classes ) {
770
-		global $post;
763
+     /**
764
+      * Changes body class.
765
+      *
766
+      * @package    lsx
767
+      * @subpackage woocommerce
768
+      */
769
+     function lsx_wc_body_class( $classes ) {
770
+          global $post;
771 771
 
772
-		if ( $post && class_exists( 'WC_Wishlists_Pages' ) && WC_Wishlists_Pages::is_wishlist_page( $post->post_name ) ) {
773
-			$classes[] = 'woocommerce-page woocommerce-wishlist';
774
-		}
772
+          if ( $post && class_exists( 'WC_Wishlists_Pages' ) && WC_Wishlists_Pages::is_wishlist_page( $post->post_name ) ) {
773
+               $classes[] = 'woocommerce-page woocommerce-wishlist';
774
+          }
775 775
 
776
-		if ( ! empty( get_theme_mod( 'lsx_wc_mobile_footer_bar_status', '1' ) ) ) {
777
-			$classes[] = 'lsx-wc-has-footer-bar';
778
-		}
776
+          if ( ! empty( get_theme_mod( 'lsx_wc_mobile_footer_bar_status', '1' ) ) ) {
777
+               $classes[] = 'lsx-wc-has-footer-bar';
778
+          }
779 779
 
780
-		return $classes;
781
-	}
780
+          return $classes;
781
+     }
782 782
 
783
-	add_filter( 'body_class', 'lsx_wc_body_class', 2999 );
783
+     add_filter( 'body_class', 'lsx_wc_body_class', 2999 );
784 784
 
785 785
 endif;
786 786
 
787 787
 if ( ! function_exists( 'lsx_wc_downloadable_products' ) ) :
788 788
 
789
-	/**
790
-	 * Changes downloads "download" button text.
791
-	 *
792
-	 * @package    lsx
793
-	 * @subpackage woocommerce
794
-	 */
795
-	function lsx_wc_downloadable_products( $downloads ) {
796
-		foreach ( $downloads as $i => $download ) {
797
-			$downloads[ $i ]['download_name'] = esc_html__( 'Download', 'lsx' );
798
-		}
789
+     /**
790
+      * Changes downloads "download" button text.
791
+      *
792
+      * @package    lsx
793
+      * @subpackage woocommerce
794
+      */
795
+     function lsx_wc_downloadable_products( $downloads ) {
796
+          foreach ( $downloads as $i => $download ) {
797
+               $downloads[ $i ]['download_name'] = esc_html__( 'Download', 'lsx' );
798
+          }
799 799
 
800
-		return $downloads;
801
-	}
800
+          return $downloads;
801
+     }
802 802
 
803
-	add_filter( 'woocommerce_customer_get_downloadable_products', 'lsx_wc_downloadable_products', 2999 );
803
+     add_filter( 'woocommerce_customer_get_downloadable_products', 'lsx_wc_downloadable_products', 2999 );
804 804
 
805 805
 endif;
806 806
 
807 807
 if ( ! function_exists( 'lsx_wc_move_bundle_products' ) ) :
808 808
 
809
-	/**
810
-	 * WooCommerce - Move the bundle products to a tab.
811
-	 *
812
-	 * @package    lsx
813
-	 * @subpackage woocommerce
814
-	 */
815
-	function lsx_wc_move_bundle_products( $tabs ) {
816
-		global $product, $post;
809
+     /**
810
+      * WooCommerce - Move the bundle products to a tab.
811
+      *
812
+      * @package    lsx
813
+      * @subpackage woocommerce
814
+      */
815
+     function lsx_wc_move_bundle_products( $tabs ) {
816
+          global $product, $post;
817 817
 
818
-		if ( method_exists( $product, 'get_bundled_items' ) ) {
819
-			$bundled_items = $product->get_bundled_items();
818
+          if ( method_exists( $product, 'get_bundled_items' ) ) {
819
+               $bundled_items = $product->get_bundled_items();
820 820
 
821
-			if ( ! empty( $bundled_items ) ) {
822
-				$tabs['bundled_products'] = array(
823
-					'title'    => __( 'Included Products', 'lsx' ),
824
-					'priority' => 10,
825
-					'callback' => 'lsx_wc_bundle_products',
826
-				);
827
-			}
828
-		}
821
+               if ( ! empty( $bundled_items ) ) {
822
+                    $tabs['bundled_products'] = array(
823
+                         'title'    => __( 'Included Products', 'lsx' ),
824
+                         'priority' => 10,
825
+                         'callback' => 'lsx_wc_bundle_products',
826
+                    );
827
+               }
828
+          }
829 829
 
830
-		if ( isset( $tabs['description'] ) ) {
831
-			$tabs['description']['priority'] = 5;
832
-		}
830
+          if ( isset( $tabs['description'] ) ) {
831
+               $tabs['description']['priority'] = 5;
832
+          }
833 833
 
834
-		if ( isset( $tabs['reviews'] ) ) {
835
-			$tabs['reviews']['priority'] = 15;
836
-		}
834
+          if ( isset( $tabs['reviews'] ) ) {
835
+               $tabs['reviews']['priority'] = 15;
836
+          }
837 837
 
838
-		if ( isset( $tabs['product_enquiry'] ) ) {
839
-			$tabs['product_enquiry']['priority'] = 20;
840
-		}
838
+          if ( isset( $tabs['product_enquiry'] ) ) {
839
+               $tabs['product_enquiry']['priority'] = 20;
840
+          }
841 841
 
842
-		return $tabs;
843
-	}
842
+          return $tabs;
843
+     }
844 844
 
845
-	add_action( 'woocommerce_product_tabs', 'lsx_wc_move_bundle_products', 50 );
845
+     add_action( 'woocommerce_product_tabs', 'lsx_wc_move_bundle_products', 50 );
846 846
 
847 847
 endif;
848 848
 
849 849
 if ( ! function_exists( 'lsx_wc_bundle_products' ) ) :
850 850
 
851
-	function lsx_wc_bundle_products() {
852
-		global $product, $post;
851
+     function lsx_wc_bundle_products() {
852
+          global $product, $post;
853 853
 
854
-		if ( method_exists( $product, 'get_bundled_items' ) ) {
855
-			$bundled_items = $product->get_bundled_items();
854
+          if ( method_exists( $product, 'get_bundled_items' ) ) {
855
+               $bundled_items = $product->get_bundled_items();
856 856
 
857
-			// do_action( 'woocommerce_before_bundled_items', $product );
857
+               // do_action( 'woocommerce_before_bundled_items', $product );
858 858
 
859
-			// foreach ( $bundled_items as $bundled_item ) {
860
-			// 	do_action( 'woocommerce_bundled_item_details', $bundled_item, $product );
861
-			// }
859
+               // foreach ( $bundled_items as $bundled_item ) {
860
+               // 	do_action( 'woocommerce_bundled_item_details', $bundled_item, $product );
861
+               // }
862 862
 
863
-			// do_action( 'woocommerce_after_bundled_items', $product );
863
+               // do_action( 'woocommerce_after_bundled_items', $product );
864 864
 
865
-			$product_original = $product;
865
+               $product_original = $product;
866 866
 
867
-			// $this->widget_start( $args, $instance );
867
+               // $this->widget_start( $args, $instance );
868 868
 
869
-			// @codingStandardsIgnoreLine
870
-			echo apply_filters( 'woocommerce_before_widget_product_list', '<ul class="product_list_widget">' );
869
+               // @codingStandardsIgnoreLine
870
+               echo apply_filters( 'woocommerce_before_widget_product_list', '<ul class="product_list_widget">' );
871 871
 
872
-			foreach ( $bundled_items as $bundled_item ) {
873
-				$product = wc_get_product( $bundled_item->item_data['product_id'] );
874
-				wc_get_template( 'content-widget-product.php' );
875
-				$product = $product_original;
876
-			}
872
+               foreach ( $bundled_items as $bundled_item ) {
873
+                    $product = wc_get_product( $bundled_item->item_data['product_id'] );
874
+                    wc_get_template( 'content-widget-product.php' );
875
+                    $product = $product_original;
876
+               }
877 877
 
878
-			// @codingStandardsIgnoreLine
879
-			echo apply_filters( 'woocommerce_after_widget_product_list', '</ul>' );
880
-		}
878
+               // @codingStandardsIgnoreLine
879
+               echo apply_filters( 'woocommerce_after_widget_product_list', '</ul>' );
880
+          }
881 881
 
882
-		// $this->widget_end( $args );
883
-	}
882
+          // $this->widget_end( $args );
883
+     }
884 884
 
885 885
 endif;
886 886
 
887 887
 
888 888
 if ( ! function_exists( 'lsx_wc_product_searchform' ) ) :
889
-	/**
890
-	 * woo_custom_product_searchform
891
-	 *
892
-	 * @access      public
893
-	 * @since       1.0
894
-	 * @return      void
895
-	 */
896
-	function lsx_wc_product_searchform( $form ) {
897
-
898
-		$form = '
889
+     /**
890
+      * woo_custom_product_searchform
891
+      *
892
+      * @access      public
893
+      * @since       1.0
894
+      * @return      void
895
+      */
896
+     function lsx_wc_product_searchform( $form ) {
897
+
898
+          $form = '
899 899
 			<form role="search" method="get" class="search-form form-inline" id="searchform" action="<?php echo esc_url( home_url( \'/\' ) ); ?>">
900 900
 				<div class="input-group">
901 901
 					<input type="search" value="<?php if ( is_search() ) { echo get_search_query(); } ?>" name="s" class="search-field form-control" placeholder="<?php esc_attr_e( \'Search\', \'lsx\' ); ?> <?php echo esc_attr( get_bloginfo( \'name\' ) ); ?>">
@@ -910,44 +910,44 @@  discard block
 block discarded – undo
910 910
 			</form>
911 911
 		';
912 912
 
913
-		return $form;
913
+          return $form;
914 914
 
915
-	}
915
+     }
916 916
 endif;
917 917
 add_filter( 'get_product_search_form', 'lsx_wc_product_searchform', 10, 1 );
918 918
 
919
-	/**
920
-	 * Output the pagination.
921
-	 */
919
+     /**
920
+      * Output the pagination.
921
+      */
922 922
 function woocommerce_pagination() {
923
-	if ( ! wc_get_loop_prop( 'is_paginated' ) || ! woocommerce_products_will_display() ) {
924
-		return;
925
-	}
926
-	$args = array(
927
-		'total'   => wc_get_loop_prop( 'total_pages' ),
928
-		'current' => wc_get_loop_prop( 'current_page' ),
929
-	);
930
-
931
-	if ( wc_get_loop_prop( 'is_shortcode' ) ) {
932
-		$args['base']   = esc_url_raw( add_query_arg( 'product-page', '%#%', false ) );
933
-		$args['format'] = '?product-page = %#%';
934
-	} else {
935
-		$args['base']   = esc_url_raw( str_replace( 999999999, '%#%', remove_query_arg( 'add-to-cart', get_pagenum_link( 999999999, false ) ) ) );
936
-		$args['format'] = '';
937
-	}
938
-
939
-	echo wp_kses_post( '<div class="lsx-pagination-wrapper">' );
940
-	$template = wc_get_template_html( 'loop/pagination.php', $args );
941
-	$template = str_replace( 'woocommerce-pagination', 'lsx-pagination', $template );
942
-	echo wp_kses_post( $template );
943
-	echo wp_kses_post( '</div>' );
923
+     if ( ! wc_get_loop_prop( 'is_paginated' ) || ! woocommerce_products_will_display() ) {
924
+          return;
925
+     }
926
+     $args = array(
927
+          'total'   => wc_get_loop_prop( 'total_pages' ),
928
+          'current' => wc_get_loop_prop( 'current_page' ),
929
+     );
930
+
931
+     if ( wc_get_loop_prop( 'is_shortcode' ) ) {
932
+          $args['base']   = esc_url_raw( add_query_arg( 'product-page', '%#%', false ) );
933
+          $args['format'] = '?product-page = %#%';
934
+     } else {
935
+          $args['base']   = esc_url_raw( str_replace( 999999999, '%#%', remove_query_arg( 'add-to-cart', get_pagenum_link( 999999999, false ) ) ) );
936
+          $args['format'] = '';
937
+     }
938
+
939
+     echo wp_kses_post( '<div class="lsx-pagination-wrapper">' );
940
+     $template = wc_get_template_html( 'loop/pagination.php', $args );
941
+     $template = str_replace( 'woocommerce-pagination', 'lsx-pagination', $template );
942
+     echo wp_kses_post( $template );
943
+     echo wp_kses_post( '</div>' );
944 944
 }
945 945
 
946 946
 function lsx_wc_pagination_args( $args ) {
947
-	$args['prev_text'] = '<span class="meta-nav">&larr;</span> ' . esc_html__( 'Previous', 'lsx' );
948
-	$args['next_text'] = esc_html__( 'Next', 'lsx' ) . ' <span class="meta-nav">&rarr;</span>';
949
-	$args['type']      = 'plain';
950
-	return $args;
947
+     $args['prev_text'] = '<span class="meta-nav">&larr;</span> ' . esc_html__( 'Previous', 'lsx' );
948
+     $args['next_text'] = esc_html__( 'Next', 'lsx' ) . ' <span class="meta-nav">&rarr;</span>';
949
+     $args['type']      = 'plain';
950
+     return $args;
951 951
 }
952 952
 add_filter( 'woocommerce_pagination_args', 'lsx_wc_pagination_args', 10, 1 );
953 953
 
@@ -961,33 +961,33 @@  discard block
 block discarded – undo
961 961
  * @return array
962 962
  */
963 963
 function lsx_wc_product_widget_template( $located, $template_name ) {
964
-	if ( 'content-widget-product.php' === $template_name || 'content-widget-review.php' === $template_name ) {
965
-
966
-		$new_location = get_stylesheet_directory() . '/partials/' . $template_name;
967
-		if ( file_exists( $new_location ) ) {
968
-			$located = $new_location;
969
-		} else {
970
-			$new_location = get_parent_theme_file_path() . '/partials/' . $template_name;
971
-			if ( file_exists( $new_location ) ) {
972
-				$located = $new_location;
973
-			}
974
-		}
975
-	}
976
-	return $located;
964
+     if ( 'content-widget-product.php' === $template_name || 'content-widget-review.php' === $template_name ) {
965
+
966
+          $new_location = get_stylesheet_directory() . '/partials/' . $template_name;
967
+          if ( file_exists( $new_location ) ) {
968
+               $located = $new_location;
969
+          } else {
970
+               $new_location = get_parent_theme_file_path() . '/partials/' . $template_name;
971
+               if ( file_exists( $new_location ) ) {
972
+                    $located = $new_location;
973
+               }
974
+          }
975
+     }
976
+     return $located;
977 977
 }
978 978
 add_filter( 'wc_get_template', 'lsx_wc_product_widget_template', 90, 2 );
979 979
 
980 980
 if ( ! function_exists( 'lsx_payment_gateway_logos' ) ) {
981
-	/**
982
-	 * Add Lets Encrypt and PayFast logos to cart.
983
-	 **/
984
-	function lsx_payment_gateway_logos() {
985
-		$encript_image        = get_template_directory_uri() . '/assets/images/lets-encript.svg';
986
-		$payfast_image        = get_template_directory_uri() . '/assets/images/payfast-footer-logo.svg';
987
-		$payment_logos        = get_template_directory_uri() . '/assets/images/payment-logos.svg';
988
-		$payment_logos_mobile = get_template_directory_uri() . '/assets/images/payment-logos-mobile.svg';
989
-		if ( ( is_checkout() || is_cart() ) && ( ! empty( get_theme_mod( 'lsx_wc_trust_footer_bar_status', '1' ) ) ) ) {
990
-		?>
981
+     /**
982
+      * Add Lets Encrypt and PayFast logos to cart.
983
+      **/
984
+     function lsx_payment_gateway_logos() {
985
+          $encript_image        = get_template_directory_uri() . '/assets/images/lets-encript.svg';
986
+          $payfast_image        = get_template_directory_uri() . '/assets/images/payfast-footer-logo.svg';
987
+          $payment_logos        = get_template_directory_uri() . '/assets/images/payment-logos.svg';
988
+          $payment_logos_mobile = get_template_directory_uri() . '/assets/images/payment-logos-mobile.svg';
989
+          if ( ( is_checkout() || is_cart() ) && ( ! empty( get_theme_mod( 'lsx_wc_trust_footer_bar_status', '1' ) ) ) ) {
990
+          ?>
991 991
 		<div class="row text-center vertical-align lsx-full-width-base-small checkout-cta-bottom">
992 992
 			<div class="col-md-12 img-payfast">
993 993
 				<img src="<?php echo esc_url( $payfast_image ); ?>" alt="payfast"/>
@@ -1004,7 +1004,7 @@  discard block
 block discarded – undo
1004 1004
 		</div>
1005 1005
 
1006 1006
 		<?php
1007
-		}
1008
-	}
1009
-	add_action( 'lsx_footer_before', 'lsx_payment_gateway_logos' );
1007
+          }
1008
+     }
1009
+     add_action( 'lsx_footer_before', 'lsx_payment_gateway_logos' );
1010 1010
 }
Please login to merge, or discard this patch.
includes/bbpress/bbpress.php 1 patch
Indentation   +17 added lines, -17 removed lines patch added patch discarded remove patch
@@ -7,25 +7,25 @@  discard block
 block discarded – undo
7 7
  */
8 8
 
9 9
 if ( ! defined( 'ABSPATH' ) ) {
10
-	exit;
10
+     exit;
11 11
 }
12 12
 
13 13
 global $bbpress;
14 14
 
15 15
 if ( ! function_exists( 'lsx_bbpress_scripts_add_styles' ) ) :
16 16
 
17
-	/**
18
-	 * bbPress enqueue styles.
19
-	 *
20
-	 * @package    lsx
21
-	 * @subpackage bbpress
22
-	 */
23
-	function lsx_bbpress_scripts_add_styles() {
24
-		wp_enqueue_style( 'bbpress-lsx', get_template_directory_uri() . '/assets/css/bb-press/bb-press.css', array( 'lsx_main' ), LSX_VERSION );
25
-		wp_style_add_data( 'bbpress-lsx', 'rtl', 'replace' );
26
-	}
17
+     /**
18
+      * bbPress enqueue styles.
19
+      *
20
+      * @package    lsx
21
+      * @subpackage bbpress
22
+      */
23
+     function lsx_bbpress_scripts_add_styles() {
24
+          wp_enqueue_style( 'bbpress-lsx', get_template_directory_uri() . '/assets/css/bb-press/bb-press.css', array( 'lsx_main' ), LSX_VERSION );
25
+          wp_style_add_data( 'bbpress-lsx', 'rtl', 'replace' );
26
+     }
27 27
 
28
-	add_action( 'wp_enqueue_scripts', 'lsx_bbpress_scripts_add_styles' );
28
+     add_action( 'wp_enqueue_scripts', 'lsx_bbpress_scripts_add_styles' );
29 29
 
30 30
 endif;
31 31
 
@@ -34,9 +34,9 @@  discard block
 block discarded – undo
34 34
 add_filter( 'get_the_archive_title', 'modify_archive_title', 10, 1 );
35 35
 
36 36
 function modify_archive_title( $title ) {
37
-	if ( ! is_post_type_archive( 'forum' ) ) {
38
-		return $title;
39
-	}
40
-	$title = __( 'Forums', 'lsx' );
41
-	return $title;
37
+     if ( ! is_post_type_archive( 'forum' ) ) {
38
+          return $title;
39
+     }
40
+     $title = __( 'Forums', 'lsx' );
41
+     return $title;
42 42
 }
Please login to merge, or discard this patch.
includes/classes/class-lsx-schema-utils.php 1 patch
Indentation   +208 added lines, -208 removed lines patch added patch discarded remove patch
@@ -10,212 +10,212 @@
 block discarded – undo
10 10
  * @since 11.6
11 11
  */
12 12
 class LSX_Schema_Utils {
13
-	/**
14
-	 * Determines whether a given post type should have Review schema.
15
-	 *
16
-	 * @param string $post_type       Post type to check.
17
-	 * @param string $comparison_type Post type to check against.
18
-	 *
19
-	 * @return bool True if it has schema, false if not.
20
-	 */
21
-	public static function is_type( $post_type = null, $comparison_type = null ) {
22
-		if ( is_null( $comparison_type ) ) {
23
-			return false;
24
-		}
25
-		if ( is_null( $post_type ) ) {
26
-			$post_type = get_post_type();
27
-		}
28
-		/**
29
-		 * Filter: 'wpseo_schema_$this->post_type_post_types' - Allow changing for which post types we output Review schema.
30
-		 *
31
-		 * @api string[] $post_types The post types for which we output Review.
32
-		 */
33
-		$post_types = apply_filters( 'wpseo_schema_' . $comparison_type . '_post_types', array( $comparison_type ) );
34
-		return in_array( $post_type, $post_types );
35
-	}
36
-	/**
37
-	 * Retrieve a users Schema ID.
38
-	 *
39
-	 * @param string               $place_id The Name of the Reviewer you need a for.
40
-	 * @param string               $type the type of the place.
41
-	 * @param WPSEO_Schema_Context $context A value object with context variables.
42
-	 *
43
-	 * @return string The user's schema ID.
44
-	 */
45
-	public static function get_places_schema_id( $place_id, $type, $context ) {
46
-		$url = $context->site_url . '#/schema/' . strtolower( $type ) . '/' . wp_hash( $place_id . get_the_title( $place_id ) );
47
-		return trailingslashit( $url );
48
-	}
49
-	/**
50
-	 * Retrieve a users Schema ID.
51
-	 *
52
-	 * @param string               $name The Name of the Reviewer you need a for.
53
-	 * @param WPSEO_Schema_Context $context A value object with context variables.
54
-	 *
55
-	 * @return string The user's schema ID.
56
-	 */
57
-	public static function get_subtrip_schema_id( $name, $context ) {
58
-		$url = $context->site_url . '#/subtrip/' . wp_hash( $name . $context->id );
59
-		return trailingslashit( $url );
60
-	}
61
-	/**
62
-	 * Retrieve an offer Schema ID.
63
-	 *
64
-	 * @param string               $id      post ID of the place being added.
65
-	 * @param WPSEO_Schema_Context $context A value object with context variables.
66
-	 * @param string               $local   if the Schema is local true / false.
67
-	 *
68
-	 * @return string The user's schema ID.
69
-	 */
70
-	public static function get_offer_schema_id( $id, $context, $local = false ) {
71
-		if ( false === $local ) {
72
-			$url = $context->site_url;
73
-		} else {
74
-			$url = get_permalink( $context->id );
75
-		}
76
-		$url .= '#/schema/offer/';
77
-		$url .= wp_hash( $id . get_the_title( $id ) );
78
-		return trailingslashit( $url );
79
-	}
80
-	/**
81
-	 * Retrieve an review Schema ID.
82
-	 *
83
-	 * @param string               $id      post ID of the place being added.
84
-	 * @param WPSEO_Schema_Context $context A value object with context variables.
85
-	 * @param string               $local   if the Schema is local true / false.
86
-	 *
87
-	 * @return string The user's schema ID.
88
-	 */
89
-	public static function get_review_schema_id( $id, $context, $local = false ) {
90
-		if ( false === $local ) {
91
-			$url = $context->site_url;
92
-		} else {
93
-			$url = get_permalink( $context->id );
94
-		}
95
-		$url .= '#/schema/review/';
96
-		$url .= wp_hash( $id . get_the_title( $id ) );
97
-		return trailingslashit( $url );
98
-	}
99
-	/**
100
-	 * Retrieve an Article Schema ID.
101
-	 *
102
-	 * @param string               $id      post ID of the place being added.
103
-	 * @param WPSEO_Schema_Context $context A value object with context variables.
104
-	 * @param string               $local   if the Schema is local true / false.
105
-	 *
106
-	 * @return string The user's schema ID.
107
-	 */
108
-	public static function get_article_schema_id( $id, $context, $local = false ) {
109
-		if ( false === $local ) {
110
-			$url = get_permalink( $id ) . \Schema_IDs::ARTICLE_HASH;
111
-		} else {
112
-			$url = get_permalink( $context->id ) . '#/schema/article/' . wp_hash( $id . get_the_title( $id ) );
113
-		}
114
-		return trailingslashit( $url );
115
-	}
116
-	/**
117
-	 * Retrieve a users Schema ID.
118
-	 *
119
-	 * @param string               $name The Name of the Reviewer you need a for.
120
-	 * @param WPSEO_Schema_Context $context A value object with context variables.
121
-	 *
122
-	 * @return string The user's schema ID.
123
-	 */
124
-	public static function get_author_schema_id( $name, $email, $context ) {
125
-		return $context->site_url . \Schema_IDs::PERSON_HASH . wp_hash( $name . $email );
126
-	}
127
-	/**
128
-	 * Generates the place graph piece for the subtrip / Itinerary arrays.
129
-	 *
130
-	 * @param array                $data         subTrip / itinerary data.
131
-	 * @param string               $type         The type in data to save the terms in.
132
-	 * @param string               $post_id      The post ID of the current Place to add.
133
-	 * @param WPSEO_Schema_Context $context      The post ID of the current Place to add.
134
-	 * @param string               $contained_in The @id of the containedIn place.
135
-	 *
136
-	 * @return mixed array $data Place data.
137
-	 */
138
-	public static function add_place( $data, $type, $post_id, $context, $contained_in = false ) {
139
-		$at_id = self::get_places_schema_id( $post_id, $type, $context );
140
-		$place = array(
141
-			'@type'       => $type,
142
-			'@id'         => $at_id,
143
-			'name'        => get_the_title( $post_id ),
144
-			'description' => get_the_excerpt( $post_id ),
145
-			'url'         => get_permalink( $post_id ),
146
-		);
147
-		if ( false !== $contained_in ) {
148
-			$place['containedInPlace'] = array(
149
-				'@type' => 'Country',
150
-				'@id'   => $contained_in,
151
-			);
152
-		}
153
-		$data[] = $place;
154
-		return $data;
155
-	}
156
-	/**
157
-	 * Adds an image node if the post has a featured image.
158
-	 *
159
-	 * @param array                $data         The Review data.
160
-	 * @param WPSEO_Schema_Context $context      The post ID of the current Place to add.
161
-	 *
162
-	 * @return array $data The Review data.
163
-	 */
164
-	public static function add_image( $data, $context ) {
165
-		if ( $context->has_image ) {
166
-			$data['image'] = array(
167
-				'@id' => $context->canonical . \Schema_IDs::PRIMARY_IMAGE_HASH,
168
-			);
169
-		}
170
-		return $data;
171
-	}
172
-	/**
173
-	 * Generates the itemReviewed schema
174
-	 *
175
-	 * @param  array  $items The array of IDS.
176
-	 * @param  string $type The schema type.
177
-	 * @return array $schema An array of the schema markup.
178
-	 */
179
-	public static function get_item_reviewed( $items = array(), $type = '' ) {
180
-		$schema = array();
181
-		if ( false !== $items && ! empty( $items ) && '' !== $type ) {
182
-			array_unique( $items );
183
-			foreach ( $items as $item ) {
184
-				$title = get_the_title( $item );
185
-				if ( '' !== $title ) {
186
-					$item_schema = array(
187
-						'@type' => $type,
188
-						'name'  => $title,
189
-					);
190
-					$schema[]    = $item_schema;
191
-				}
192
-			}
193
-		}
194
-		return $schema;
195
-	}
196
-	/**
197
-	 * Adds a term or multiple terms, comma separated, to a field.
198
-	 *
199
-	 * @param array  $data     Review data.
200
-	 * @param string $post_id  The ID of the item to fetch terms.
201
-	 * @param string $key      The key in data to save the terms in.
202
-	 * @param string $taxonomy The taxonomy to retrieve the terms from.
203
-	 *
204
-	 * @return mixed array $data Review data.
205
-	 */
206
-	public static function add_terms( $data, $post_id, $key, $taxonomy ) {
207
-		$terms = get_the_terms( $post_id, $taxonomy );
208
-		if ( is_array( $terms ) ) {
209
-			$keywords = array();
210
-			foreach ( $terms as $term ) {
211
-				// We are checking against the WordPress internal translation.
212
-				// @codingStandardsIgnoreLine
213
-				if ( __( 'Uncategorized', 'lsx' ) !== $term->name ) {
214
-					$keywords[] = $term->name;
215
-				}
216
-			}
217
-			$data[ $key ] = implode( ',', $keywords );
218
-		}
219
-		return $data;
220
-	}
13
+     /**
14
+      * Determines whether a given post type should have Review schema.
15
+      *
16
+      * @param string $post_type       Post type to check.
17
+      * @param string $comparison_type Post type to check against.
18
+      *
19
+      * @return bool True if it has schema, false if not.
20
+      */
21
+     public static function is_type( $post_type = null, $comparison_type = null ) {
22
+          if ( is_null( $comparison_type ) ) {
23
+               return false;
24
+          }
25
+          if ( is_null( $post_type ) ) {
26
+               $post_type = get_post_type();
27
+          }
28
+          /**
29
+           * Filter: 'wpseo_schema_$this->post_type_post_types' - Allow changing for which post types we output Review schema.
30
+           *
31
+           * @api string[] $post_types The post types for which we output Review.
32
+           */
33
+          $post_types = apply_filters( 'wpseo_schema_' . $comparison_type . '_post_types', array( $comparison_type ) );
34
+          return in_array( $post_type, $post_types );
35
+     }
36
+     /**
37
+      * Retrieve a users Schema ID.
38
+      *
39
+      * @param string               $place_id The Name of the Reviewer you need a for.
40
+      * @param string               $type the type of the place.
41
+      * @param WPSEO_Schema_Context $context A value object with context variables.
42
+      *
43
+      * @return string The user's schema ID.
44
+      */
45
+     public static function get_places_schema_id( $place_id, $type, $context ) {
46
+          $url = $context->site_url . '#/schema/' . strtolower( $type ) . '/' . wp_hash( $place_id . get_the_title( $place_id ) );
47
+          return trailingslashit( $url );
48
+     }
49
+     /**
50
+      * Retrieve a users Schema ID.
51
+      *
52
+      * @param string               $name The Name of the Reviewer you need a for.
53
+      * @param WPSEO_Schema_Context $context A value object with context variables.
54
+      *
55
+      * @return string The user's schema ID.
56
+      */
57
+     public static function get_subtrip_schema_id( $name, $context ) {
58
+          $url = $context->site_url . '#/subtrip/' . wp_hash( $name . $context->id );
59
+          return trailingslashit( $url );
60
+     }
61
+     /**
62
+      * Retrieve an offer Schema ID.
63
+      *
64
+      * @param string               $id      post ID of the place being added.
65
+      * @param WPSEO_Schema_Context $context A value object with context variables.
66
+      * @param string               $local   if the Schema is local true / false.
67
+      *
68
+      * @return string The user's schema ID.
69
+      */
70
+     public static function get_offer_schema_id( $id, $context, $local = false ) {
71
+          if ( false === $local ) {
72
+               $url = $context->site_url;
73
+          } else {
74
+               $url = get_permalink( $context->id );
75
+          }
76
+          $url .= '#/schema/offer/';
77
+          $url .= wp_hash( $id . get_the_title( $id ) );
78
+          return trailingslashit( $url );
79
+     }
80
+     /**
81
+      * Retrieve an review Schema ID.
82
+      *
83
+      * @param string               $id      post ID of the place being added.
84
+      * @param WPSEO_Schema_Context $context A value object with context variables.
85
+      * @param string               $local   if the Schema is local true / false.
86
+      *
87
+      * @return string The user's schema ID.
88
+      */
89
+     public static function get_review_schema_id( $id, $context, $local = false ) {
90
+          if ( false === $local ) {
91
+               $url = $context->site_url;
92
+          } else {
93
+               $url = get_permalink( $context->id );
94
+          }
95
+          $url .= '#/schema/review/';
96
+          $url .= wp_hash( $id . get_the_title( $id ) );
97
+          return trailingslashit( $url );
98
+     }
99
+     /**
100
+      * Retrieve an Article Schema ID.
101
+      *
102
+      * @param string               $id      post ID of the place being added.
103
+      * @param WPSEO_Schema_Context $context A value object with context variables.
104
+      * @param string               $local   if the Schema is local true / false.
105
+      *
106
+      * @return string The user's schema ID.
107
+      */
108
+     public static function get_article_schema_id( $id, $context, $local = false ) {
109
+          if ( false === $local ) {
110
+               $url = get_permalink( $id ) . \Schema_IDs::ARTICLE_HASH;
111
+          } else {
112
+               $url = get_permalink( $context->id ) . '#/schema/article/' . wp_hash( $id . get_the_title( $id ) );
113
+          }
114
+          return trailingslashit( $url );
115
+     }
116
+     /**
117
+      * Retrieve a users Schema ID.
118
+      *
119
+      * @param string               $name The Name of the Reviewer you need a for.
120
+      * @param WPSEO_Schema_Context $context A value object with context variables.
121
+      *
122
+      * @return string The user's schema ID.
123
+      */
124
+     public static function get_author_schema_id( $name, $email, $context ) {
125
+          return $context->site_url . \Schema_IDs::PERSON_HASH . wp_hash( $name . $email );
126
+     }
127
+     /**
128
+      * Generates the place graph piece for the subtrip / Itinerary arrays.
129
+      *
130
+      * @param array                $data         subTrip / itinerary data.
131
+      * @param string               $type         The type in data to save the terms in.
132
+      * @param string               $post_id      The post ID of the current Place to add.
133
+      * @param WPSEO_Schema_Context $context      The post ID of the current Place to add.
134
+      * @param string               $contained_in The @id of the containedIn place.
135
+      *
136
+      * @return mixed array $data Place data.
137
+      */
138
+     public static function add_place( $data, $type, $post_id, $context, $contained_in = false ) {
139
+          $at_id = self::get_places_schema_id( $post_id, $type, $context );
140
+          $place = array(
141
+               '@type'       => $type,
142
+               '@id'         => $at_id,
143
+               'name'        => get_the_title( $post_id ),
144
+               'description' => get_the_excerpt( $post_id ),
145
+               'url'         => get_permalink( $post_id ),
146
+          );
147
+          if ( false !== $contained_in ) {
148
+               $place['containedInPlace'] = array(
149
+                    '@type' => 'Country',
150
+                    '@id'   => $contained_in,
151
+               );
152
+          }
153
+          $data[] = $place;
154
+          return $data;
155
+     }
156
+     /**
157
+      * Adds an image node if the post has a featured image.
158
+      *
159
+      * @param array                $data         The Review data.
160
+      * @param WPSEO_Schema_Context $context      The post ID of the current Place to add.
161
+      *
162
+      * @return array $data The Review data.
163
+      */
164
+     public static function add_image( $data, $context ) {
165
+          if ( $context->has_image ) {
166
+               $data['image'] = array(
167
+                    '@id' => $context->canonical . \Schema_IDs::PRIMARY_IMAGE_HASH,
168
+               );
169
+          }
170
+          return $data;
171
+     }
172
+     /**
173
+      * Generates the itemReviewed schema
174
+      *
175
+      * @param  array  $items The array of IDS.
176
+      * @param  string $type The schema type.
177
+      * @return array $schema An array of the schema markup.
178
+      */
179
+     public static function get_item_reviewed( $items = array(), $type = '' ) {
180
+          $schema = array();
181
+          if ( false !== $items && ! empty( $items ) && '' !== $type ) {
182
+               array_unique( $items );
183
+               foreach ( $items as $item ) {
184
+                    $title = get_the_title( $item );
185
+                    if ( '' !== $title ) {
186
+                         $item_schema = array(
187
+                              '@type' => $type,
188
+                              'name'  => $title,
189
+                         );
190
+                         $schema[]    = $item_schema;
191
+                    }
192
+               }
193
+          }
194
+          return $schema;
195
+     }
196
+     /**
197
+      * Adds a term or multiple terms, comma separated, to a field.
198
+      *
199
+      * @param array  $data     Review data.
200
+      * @param string $post_id  The ID of the item to fetch terms.
201
+      * @param string $key      The key in data to save the terms in.
202
+      * @param string $taxonomy The taxonomy to retrieve the terms from.
203
+      *
204
+      * @return mixed array $data Review data.
205
+      */
206
+     public static function add_terms( $data, $post_id, $key, $taxonomy ) {
207
+          $terms = get_the_terms( $post_id, $taxonomy );
208
+          if ( is_array( $terms ) ) {
209
+               $keywords = array();
210
+               foreach ( $terms as $term ) {
211
+                    // We are checking against the WordPress internal translation.
212
+                    // @codingStandardsIgnoreLine
213
+                    if ( __( 'Uncategorized', 'lsx' ) !== $term->name ) {
214
+                         $keywords[] = $term->name;
215
+                    }
216
+               }
217
+               $data[ $key ] = implode( ',', $keywords );
218
+          }
219
+          return $data;
220
+     }
221 221
 }
Please login to merge, or discard this patch.
includes/classes/class-lsx-schema-graph-piece.php 1 patch
Indentation   +217 added lines, -217 removed lines patch added patch discarded remove patch
@@ -12,221 +12,221 @@
 block discarded – undo
12 12
 use \Yoast\WP\SEO\Generators\Schema\Abstract_Schema_Piece;
13 13
 
14 14
 if ( class_exists( 'Abstract_Schema_Piece' ) ) {
15
-	class LSX_Schema_Graph_Piece extends Abstract_Schema_Piece {
16
-		/**
17
-		 * A value object with context variables.
18
-		 *
19
-		 * @var \WPSEO_Schema_Context
20
-		 */
21
-		public $context;
22
-		/**
23
-		 * This is the post type that you want the piece to output for.
24
-		 *
25
-		 * @var string;
26
-		 */
27
-		public $post_type;
28
-		/**
29
-		 * If this is a top level parent
30
-		 *
31
-		 * @var boolean
32
-		 */
33
-		public $is_top_level;
34
-		/**
35
-		 * This holds the meta_key => scehma_type of the fields you want to add to your subtrip.
36
-		 *
37
-		 * @var array()
38
-		 */
39
-		public $place_ids;
40
-		/**
41
-		 * This holds an object or the current trip post.
42
-		 *
43
-		 * @var WP_Post();
44
-		 */
45
-		public $post;
46
-		/**
47
-		 * This holds URL for the trip
48
-		 *
49
-		 * @var string
50
-		 */
51
-		public $post_url;
52
-		/**
53
-		 * Constructor.
54
-		 *
55
-		 * @param \WPSEO_Schema_Context $context A value object with context variables.
56
-		 */
57
-		public function __construct( WPSEO_Schema_Context $context ) {
58
-			$this->context      = $context;
59
-			$this->place_ids    = array();
60
-			$this->post         = get_post( $this->context->id );
61
-			$this->post_url     = get_permalink( $this->context->id );
62
-			$this->is_top_level = false;
63
-			if ( is_object( $this->post ) && isset( $this->post->post_parent ) && ( false === $this->post->post_parent || 0 === $this->post->post_parent || '' === $this->post->post_parent ) ) {
64
-				$this->is_top_level = true;
65
-			}
66
-		}
67
-		/**
68
-		 * Determines whether or not a piece should be added to the graph.
69
-		 *
70
-		 * @return bool
71
-		 */
72
-		public function is_needed() {
73
-			if ( ! is_singular() ) {
74
-				return false;
75
-			}
76
-			if ( false === $this->context->site_represents ) {
77
-				return false;
78
-			}
79
-			return LSX_Schema_Utils::is_type( get_post_type(), $this->post_type );
80
-		}
81
-		/**
82
-		 * Returns Review data.
83
-		 *
84
-		 * @return array $data Review data.
85
-		 */
86
-		public function generate() {
87
-			$data = array();
88
-			return $data;
89
-		}
90
-		/**
91
-		 * Gets the connected reviews post type and set it as the "Review" schema
92
-		 *
93
-		 * @param  array    $data An array of offers already added.
94
-		 * @param  string   $data_key
95
-		 * @param  boolean  $include_aggregate
96
-		 * @return array    $data
97
-		 */
98
-		public function add_reviews( $data, $data_key = 'reviews', $include_aggregate = true ) {
99
-			$reviews       = get_post_meta( $this->context->id, 'review_to_' . $this->post_type, false );
100
-			$reviews_array = array();
101
-			if ( ! empty( $reviews ) ) {
102
-				$aggregate_value = 1;
103
-				$review_count    = 0;
104
-				foreach ( $reviews as $review_id ) {
105
-					$rating      = get_post_meta( $review_id, 'rating', true );
106
-					$author      = get_post_meta( $review_id, 'reviewer_name', true );
107
-					$description = wp_strip_all_tags( get_the_excerpt( $review_id ) );
108
-					$review_args = array(
109
-						'author'     => $author,
110
-						'reviewBody' => $description,
111
-					);
112
-					// Add in the review rating.
113
-					if ( false !== $rating && '' !== $rating && '0' !== $rating && 0 !== $rating ) {
114
-						$review_args['reviewRating'] = array(
115
-							'@type'       => 'Rating',
116
-							'ratingValue' => $rating,
117
-						);
118
-					}
119
-					$reviews_array = LSX_Schema_Utils::add_review( $reviews_array, $review_id, $this->context, $review_args );
120
-					$review_count++;
121
-				}
122
-				if ( ! empty( $reviews_array ) ) {
123
-					if ( true === $include_aggregate ) {
124
-						$data['aggregateRating'] = array(
125
-							'@type'       => 'AggregateRating',
126
-							'ratingValue' => (string) $aggregate_value,
127
-							'reviewCount' => (string) $review_count,
128
-							'bestRating'  => '5',
129
-							'worstRating' => '1',
130
-						);
131
-					}
132
-					$data[ $data_key ] = $reviews_array;
133
-				}
134
-			}
135
-			return $data;
136
-		}
137
-		/**
138
-		 * Gets the connected posts and set it as the "Article" schema
139
-		 *
140
-		 * @param  array  $data An array of offers already added.
141
-		 * @param  string $data_key
142
-		 * @return array  $data
143
-		 */
144
-		public function add_articles( $data, $data_key = 'subjectOf' ) {
145
-			$posts       = get_post_meta( $this->context->id, 'post_to_' . $this->post_type, false );
146
-			$posts_array = array();
147
-			if ( ! empty( $posts ) ) {
148
-				foreach ( $posts as $post_id ) {
149
-					$post_args = array(
150
-						'articleBody' => wp_strip_all_tags( get_the_excerpt( $post_id ) ),
151
-						'headline'    => get_the_title( $post_id ),
152
-					);
153
-					$section   = get_the_term_list( $post_id, 'category' );
154
-					if ( ! is_wp_error( $section ) && '' !== $section && false !== $section ) {
155
-						$post_args['articleSection'] = wp_strip_all_tags( $section );
156
-					}
157
-					if ( $this->context->site_represents_reference ) {
158
-						$post_args['publisher'] = $this->context->site_represents_reference;
159
-					}
160
-					$image_url = get_the_post_thumbnail_url( $post_id, 'lsx-thumbnail-wide' );
161
-					if ( false !== $image_url ) {
162
-						$post_args['image'] = $image_url;
163
-					}
164
-					$posts_array = LSX_Schema_Utils::add_article( $posts_array, $post_id, $this->context, $post_args );
165
-				}
166
-				if ( ! empty( $posts_array ) ) {
167
-					$data[ $data_key ] = $posts_array;
168
-				}
169
-			}
170
-			return $data;
171
-		}
172
-		/**
173
-		 * Adds the Project and Testimonials attached to the Team Member
174
-		 *
175
-		 * @param array $data
176
-		 *
177
-		 * @return array $data
178
-		 */
179
-		public function add_connections( $data ) {
180
-			$connections_array = array();
181
-			if ( $this->is_top_level ) {
182
-				$connections_array = $this->add_regions( $connections_array );
183
-				$connections_array = $this->add_accommodation( $connections_array );
184
-				if ( ! empty( $connections_array ) ) {
185
-					$data['containsPlace'] = $connections_array;
186
-				}
187
-			} else {
188
-				$connections_array             = $this->add_countries( $connections_array );
189
-				$data['containedInPlace'] = $connections_array;
190
-				$connections_array          = array();
191
-				$connections_array          = $this->add_accommodation( $connections_array );
192
-				$data['containsPlace'] = $connections_array;
193
-			}
194
-			return $data;
195
-		}
196
-		/**
197
-		 * Adds the terms for the taxonomy
198
-		 *
199
-		 * @param array $data     Review data.
200
-		 * @param array $data_key the parameter name you wish to assign it to.
201
-		 * @param array $taxonomy the taxonomy to grab terms for.
202
-		 *
203
-		 * @return array $data Review data.
204
-		 */
205
-		public function add_taxonomy_terms( $data, $data_key, $taxonomy ) {
206
-			/**
207
-			 * Filter: 'lsx_schema_' . $this->post_type . '_' . $data_key . '_taxonomy' - Allow changing the taxonomy used to assign keywords to a post type Review data.
208
-			 *
209
-			 * @api string $taxonomy The chosen taxonomy.
210
-			 */
211
-			$taxonomy = apply_filters( 'lsx_schema_' . $this->post_type . '_' . $data_key . '_taxonomy', $taxonomy );
212
-			return LSX_Schema_Utils::add_terms( $data, $this->context->id, $data_key, $taxonomy );
213
-		}
214
-		/**
215
-		 * Adds the custom field value for the supplied key
216
-		 *
217
-		 * @param array   $data     Schema data.
218
-		 * @param string  $data_key the parameter name you wish to assign it to.
219
-		 * @param string  $meta_key the taxonomy to grab terms for.
220
-		 * @param boolean $single   A single custom field or an array
221
-		 *
222
-		 * @return array $data Review data.
223
-		 */
224
-		public function add_custom_field( $data, $data_key, $meta_key, $single = true ) {
225
-			$value = get_post_meta( $this->context->id, $meta_key, $single );
226
-			if ( '' !== $value && false !== $value ) {
227
-				$data[ $data_key ] = $value;
228
-			}
229
-			return $data;
230
-		}
231
-	}
15
+     class LSX_Schema_Graph_Piece extends Abstract_Schema_Piece {
16
+          /**
17
+           * A value object with context variables.
18
+           *
19
+           * @var \WPSEO_Schema_Context
20
+           */
21
+          public $context;
22
+          /**
23
+           * This is the post type that you want the piece to output for.
24
+           *
25
+           * @var string;
26
+           */
27
+          public $post_type;
28
+          /**
29
+           * If this is a top level parent
30
+           *
31
+           * @var boolean
32
+           */
33
+          public $is_top_level;
34
+          /**
35
+           * This holds the meta_key => scehma_type of the fields you want to add to your subtrip.
36
+           *
37
+           * @var array()
38
+           */
39
+          public $place_ids;
40
+          /**
41
+           * This holds an object or the current trip post.
42
+           *
43
+           * @var WP_Post();
44
+           */
45
+          public $post;
46
+          /**
47
+           * This holds URL for the trip
48
+           *
49
+           * @var string
50
+           */
51
+          public $post_url;
52
+          /**
53
+           * Constructor.
54
+           *
55
+           * @param \WPSEO_Schema_Context $context A value object with context variables.
56
+           */
57
+          public function __construct( WPSEO_Schema_Context $context ) {
58
+               $this->context      = $context;
59
+               $this->place_ids    = array();
60
+               $this->post         = get_post( $this->context->id );
61
+               $this->post_url     = get_permalink( $this->context->id );
62
+               $this->is_top_level = false;
63
+               if ( is_object( $this->post ) && isset( $this->post->post_parent ) && ( false === $this->post->post_parent || 0 === $this->post->post_parent || '' === $this->post->post_parent ) ) {
64
+                    $this->is_top_level = true;
65
+               }
66
+          }
67
+          /**
68
+           * Determines whether or not a piece should be added to the graph.
69
+           *
70
+           * @return bool
71
+           */
72
+          public function is_needed() {
73
+               if ( ! is_singular() ) {
74
+                    return false;
75
+               }
76
+               if ( false === $this->context->site_represents ) {
77
+                    return false;
78
+               }
79
+               return LSX_Schema_Utils::is_type( get_post_type(), $this->post_type );
80
+          }
81
+          /**
82
+           * Returns Review data.
83
+           *
84
+           * @return array $data Review data.
85
+           */
86
+          public function generate() {
87
+               $data = array();
88
+               return $data;
89
+          }
90
+          /**
91
+           * Gets the connected reviews post type and set it as the "Review" schema
92
+           *
93
+           * @param  array    $data An array of offers already added.
94
+           * @param  string   $data_key
95
+           * @param  boolean  $include_aggregate
96
+           * @return array    $data
97
+           */
98
+          public function add_reviews( $data, $data_key = 'reviews', $include_aggregate = true ) {
99
+               $reviews       = get_post_meta( $this->context->id, 'review_to_' . $this->post_type, false );
100
+               $reviews_array = array();
101
+               if ( ! empty( $reviews ) ) {
102
+                    $aggregate_value = 1;
103
+                    $review_count    = 0;
104
+                    foreach ( $reviews as $review_id ) {
105
+                         $rating      = get_post_meta( $review_id, 'rating', true );
106
+                         $author      = get_post_meta( $review_id, 'reviewer_name', true );
107
+                         $description = wp_strip_all_tags( get_the_excerpt( $review_id ) );
108
+                         $review_args = array(
109
+                              'author'     => $author,
110
+                              'reviewBody' => $description,
111
+                         );
112
+                         // Add in the review rating.
113
+                         if ( false !== $rating && '' !== $rating && '0' !== $rating && 0 !== $rating ) {
114
+                              $review_args['reviewRating'] = array(
115
+                                   '@type'       => 'Rating',
116
+                                   'ratingValue' => $rating,
117
+                              );
118
+                         }
119
+                         $reviews_array = LSX_Schema_Utils::add_review( $reviews_array, $review_id, $this->context, $review_args );
120
+                         $review_count++;
121
+                    }
122
+                    if ( ! empty( $reviews_array ) ) {
123
+                         if ( true === $include_aggregate ) {
124
+                              $data['aggregateRating'] = array(
125
+                                   '@type'       => 'AggregateRating',
126
+                                   'ratingValue' => (string) $aggregate_value,
127
+                                   'reviewCount' => (string) $review_count,
128
+                                   'bestRating'  => '5',
129
+                                   'worstRating' => '1',
130
+                              );
131
+                         }
132
+                         $data[ $data_key ] = $reviews_array;
133
+                    }
134
+               }
135
+               return $data;
136
+          }
137
+          /**
138
+           * Gets the connected posts and set it as the "Article" schema
139
+           *
140
+           * @param  array  $data An array of offers already added.
141
+           * @param  string $data_key
142
+           * @return array  $data
143
+           */
144
+          public function add_articles( $data, $data_key = 'subjectOf' ) {
145
+               $posts       = get_post_meta( $this->context->id, 'post_to_' . $this->post_type, false );
146
+               $posts_array = array();
147
+               if ( ! empty( $posts ) ) {
148
+                    foreach ( $posts as $post_id ) {
149
+                         $post_args = array(
150
+                              'articleBody' => wp_strip_all_tags( get_the_excerpt( $post_id ) ),
151
+                              'headline'    => get_the_title( $post_id ),
152
+                         );
153
+                         $section   = get_the_term_list( $post_id, 'category' );
154
+                         if ( ! is_wp_error( $section ) && '' !== $section && false !== $section ) {
155
+                              $post_args['articleSection'] = wp_strip_all_tags( $section );
156
+                         }
157
+                         if ( $this->context->site_represents_reference ) {
158
+                              $post_args['publisher'] = $this->context->site_represents_reference;
159
+                         }
160
+                         $image_url = get_the_post_thumbnail_url( $post_id, 'lsx-thumbnail-wide' );
161
+                         if ( false !== $image_url ) {
162
+                              $post_args['image'] = $image_url;
163
+                         }
164
+                         $posts_array = LSX_Schema_Utils::add_article( $posts_array, $post_id, $this->context, $post_args );
165
+                    }
166
+                    if ( ! empty( $posts_array ) ) {
167
+                         $data[ $data_key ] = $posts_array;
168
+                    }
169
+               }
170
+               return $data;
171
+          }
172
+          /**
173
+           * Adds the Project and Testimonials attached to the Team Member
174
+           *
175
+           * @param array $data
176
+           *
177
+           * @return array $data
178
+           */
179
+          public function add_connections( $data ) {
180
+               $connections_array = array();
181
+               if ( $this->is_top_level ) {
182
+                    $connections_array = $this->add_regions( $connections_array );
183
+                    $connections_array = $this->add_accommodation( $connections_array );
184
+                    if ( ! empty( $connections_array ) ) {
185
+                         $data['containsPlace'] = $connections_array;
186
+                    }
187
+               } else {
188
+                    $connections_array             = $this->add_countries( $connections_array );
189
+                    $data['containedInPlace'] = $connections_array;
190
+                    $connections_array          = array();
191
+                    $connections_array          = $this->add_accommodation( $connections_array );
192
+                    $data['containsPlace'] = $connections_array;
193
+               }
194
+               return $data;
195
+          }
196
+          /**
197
+           * Adds the terms for the taxonomy
198
+           *
199
+           * @param array $data     Review data.
200
+           * @param array $data_key the parameter name you wish to assign it to.
201
+           * @param array $taxonomy the taxonomy to grab terms for.
202
+           *
203
+           * @return array $data Review data.
204
+           */
205
+          public function add_taxonomy_terms( $data, $data_key, $taxonomy ) {
206
+               /**
207
+                * Filter: 'lsx_schema_' . $this->post_type . '_' . $data_key . '_taxonomy' - Allow changing the taxonomy used to assign keywords to a post type Review data.
208
+                *
209
+                * @api string $taxonomy The chosen taxonomy.
210
+                */
211
+               $taxonomy = apply_filters( 'lsx_schema_' . $this->post_type . '_' . $data_key . '_taxonomy', $taxonomy );
212
+               return LSX_Schema_Utils::add_terms( $data, $this->context->id, $data_key, $taxonomy );
213
+          }
214
+          /**
215
+           * Adds the custom field value for the supplied key
216
+           *
217
+           * @param array   $data     Schema data.
218
+           * @param string  $data_key the parameter name you wish to assign it to.
219
+           * @param string  $meta_key the taxonomy to grab terms for.
220
+           * @param boolean $single   A single custom field or an array
221
+           *
222
+           * @return array $data Review data.
223
+           */
224
+          public function add_custom_field( $data, $data_key, $meta_key, $single = true ) {
225
+               $value = get_post_meta( $this->context->id, $meta_key, $single );
226
+               if ( '' !== $value && false !== $value ) {
227
+                    $data[ $data_key ] = $value;
228
+               }
229
+               return $data;
230
+          }
231
+     }
232 232
 }
Please login to merge, or discard this patch.
includes/scripts.php 1 patch
Indentation   +84 added lines, -84 removed lines patch added patch discarded remove patch
@@ -7,21 +7,21 @@  discard block
 block discarded – undo
7 7
  */
8 8
 
9 9
 if ( ! defined( 'ABSPATH' ) ) {
10
-	exit;
10
+     exit;
11 11
 }
12 12
 
13 13
 if ( ! function_exists( 'lsx_scripts' ) ) :
14 14
 
15
-	/**
16
-	 * Enqueue scripts, fonts and styles.
17
-	 *
18
-	 * @package    lsx
19
-	 * @subpackage scripts
20
-	 */
21
-	function lsx_scripts() {
22
-		lsx_scripts_add_styles();
23
-		lsx_scripts_add_scripts();
24
-	}
15
+     /**
16
+      * Enqueue scripts, fonts and styles.
17
+      *
18
+      * @package    lsx
19
+      * @subpackage scripts
20
+      */
21
+     function lsx_scripts() {
22
+          lsx_scripts_add_styles();
23
+          lsx_scripts_add_scripts();
24
+     }
25 25
 
26 26
 endif;
27 27
 
@@ -29,15 +29,15 @@  discard block
 block discarded – undo
29 29
 
30 30
 if ( ! function_exists( 'lsx_admin_scripts' ) ) :
31 31
 
32
-	/**
33
-	 * Enqueue scripts (admin).
34
-	 *
35
-	 * @package    lsx
36
-	 * @subpackage scripts
37
-	 */
38
-	function lsx_admin_scripts() {
39
-		wp_enqueue_script( 'lsx-admin', get_template_directory_uri() . '/assets/js/admin/lsx-admin.js', array( 'jquery' ), LSX_VERSION, true );
40
-	}
32
+     /**
33
+      * Enqueue scripts (admin).
34
+      *
35
+      * @package    lsx
36
+      * @subpackage scripts
37
+      */
38
+     function lsx_admin_scripts() {
39
+          wp_enqueue_script( 'lsx-admin', get_template_directory_uri() . '/assets/js/admin/lsx-admin.js', array( 'jquery' ), LSX_VERSION, true );
40
+     }
41 41
 
42 42
 endif;
43 43
 
@@ -45,84 +45,84 @@  discard block
 block discarded – undo
45 45
 
46 46
 if ( ! function_exists( 'lsx_scripts_add_styles' ) ) :
47 47
 
48
-	/**
49
-	 * Enqueue styles.
50
-	 *
51
-	 * @package    lsx
52
-	 * @subpackage scripts
53
-	 */
54
-	function lsx_scripts_add_styles() {
55
-		wp_enqueue_style( 'lsx_fonts', get_template_directory_uri() . '/assets/css/lsx-fonts.css', array(), LSX_VERSION );
48
+     /**
49
+      * Enqueue styles.
50
+      *
51
+      * @package    lsx
52
+      * @subpackage scripts
53
+      */
54
+     function lsx_scripts_add_styles() {
55
+          wp_enqueue_style( 'lsx_fonts', get_template_directory_uri() . '/assets/css/lsx-fonts.css', array(), LSX_VERSION );
56 56
 
57
-		wp_register_style( 'fontawesome', get_template_directory_uri() . '/assets/css/vendor/font-awesome.css', array(), LSX_VERSION );
58
-		wp_style_add_data( 'fontawesome', 'rtl', 'replace' );
57
+          wp_register_style( 'fontawesome', get_template_directory_uri() . '/assets/css/vendor/font-awesome.css', array(), LSX_VERSION );
58
+          wp_style_add_data( 'fontawesome', 'rtl', 'replace' );
59 59
 
60
-		wp_register_style( 'bootstrap', get_template_directory_uri() . '/assets/css/vendor/bootstrap.css', array(), LSX_VERSION );
61
-		wp_style_add_data( 'bootstrap', 'rtl', 'replace' );
60
+          wp_register_style( 'bootstrap', get_template_directory_uri() . '/assets/css/vendor/bootstrap.css', array(), LSX_VERSION );
61
+          wp_style_add_data( 'bootstrap', 'rtl', 'replace' );
62 62
 
63
-		wp_enqueue_style( 'lsx_main', get_template_directory_uri() . '/assets/css/lsx.css', array( 'lsx_fonts', 'fontawesome', 'bootstrap'/*, 'slick'*/ ), LSX_VERSION );
64
-		wp_enqueue_style( 'lsx_gutenberg', get_template_directory_uri() . '/assets/css/gutenberg.css', array( 'lsx_main' ), LSX_VERSION );
63
+          wp_enqueue_style( 'lsx_main', get_template_directory_uri() . '/assets/css/lsx.css', array( 'lsx_fonts', 'fontawesome', 'bootstrap'/*, 'slick'*/ ), LSX_VERSION );
64
+          wp_enqueue_style( 'lsx_gutenberg', get_template_directory_uri() . '/assets/css/gutenberg.css', array( 'lsx_main' ), LSX_VERSION );
65 65
 
66
-		wp_style_add_data( 'lsx_main', 'rtl', 'replace' );
67
-	}
66
+          wp_style_add_data( 'lsx_main', 'rtl', 'replace' );
67
+     }
68 68
 
69 69
 endif;
70 70
 
71 71
 if ( ! function_exists( 'lsx_scripts_add_scripts' ) ) :
72 72
 
73
-	/**
74
-	 * Enqueue scripts.
75
-	 *
76
-	 * @package    lsx
77
-	 * @subpackage scripts
78
-	 */
79
-	function lsx_scripts_add_scripts() {
80
-		if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
81
-			wp_enqueue_script( 'comment-reply' );
82
-		}
83
-
84
-		wp_enqueue_script( 'platform', get_template_directory_uri() . '/assets/js/vendor/platform.min.js', array(), LSX_VERSION, true );
85
-		wp_enqueue_script( 'bootstrap', get_template_directory_uri() . '/assets/js/vendor/bootstrap.min.js', array( 'jquery' ), LSX_VERSION, true );
86
-
87
-		wp_enqueue_script( 'imagesLoaded', get_template_directory_uri() . '/assets/js/vendor/imagesloaded.pkgd.min.js', array( 'masonry' ), LSX_VERSION, true );
88
-		wp_enqueue_script( 'scrolltofixed', get_template_directory_uri() . '/assets/js/vendor/jquery-scrolltofixed-min.js', array( 'jquery' ), LSX_VERSION, true );
89
-		wp_enqueue_script( 'slick', get_template_directory_uri() . '/assets/js/vendor/slick.min.js', array( 'jquery' ), LSX_VERSION, true );
90
-		wp_enqueue_script( 'slick-lightbox', get_template_directory_uri() . '/assets/js/vendor/slick-lightbox.min.js', array( 'jquery', 'slick' ), LSX_VERSION, true );
91
-		wp_enqueue_script( 'picturefill', get_template_directory_uri() . '/assets/js/vendor/picturefill.min.js', array(), LSX_VERSION, true );
92
-
93
-		if ( defined( 'SCRIPT_DEBUG' ) ) {
94
-			$prefix = 'src/';
95
-			$suffix = '';
96
-		} else {
97
-			$prefix = '';
98
-			$suffix = '.min';
99
-		}
100
-		wp_enqueue_script( 'lsx_script', get_template_directory_uri() . '/assets/js/' . $prefix . 'lsx' . $suffix . '.js', array( 'jquery', 'platform', 'bootstrap', 'masonry', 'imagesLoaded', 'scrolltofixed', 'slick', 'slick-lightbox', 'picturefill' ), LSX_VERSION, true );
101
-
102
-		$param_array = array(
103
-			'columns'            => apply_filters( 'lsx_archive_column_number', 3 ),
104
-			'stickyMenuSelector' => apply_filters( 'lsx_sticky_menu_selector', 'header.navbar' ),
105
-		);
106
-
107
-		wp_localize_script( 'lsx_script', 'lsx_params', $param_array );
108
-	}
73
+     /**
74
+      * Enqueue scripts.
75
+      *
76
+      * @package    lsx
77
+      * @subpackage scripts
78
+      */
79
+     function lsx_scripts_add_scripts() {
80
+          if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
81
+               wp_enqueue_script( 'comment-reply' );
82
+          }
83
+
84
+          wp_enqueue_script( 'platform', get_template_directory_uri() . '/assets/js/vendor/platform.min.js', array(), LSX_VERSION, true );
85
+          wp_enqueue_script( 'bootstrap', get_template_directory_uri() . '/assets/js/vendor/bootstrap.min.js', array( 'jquery' ), LSX_VERSION, true );
86
+
87
+          wp_enqueue_script( 'imagesLoaded', get_template_directory_uri() . '/assets/js/vendor/imagesloaded.pkgd.min.js', array( 'masonry' ), LSX_VERSION, true );
88
+          wp_enqueue_script( 'scrolltofixed', get_template_directory_uri() . '/assets/js/vendor/jquery-scrolltofixed-min.js', array( 'jquery' ), LSX_VERSION, true );
89
+          wp_enqueue_script( 'slick', get_template_directory_uri() . '/assets/js/vendor/slick.min.js', array( 'jquery' ), LSX_VERSION, true );
90
+          wp_enqueue_script( 'slick-lightbox', get_template_directory_uri() . '/assets/js/vendor/slick-lightbox.min.js', array( 'jquery', 'slick' ), LSX_VERSION, true );
91
+          wp_enqueue_script( 'picturefill', get_template_directory_uri() . '/assets/js/vendor/picturefill.min.js', array(), LSX_VERSION, true );
92
+
93
+          if ( defined( 'SCRIPT_DEBUG' ) ) {
94
+               $prefix = 'src/';
95
+               $suffix = '';
96
+          } else {
97
+               $prefix = '';
98
+               $suffix = '.min';
99
+          }
100
+          wp_enqueue_script( 'lsx_script', get_template_directory_uri() . '/assets/js/' . $prefix . 'lsx' . $suffix . '.js', array( 'jquery', 'platform', 'bootstrap', 'masonry', 'imagesLoaded', 'scrolltofixed', 'slick', 'slick-lightbox', 'picturefill' ), LSX_VERSION, true );
101
+
102
+          $param_array = array(
103
+               'columns'            => apply_filters( 'lsx_archive_column_number', 3 ),
104
+               'stickyMenuSelector' => apply_filters( 'lsx_sticky_menu_selector', 'header.navbar' ),
105
+          );
106
+
107
+          wp_localize_script( 'lsx_script', 'lsx_params', $param_array );
108
+     }
109 109
 
110 110
 endif;
111 111
 
112 112
 if ( ! function_exists( 'lsx_scripts_child_theme' ) ) :
113 113
 
114
-	/**
115
-	 * Enqueue scripts and styles (for child theme).
116
-	 *
117
-	 * @package    lsx
118
-	 * @subpackage scripts
119
-	 */
120
-	function lsx_scripts_child_theme() {
121
-		if ( is_child_theme() && file_exists( get_stylesheet_directory() . '/assets/css/custom.css' ) ) {
122
-			wp_enqueue_style( 'child-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', array( 'lsx_main' ), LSX_VERSION );
123
-			wp_style_add_data( 'child-css', 'rtl', 'replace' );
124
-		}
125
-	}
114
+     /**
115
+      * Enqueue scripts and styles (for child theme).
116
+      *
117
+      * @package    lsx
118
+      * @subpackage scripts
119
+      */
120
+     function lsx_scripts_child_theme() {
121
+          if ( is_child_theme() && file_exists( get_stylesheet_directory() . '/assets/css/custom.css' ) ) {
122
+               wp_enqueue_style( 'child-css', get_stylesheet_directory_uri() . '/assets/css/custom.css', array( 'lsx_main' ), LSX_VERSION );
123
+               wp_style_add_data( 'child-css', 'rtl', 'replace' );
124
+          }
125
+     }
126 126
 
127 127
 endif;
128 128
 
Please login to merge, or discard this patch.
page-templates/template-cover.php 1 patch
Indentation   +11 added lines, -11 removed lines patch added patch discarded remove patch
@@ -24,9 +24,9 @@  discard block
 block discarded – undo
24 24
 		<?php if ( have_posts() ) : ?>
25 25
 
26 26
 			<?php
27
-			while ( have_posts() ) :
28
-				the_post();
29
-				?>
27
+               while ( have_posts() ) :
28
+                    the_post();
29
+                    ?>
30 30
 
31 31
 				<?php get_template_part( 'partials/content', 'page-cover' ); ?>
32 32
 
@@ -41,15 +41,15 @@  discard block
 block discarded – undo
41 41
 	<?php lsx_content_after(); ?>
42 42
 
43 43
 	<?php
44
-	if ( is_singular( 'post' ) ) {
45
-		lsx_post_nav();
46
-	}
47
-	?>
44
+     if ( is_singular( 'post' ) ) {
45
+          lsx_post_nav();
46
+     }
47
+     ?>
48 48
 	<?php
49
-	if ( comments_open() ) {
50
-		comments_template();
51
-	}
52
-	?>
49
+     if ( comments_open() ) {
50
+          comments_template();
51
+     }
52
+     ?>
53 53
 
54 54
 </div><!-- #primary -->
55 55
 
Please login to merge, or discard this patch.