Passed
Push — dependabot/composer/wpackagist... ( 95465b )
by
unknown
25:51 queued 19:32
created
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.
lib/theme-support.php 1 patch
Indentation   +138 added lines, -138 removed lines patch added patch discarded remove patch
@@ -7,13 +7,13 @@  discard block
 block discarded – undo
7 7
  */
8 8
 function editor_styles() {
9 9
 
10
-	// Enqueue  shared editor styles.
11
-	add_editor_style(
12
-		'/assets/css/admin/gutenberg-admin.css'
13
-	);
14
-	add_editor_style(
15
-		'/assets/css/yoast/yoast.css'
16
-	);
10
+     // Enqueue  shared editor styles.
11
+     add_editor_style(
12
+          '/assets/css/admin/gutenberg-admin.css'
13
+     );
14
+     add_editor_style(
15
+          '/assets/css/yoast/yoast.css'
16
+     );
17 17
 
18 18
 }
19 19
 add_action( 'admin_init', 'editor_styles' );
@@ -25,138 +25,138 @@  discard block
 block discarded – undo
25 25
  */
26 26
 
27 27
 if ( ! function_exists( 'theme_support' ) ) :
28
-	/**
29
-	 * Add theme support functions.
30
-	 *
31
-	 * @return void
32
-	 */
33
-	function theme_support() {
34
-		// Add support for editor styles.
35
-		add_theme_support( 'editor-styles' );
36
-		// Add support for full and wide align images.
37
-		add_theme_support( 'align-wide' );
38
-		// Add support for styling blocks.
39
-		add_theme_support( 'wp-block-styles' );
40
-		// Add support for responsive embedded content.
41
-		add_theme_support( 'responsive-embeds' );
42
-		// Add support for Custom Line Heights.
43
-		add_theme_support( 'custom-line-height' );
44
-		// Add support for Custom Units.
45
-		add_theme_support( 'custom-units' );
46
-		// Add support for experimental link colors.
47
-		add_theme_support( 'experimental-link-color' );
48
-		// Add custom editor font sizes.
49
-		add_theme_support(
50
-			'editor-font-sizes',
51
-			array(
52
-				array(
53
-					'name'      => esc_html_x( 'Small', 'font size option label', 'lsx' ),
54
-					'shortName' => esc_html_x( 'S', 'abbreviation of the font size option label', 'lsx' ),
55
-					'size'      => 13,
56
-					'slug'      => 'small',
57
-				),
58
-				array(
59
-					'name'      => esc_html_x( 'Normal', 'font size option label', 'lsx' ),
60
-					'shortName' => esc_html_x( 'N', 'abbreviation of the font size option label', 'lsx' ),
61
-					'size'      => 15,
62
-					'slug'      => 'normal',
63
-				),
64
-				array(
65
-					'name'      => esc_html_x( 'Medium', 'font size option label', 'lsx' ),
66
-					'shortName' => esc_html_x( 'M', 'abbreviation of the font size option label', 'lsx' ),
67
-					'size'      => 22,
68
-					'slug'      => 'medium',
69
-				),
70
-				array(
71
-					'name'      => esc_html_x( 'Large', 'font size option label', 'lsx' ),
72
-					'shortName' => esc_html_x( 'L', 'abbreviation of the font size option label', 'lsx' ),
73
-					'size'      => 30,
74
-					'slug'      => 'large',
75
-				),
76
-				array(
77
-					'name'      => esc_html_x( 'Huge', 'font size option label', 'lsx' ),
78
-					'shortName' => esc_html_x( 'XL', 'abbreviation of the font size option label', 'lsx' ),
79
-					'size'      => 40,
80
-					'slug'      => 'huge',
81
-				),
82
-			)
83
-		);
28
+     /**
29
+      * Add theme support functions.
30
+      *
31
+      * @return void
32
+      */
33
+     function theme_support() {
34
+          // Add support for editor styles.
35
+          add_theme_support( 'editor-styles' );
36
+          // Add support for full and wide align images.
37
+          add_theme_support( 'align-wide' );
38
+          // Add support for styling blocks.
39
+          add_theme_support( 'wp-block-styles' );
40
+          // Add support for responsive embedded content.
41
+          add_theme_support( 'responsive-embeds' );
42
+          // Add support for Custom Line Heights.
43
+          add_theme_support( 'custom-line-height' );
44
+          // Add support for Custom Units.
45
+          add_theme_support( 'custom-units' );
46
+          // Add support for experimental link colors.
47
+          add_theme_support( 'experimental-link-color' );
48
+          // Add custom editor font sizes.
49
+          add_theme_support(
50
+               'editor-font-sizes',
51
+               array(
52
+                    array(
53
+                         'name'      => esc_html_x( 'Small', 'font size option label', 'lsx' ),
54
+                         'shortName' => esc_html_x( 'S', 'abbreviation of the font size option label', 'lsx' ),
55
+                         'size'      => 13,
56
+                         'slug'      => 'small',
57
+                    ),
58
+                    array(
59
+                         'name'      => esc_html_x( 'Normal', 'font size option label', 'lsx' ),
60
+                         'shortName' => esc_html_x( 'N', 'abbreviation of the font size option label', 'lsx' ),
61
+                         'size'      => 15,
62
+                         'slug'      => 'normal',
63
+                    ),
64
+                    array(
65
+                         'name'      => esc_html_x( 'Medium', 'font size option label', 'lsx' ),
66
+                         'shortName' => esc_html_x( 'M', 'abbreviation of the font size option label', 'lsx' ),
67
+                         'size'      => 22,
68
+                         'slug'      => 'medium',
69
+                    ),
70
+                    array(
71
+                         'name'      => esc_html_x( 'Large', 'font size option label', 'lsx' ),
72
+                         'shortName' => esc_html_x( 'L', 'abbreviation of the font size option label', 'lsx' ),
73
+                         'size'      => 30,
74
+                         'slug'      => 'large',
75
+                    ),
76
+                    array(
77
+                         'name'      => esc_html_x( 'Huge', 'font size option label', 'lsx' ),
78
+                         'shortName' => esc_html_x( 'XL', 'abbreviation of the font size option label', 'lsx' ),
79
+                         'size'      => 40,
80
+                         'slug'      => 'huge',
81
+                    ),
82
+               )
83
+          );
84 84
 
85
-		// Add support for custom color scheme.
86
-		add_theme_support( 'editor-color-palette', array(
87
-			array(
88
-				'name'  => __( 'Strong Blue', 'lsx' ),
89
-				'slug'  => 'strong-blue',
90
-				'color' => '#27639e',
91
-			),
92
-			array(
93
-				'name'  => __( 'Lighter Blue', 'lsx' ),
94
-				'slug'  => 'lighter-blue',
95
-				'color' => '#428bca',
96
-			),
97
-			array(
98
-				'name'  => __( 'Yellow', 'lsx' ),
99
-				'slug'  => 'light-yellow',
100
-				'color' => '#f7ae00',
101
-			),
102
-			array(
103
-				'name'  => __( 'Dark Yellow', 'lsx' ),
104
-				'slug'  => 'dark-yellow',
105
-				'color' => '#ab7800',
106
-			),
107
-			array(
108
-				'name'  => __( 'Green', 'lsx' ),
109
-				'slug'  => 'light-green',
110
-				'color' => '#6BA913',
111
-			),
112
-			array(
113
-				'name'  => __( 'Dark Green', 'lsx' ),
114
-				'slug'  => 'dark-green',
115
-				'color' => '#3F640B',
116
-			),
117
-			array(
118
-				'name'  => __( 'White', 'lsx' ),
119
-				'slug'  => 'white',
120
-				'color' => '#ffffff',
121
-			),
122
-			array(
123
-				'name'  => __( 'Black', 'lsx' ),
124
-				'slug'  => 'black',
125
-				'color' => '#000000',
126
-			),
127
-		) );
85
+          // Add support for custom color scheme.
86
+          add_theme_support( 'editor-color-palette', array(
87
+               array(
88
+                    'name'  => __( 'Strong Blue', 'lsx' ),
89
+                    'slug'  => 'strong-blue',
90
+                    'color' => '#27639e',
91
+               ),
92
+               array(
93
+                    'name'  => __( 'Lighter Blue', 'lsx' ),
94
+                    'slug'  => 'lighter-blue',
95
+                    'color' => '#428bca',
96
+               ),
97
+               array(
98
+                    'name'  => __( 'Yellow', 'lsx' ),
99
+                    'slug'  => 'light-yellow',
100
+                    'color' => '#f7ae00',
101
+               ),
102
+               array(
103
+                    'name'  => __( 'Dark Yellow', 'lsx' ),
104
+                    'slug'  => 'dark-yellow',
105
+                    'color' => '#ab7800',
106
+               ),
107
+               array(
108
+                    'name'  => __( 'Green', 'lsx' ),
109
+                    'slug'  => 'light-green',
110
+                    'color' => '#6BA913',
111
+               ),
112
+               array(
113
+                    'name'  => __( 'Dark Green', 'lsx' ),
114
+                    'slug'  => 'dark-green',
115
+                    'color' => '#3F640B',
116
+               ),
117
+               array(
118
+                    'name'  => __( 'White', 'lsx' ),
119
+                    'slug'  => 'white',
120
+                    'color' => '#ffffff',
121
+               ),
122
+               array(
123
+                    'name'  => __( 'Black', 'lsx' ),
124
+                    'slug'  => 'black',
125
+                    'color' => '#000000',
126
+               ),
127
+          ) );
128 128
 
129
-		$primary_color    = 'rgba(39,99,158,1)';
130
-		$secondary_color  = 'rgba(247,174,0,1)';
131
-		$tertiary_color   = 'rgba(107,169,19,1)';
132
-		$background_color = 'rgba(249,249,249,1)';
129
+          $primary_color    = 'rgba(39,99,158,1)';
130
+          $secondary_color  = 'rgba(247,174,0,1)';
131
+          $tertiary_color   = 'rgba(107,169,19,1)';
132
+          $background_color = 'rgba(249,249,249,1)';
133 133
 
134
-		add_theme_support(
135
-			'editor-gradient-presets',
136
-			array(
137
-				array(
138
-					'name'     => __( 'Primary to Secondary', 'lsx' ),
139
-					'gradient' => 'linear-gradient(135deg, ' . esc_attr( $primary_color ) . ' 0%, ' . esc_attr( $secondary_color ) . ' 100%)',
140
-					'slug'     => 'primary-to-secondary',
141
-				),
142
-				array(
143
-					'name'     => __( 'Primary to Tertiary', 'lsx' ),
144
-					'gradient' => 'linear-gradient(135deg, ' . esc_attr( $primary_color ) . ' 0%, ' . esc_attr( $tertiary_color ) . ' 100%)',
145
-					'slug'     => 'primary-to-tertiary',
146
-				),
147
-				array(
148
-					'name'     => __( 'Primary to Background', 'lsx' ),
149
-					'gradient' => 'linear-gradient(135deg, ' . esc_attr( $primary_color ) . ' 0%, ' . esc_attr( $background_color ) . ' 100%)',
150
-					'slug'     => 'primary-to-background',
151
-				),
152
-				array(
153
-					'name'     => __( 'Secondary to Tertiary', 'lsx' ),
154
-					'gradient' => 'linear-gradient(135deg, ' . esc_attr( $secondary_color ) . ' 0%, ' . esc_attr( $tertiary_color ) . ' 100%)',
155
-					'slug'     => 'secondary-to-tertiary',
156
-				),
157
-			)
158
-		);
159
-	}
134
+          add_theme_support(
135
+               'editor-gradient-presets',
136
+               array(
137
+                    array(
138
+                         'name'     => __( 'Primary to Secondary', 'lsx' ),
139
+                         'gradient' => 'linear-gradient(135deg, ' . esc_attr( $primary_color ) . ' 0%, ' . esc_attr( $secondary_color ) . ' 100%)',
140
+                         'slug'     => 'primary-to-secondary',
141
+                    ),
142
+                    array(
143
+                         'name'     => __( 'Primary to Tertiary', 'lsx' ),
144
+                         'gradient' => 'linear-gradient(135deg, ' . esc_attr( $primary_color ) . ' 0%, ' . esc_attr( $tertiary_color ) . ' 100%)',
145
+                         'slug'     => 'primary-to-tertiary',
146
+                    ),
147
+                    array(
148
+                         'name'     => __( 'Primary to Background', 'lsx' ),
149
+                         'gradient' => 'linear-gradient(135deg, ' . esc_attr( $primary_color ) . ' 0%, ' . esc_attr( $background_color ) . ' 100%)',
150
+                         'slug'     => 'primary-to-background',
151
+                    ),
152
+                    array(
153
+                         'name'     => __( 'Secondary to Tertiary', 'lsx' ),
154
+                         'gradient' => 'linear-gradient(135deg, ' . esc_attr( $secondary_color ) . ' 0%, ' . esc_attr( $tertiary_color ) . ' 100%)',
155
+                         'slug'     => 'secondary-to-tertiary',
156
+                    ),
157
+               )
158
+          );
159
+     }
160 160
 endif;
161 161
 add_action( 'after_setup_theme', 'theme_support' );
162 162
 
@@ -167,7 +167,7 @@  discard block
 block discarded – undo
167 167
  * @return void
168 168
  */
169 169
 function lsx_wpforms_match_button_block( $form_data ) {
170
-	$form_data['settings']['submit_class'] .= ' btn';
171
-	return $form_data;
170
+     $form_data['settings']['submit_class'] .= ' btn';
171
+     return $form_data;
172 172
 }
173 173
 add_filter( 'wpforms_frontend_form_data', 'lsx_wpforms_match_button_block' );
Please login to merge, or discard this patch.
includes/template-tags.php 1 patch
Indentation   +623 added lines, -623 removed lines patch added patch discarded remove patch
@@ -7,50 +7,50 @@  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_breadcrumbs' ) ) :
14 14
 
15
-	/**
16
-	 * Breadcrumbs.
17
-	 *
18
-	 * @package    lsx
19
-	 * @subpackage template-tags
20
-	 */
21
-	function lsx_breadcrumbs() {
22
-		if ( ! function_exists( 'yoast_breadcrumb' ) && ! function_exists( 'woocommerce_breadcrumb' ) ) {
23
-			return null;
24
-		}
25
-
26
-		$show_on_front = get_option( 'show_on_front' );
27
-
28
-		if ( ( 'posts' === $show_on_front && is_home() ) || ( 'page' === $show_on_front && is_front_page() ) ) {
29
-			return;
30
-		}
31
-
32
-		if ( function_exists( 'woocommerce_breadcrumb' ) ) {
33
-			ob_start();
34
-
35
-			woocommerce_breadcrumb(
36
-				array(
37
-					'wrap_before' => '<div class="breadcrumbs-container breadcrumbs-woocommerce"><div class="container"><div class="row"><div class="col-xs-12">',
38
-					'wrap_after'  => '</div></div></div></div>',
39
-					'before'      => '<span>',
40
-					'after'       => '</span>',
41
-				)
42
-			);
43
-
44
-			$output = ob_get_clean();
45
-		} elseif ( function_exists( 'yoast_breadcrumb' ) ) {
46
-			$output = yoast_breadcrumb( null, null, false );
47
-			$output = '<div class="breadcrumbs-container breadcrumbs-yoast"><div class="container"><div class="row"><div class="col-xs-12">' . $output . '</div></div></div></div>';
48
-		}
49
-
50
-		$output = apply_filters( 'lsx_breadcrumbs', $output );
51
-
52
-		echo wp_kses_post( $output );
53
-	}
15
+     /**
16
+      * Breadcrumbs.
17
+      *
18
+      * @package    lsx
19
+      * @subpackage template-tags
20
+      */
21
+     function lsx_breadcrumbs() {
22
+          if ( ! function_exists( 'yoast_breadcrumb' ) && ! function_exists( 'woocommerce_breadcrumb' ) ) {
23
+               return null;
24
+          }
25
+
26
+          $show_on_front = get_option( 'show_on_front' );
27
+
28
+          if ( ( 'posts' === $show_on_front && is_home() ) || ( 'page' === $show_on_front && is_front_page() ) ) {
29
+               return;
30
+          }
31
+
32
+          if ( function_exists( 'woocommerce_breadcrumb' ) ) {
33
+               ob_start();
34
+
35
+               woocommerce_breadcrumb(
36
+                    array(
37
+                         'wrap_before' => '<div class="breadcrumbs-container breadcrumbs-woocommerce"><div class="container"><div class="row"><div class="col-xs-12">',
38
+                         'wrap_after'  => '</div></div></div></div>',
39
+                         'before'      => '<span>',
40
+                         'after'       => '</span>',
41
+                    )
42
+               );
43
+
44
+               $output = ob_get_clean();
45
+          } elseif ( function_exists( 'yoast_breadcrumb' ) ) {
46
+               $output = yoast_breadcrumb( null, null, false );
47
+               $output = '<div class="breadcrumbs-container breadcrumbs-yoast"><div class="container"><div class="row"><div class="col-xs-12">' . $output . '</div></div></div></div>';
48
+          }
49
+
50
+          $output = apply_filters( 'lsx_breadcrumbs', $output );
51
+
52
+          echo wp_kses_post( $output );
53
+     }
54 54
 
55 55
 endif;
56 56
 
@@ -60,16 +60,16 @@  discard block
 block discarded – undo
60 60
 
61 61
 if ( ! function_exists( 'lsx_breadcrumbs_wpseo_seperator_filter' ) ) :
62 62
 
63
-	/**
64
-	 * Replaces the seperator.
65
-	 *
66
-	 * @package    lsx
67
-	 * @subpackage template-tags
68
-	 */
69
-	function lsx_breadcrumbs_wpseo_seperator_filter( $seperator ) {
70
-		$seperator = '<i class="fa fa-angle-right" aria-hidden="true"></i>';
71
-		return $seperator;
72
-	}
63
+     /**
64
+      * Replaces the seperator.
65
+      *
66
+      * @package    lsx
67
+      * @subpackage template-tags
68
+      */
69
+     function lsx_breadcrumbs_wpseo_seperator_filter( $seperator ) {
70
+          $seperator = '<i class="fa fa-angle-right" aria-hidden="true"></i>';
71
+          return $seperator;
72
+     }
73 73
 
74 74
 endif;
75 75
 
@@ -77,16 +77,16 @@  discard block
 block discarded – undo
77 77
 
78 78
 if ( ! function_exists( 'lsx_breadcrumbs_woocommerce_seperator_filter' ) ) :
79 79
 
80
-	/**
81
-	 * Replaces the seperator.
82
-	 *
83
-	 * @package    lsx
84
-	 * @subpackage template-tags
85
-	 */
86
-	function lsx_breadcrumbs_woocommerce_seperator_filter( $defaults ) {
87
-		$defaults['delimiter'] = '<i class="fa fa-angle-right" aria-hidden="true"></i>';
88
-		return $defaults;
89
-	}
80
+     /**
81
+      * Replaces the seperator.
82
+      *
83
+      * @package    lsx
84
+      * @subpackage template-tags
85
+      */
86
+     function lsx_breadcrumbs_woocommerce_seperator_filter( $defaults ) {
87
+          $defaults['delimiter'] = '<i class="fa fa-angle-right" aria-hidden="true"></i>';
88
+          return $defaults;
89
+     }
90 90
 
91 91
 endif;
92 92
 
@@ -94,33 +94,33 @@  discard block
 block discarded – undo
94 94
 
95 95
 if ( ! function_exists( 'lsx_site_title' ) ) :
96 96
 
97
-	/**
98
-	 * Displays logo when applicable.
99
-	 *
100
-	 * @package    lsx
101
-	 * @subpackage template-tags
102
-	 */
103
-	function lsx_site_title() {
104
-		?>
97
+     /**
98
+      * Displays logo when applicable.
99
+      *
100
+      * @package    lsx
101
+      * @subpackage template-tags
102
+      */
103
+     function lsx_site_title() {
104
+          ?>
105 105
 			<div class="site-branding">
106 106
 				<h1 class="site-title"><a title="<?php bloginfo( 'name' ); ?>" href="<?php echo esc_url( home_url( '/' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a></h1>
107 107
 				<p class="site-description"><?php bloginfo( 'description' ); ?></p>
108 108
 			</div>
109 109
 		<?php
110
-	}
110
+     }
111 111
 
112 112
 endif;
113 113
 
114 114
 if ( ! function_exists( 'lsx_post_meta_list_top' ) ) :
115 115
 
116
-	/**
117
-	 * Add customizable post meta (post list - above title).
118
-	 *
119
-	 * @package    lsx
120
-	 * @subpackage template-tags
121
-	 */
122
-	function lsx_post_meta_list_top() {
123
-		?>
116
+     /**
117
+      * Add customizable post meta (post list - above title).
118
+      *
119
+      * @package    lsx
120
+      * @subpackage template-tags
121
+      */
122
+     function lsx_post_meta_list_top() {
123
+          ?>
124 124
 		<div class="post-meta post-meta-top">
125 125
 			<?php //lsx_post_meta_avatar(); ?>
126 126
 			<?php lsx_post_meta_author(); ?>
@@ -128,26 +128,26 @@  discard block
 block discarded – undo
128 128
 			<div class="clearfix"></div>
129 129
 		</div>
130 130
 		<?php
131
-	}
131
+     }
132 132
 
133 133
 endif;
134 134
 
135 135
 if ( ! function_exists( 'lsx_post_meta_single_top' ) ) :
136 136
 
137
-	/**
138
-	 * Add customizable post meta (single post - above title).
139
-	 *
140
-	 * @package    lsx
141
-	 * @subpackage template-tags
142
-	 */
143
-	function lsx_post_meta_single_top() {
144
-		?>
137
+     /**
138
+      * Add customizable post meta (single post - above title).
139
+      *
140
+      * @package    lsx
141
+      * @subpackage template-tags
142
+      */
143
+     function lsx_post_meta_single_top() {
144
+          ?>
145 145
 		<div class="post-meta post-meta-top">
146 146
 			<?php lsx_post_meta_top(); ?>
147 147
 			<div class="clearfix"></div>
148 148
 		</div>
149 149
 		<?php
150
-	}
150
+     }
151 151
 
152 152
 endif;
153 153
 
@@ -158,148 +158,148 @@  discard block
 block discarded – undo
158 158
 
159 159
 if ( ! function_exists( 'lsx_post_meta_single_bottom' ) ) :
160 160
 
161
-	/**
162
-	 * Add customizable post meta (single post - below title).
163
-	 *
164
-	 * @package    lsx
165
-	 * @subpackage template-tags
166
-	 */
167
-	function lsx_post_meta_single_bottom() {
168
-		?>
161
+     /**
162
+      * Add customizable post meta (single post - below title).
163
+      *
164
+      * @package    lsx
165
+      * @subpackage template-tags
166
+      */
167
+     function lsx_post_meta_single_bottom() {
168
+          ?>
169 169
 		<div class="post-meta">
170 170
 			<?php lsx_post_meta_category(); ?>
171 171
 			<div class="clearfix"></div>
172 172
 		</div>
173 173
 		<?php
174
-	}
174
+     }
175 175
 
176 176
 endif;
177 177
 
178 178
 if ( ! function_exists( 'lsx_post_meta_avatar' ) ) :
179 179
 
180
-	/**
181
-	 * Add customizable post meta: author's avatar.
182
-	 *
183
-	 * @package    lsx
184
-	 * @subpackage template-tags
185
-	 */
186
-	function lsx_post_meta_avatar() {
187
-		$author        = get_the_author();
188
-		$author_id     = get_the_author_meta( 'ID' );
189
-		$author_avatar = get_avatar( $author_id, 80 );
190
-		$author_url    = get_author_posts_url( $author_id );
191
-
192
-		printf(
193
-			'<a href="%1$s" class="post-meta-avatar">%2$s</a>',
194
-			esc_url( $author_url ),
195
-			wp_kses_post( $author_avatar )
196
-		);
197
-	}
180
+     /**
181
+      * Add customizable post meta: author's avatar.
182
+      *
183
+      * @package    lsx
184
+      * @subpackage template-tags
185
+      */
186
+     function lsx_post_meta_avatar() {
187
+          $author        = get_the_author();
188
+          $author_id     = get_the_author_meta( 'ID' );
189
+          $author_avatar = get_avatar( $author_id, 80 );
190
+          $author_url    = get_author_posts_url( $author_id );
191
+
192
+          printf(
193
+               '<a href="%1$s" class="post-meta-avatar">%2$s</a>',
194
+               esc_url( $author_url ),
195
+               wp_kses_post( $author_avatar )
196
+          );
197
+     }
198 198
 
199 199
 endif;
200 200
 
201 201
 if ( ! function_exists( 'lsx_post_meta_date' ) ) :
202 202
 
203
-	/**
204
-	 * Add customizable post meta: post date.
205
-	 *
206
-	 * @package    lsx
207
-	 * @subpackage template-tags
208
-	 */
209
-	function lsx_post_meta_date() {
210
-		$time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
211
-
212
-		$time_string = sprintf(
213
-			$time_string,
214
-			esc_attr( get_the_date( 'c' ) ),
215
-			get_the_date(),
216
-			esc_attr( get_the_modified_date( 'c' ) ),
217
-			get_the_modified_date()
218
-		);
219
-
220
-		printf(
221
-			'<span class="post-meta-time updated"><a href="%1$s" rel="bookmark">%2$s</a></span>',
222
-			esc_url( get_permalink() ),
223
-			wp_kses_post( $time_string )
224
-		);
225
-	}
203
+     /**
204
+      * Add customizable post meta: post date.
205
+      *
206
+      * @package    lsx
207
+      * @subpackage template-tags
208
+      */
209
+     function lsx_post_meta_date() {
210
+          $time_string = '<time class="entry-date published updated" datetime="%1$s">%2$s</time>';
211
+
212
+          $time_string = sprintf(
213
+               $time_string,
214
+               esc_attr( get_the_date( 'c' ) ),
215
+               get_the_date(),
216
+               esc_attr( get_the_modified_date( 'c' ) ),
217
+               get_the_modified_date()
218
+          );
219
+
220
+          printf(
221
+               '<span class="post-meta-time updated"><a href="%1$s" rel="bookmark">%2$s</a></span>',
222
+               esc_url( get_permalink() ),
223
+               wp_kses_post( $time_string )
224
+          );
225
+     }
226 226
 
227 227
 endif;
228 228
 
229 229
 if ( ! function_exists( 'lsx_post_meta_author' ) ) :
230 230
 
231
-	/**
232
-	 * Add customizable post meta: post author.
233
-	 *
234
-	 * @package    lsx
235
-	 * @subpackage template-tags
236
-	 */
237
-	function lsx_post_meta_author() {
238
-		$author     = get_the_author();
239
-		$author_url = get_author_posts_url( get_the_author_meta( 'ID' ) );
240
-
241
-		if ( empty( $author ) ) {
242
-			global $post;
243
-
244
-			$author     = get_user_by( 'ID', $post->post_author );
245
-			$author     = $author->display_name;
246
-			$author_url = get_author_posts_url( $post->post_author );
247
-		}
248
-
249
-		printf(
250
-			'<span class="vcard post-meta-author"><span>%1$s</span> <span class="fn"><a href="%2$s">%3$s</a>, </span></span>',
251
-			esc_html__( 'By ', 'lsx' ),
252
-			esc_url( $author_url ),
253
-			esc_html( $author )
254
-		);
255
-	}
231
+     /**
232
+      * Add customizable post meta: post author.
233
+      *
234
+      * @package    lsx
235
+      * @subpackage template-tags
236
+      */
237
+     function lsx_post_meta_author() {
238
+          $author     = get_the_author();
239
+          $author_url = get_author_posts_url( get_the_author_meta( 'ID' ) );
240
+
241
+          if ( empty( $author ) ) {
242
+               global $post;
243
+
244
+               $author     = get_user_by( 'ID', $post->post_author );
245
+               $author     = $author->display_name;
246
+               $author_url = get_author_posts_url( $post->post_author );
247
+          }
248
+
249
+          printf(
250
+               '<span class="vcard post-meta-author"><span>%1$s</span> <span class="fn"><a href="%2$s">%3$s</a>, </span></span>',
251
+               esc_html__( 'By ', 'lsx' ),
252
+               esc_url( $author_url ),
253
+               esc_html( $author )
254
+          );
255
+     }
256 256
 
257 257
 endif;
258 258
 
259 259
 if ( ! function_exists( 'lsx_post_meta_category' ) ) :
260 260
 
261
-	/**
262
-	 * Add customizable post meta: post category(ies).
263
-	 *
264
-	 * @package    lsx
265
-	 * @subpackage template-tags
266
-	 */
267
-	function lsx_post_meta_category() {
268
-		$post_categories = wp_get_post_categories( get_the_ID() );
269
-		$cats            = array();
270
-
271
-		foreach ( $post_categories as $c ) {
272
-			$cat = get_category( $c );
273
-			/* Translators: %s: category name */
274
-			$cats[] = '<a href="' . esc_url( get_category_link( $cat->term_id ) ) . '" title="' . sprintf( esc_html__( 'View all posts in %s', 'lsx' ), $cat->name ) . '">' . $cat->name . '</a>';
275
-		}
276
-
277
-		if ( ! empty( $cats ) ) {
278
-			?>
261
+     /**
262
+      * Add customizable post meta: post category(ies).
263
+      *
264
+      * @package    lsx
265
+      * @subpackage template-tags
266
+      */
267
+     function lsx_post_meta_category() {
268
+          $post_categories = wp_get_post_categories( get_the_ID() );
269
+          $cats            = array();
270
+
271
+          foreach ( $post_categories as $c ) {
272
+               $cat = get_category( $c );
273
+               /* Translators: %s: category name */
274
+               $cats[] = '<a href="' . esc_url( get_category_link( $cat->term_id ) ) . '" title="' . sprintf( esc_html__( 'View all posts in %s', 'lsx' ), $cat->name ) . '">' . $cat->name . '</a>';
275
+          }
276
+
277
+          if ( ! empty( $cats ) ) {
278
+               ?>
279 279
 			<span class="post-meta-categories"><span><?php esc_html_e( 'Posted in: ', 'lsx' ); ?></span> <?php echo wp_kses_post( implode( ', ', $cats ) ); ?></span>
280 280
 			<?php
281
-		}
282
-	}
281
+          }
282
+     }
283 283
 
284 284
 endif;
285 285
 
286 286
 if ( ! function_exists( 'lsx_post_tags' ) ) :
287 287
 
288
-	/**
289
-	 * Add customizable post meta: post tag(s).
290
-	 *
291
-	 * @package    lsx
292
-	 * @subpackage template-tags
293
-	 */
294
-	function lsx_post_tags() {
295
-		if ( has_tag() ) :
296
-			?>
288
+     /**
289
+      * Add customizable post meta: post tag(s).
290
+      *
291
+      * @package    lsx
292
+      * @subpackage template-tags
293
+      */
294
+     function lsx_post_tags() {
295
+          if ( has_tag() ) :
296
+               ?>
297 297
 			<div class="post-tags">
298 298
 				<span><?php echo esc_html__( 'Tags: ', 'lsx' ); ?></span><?php echo wp_kses_post( get_the_tag_list( '' ) ); ?>
299 299
 			</div>
300 300
 			<?php
301
-		endif;
302
-	}
301
+          endif;
302
+     }
303 303
 
304 304
 endif;
305 305
 
@@ -307,16 +307,16 @@  discard block
 block discarded – undo
307 307
 
308 308
 if ( ! function_exists( 'lsx_sharing_output' ) ) :
309 309
 
310
-	/**
311
-	 * Display sharing buttons.
312
-	 *
313
-	 * @package    lsx
314
-	 * @subpackage template-tags
315
-	 */
316
-	function lsx_sharing_output() {
317
-		global $lsx_sharing;
318
-		echo wp_kses_post( $lsx_sharing->sharing_buttons() );
319
-	}
310
+     /**
311
+      * Display sharing buttons.
312
+      *
313
+      * @package    lsx
314
+      * @subpackage template-tags
315
+      */
316
+     function lsx_sharing_output() {
317
+          global $lsx_sharing;
318
+          echo wp_kses_post( $lsx_sharing->sharing_buttons() );
319
+     }
320 320
 
321 321
 endif;
322 322
 
@@ -324,107 +324,107 @@  discard block
 block discarded – undo
324 324
 
325 325
 if ( ! function_exists( 'lsx_translate_format_to_fontawesome' ) ) :
326 326
 
327
-	/**
328
-	 * Translate post format to Font Awesome class.
329
-	 *
330
-	 * @package    lsx
331
-	 * @subpackage template-tags
332
-	 */
333
-	function lsx_translate_format_to_fontawesome( $format ) {
334
-		switch ( $format ) {
335
-			case 'image':
336
-				$format = 'camera';
337
-				break;
338
-			case 'video':
339
-				$format = 'play';
340
-				break;
341
-			case 'gallery':
342
-				$format = 'picture-o';
343
-				break;
344
-			case 'audio':
345
-				$format = 'volume-up';
346
-				break;
347
-			case 'link':
348
-				$format = 'link';
349
-				break;
350
-			case 'quote':
351
-				$format = 'quote-right';
352
-				break;
353
-			case 'aside':
354
-				$format = 'circle-o';
355
-				break;
356
-			default:
357
-				$format = 'file-text-o';
358
-				break;
359
-		}
360
-
361
-		return $format;
362
-	}
327
+     /**
328
+      * Translate post format to Font Awesome class.
329
+      *
330
+      * @package    lsx
331
+      * @subpackage template-tags
332
+      */
333
+     function lsx_translate_format_to_fontawesome( $format ) {
334
+          switch ( $format ) {
335
+               case 'image':
336
+                    $format = 'camera';
337
+                    break;
338
+               case 'video':
339
+                    $format = 'play';
340
+                    break;
341
+               case 'gallery':
342
+                    $format = 'picture-o';
343
+                    break;
344
+               case 'audio':
345
+                    $format = 'volume-up';
346
+                    break;
347
+               case 'link':
348
+                    $format = 'link';
349
+                    break;
350
+               case 'quote':
351
+                    $format = 'quote-right';
352
+                    break;
353
+               case 'aside':
354
+                    $format = 'circle-o';
355
+                    break;
356
+               default:
357
+                    $format = 'file-text-o';
358
+                    break;
359
+          }
360
+
361
+          return $format;
362
+     }
363 363
 
364 364
 endif;
365 365
 
366 366
 if ( ! function_exists( 'lsx_paging_nav' ) ) :
367 367
 
368
-	/**
369
-	 * Display navigation to next/previous set of posts when applicable.
370
-	 *
371
-	 * @package    lsx
372
-	 * @subpackage template-tags
373
-	 */
374
-	function lsx_paging_nav() {
375
-		global $wp_query;
376
-
377
-		if ( $wp_query->max_num_pages < 2 ) {
378
-			return;
379
-		}
380
-
381
-		if ( true === apply_filters( 'lsx_paging_nav_disable', false ) ) {
382
-			return true;
383
-		} elseif ( current_theme_supports( 'infinite-scroll' ) && class_exists( 'The_Neverending_Home_Page' ) ) {
384
-			return true;
385
-		} else {
386
-			$html  = '';
387
-			$html .= '<div class="lsx-pagination-wrapper">' . PHP_EOL;
388
-			$html .= '<div class="lsx-breaker"></div>' . PHP_EOL;
389
-			$html .= '<div class="lsx-pagination">' . PHP_EOL;
390
-			$html .= paginate_links(
391
-				array(
392
-					'base'      => str_replace( 999999999, '%#%', esc_url( get_pagenum_link( 999999999 ) ) ),
393
-					'format'    => '?paged=%#%',
394
-					'total'     => $wp_query->max_num_pages,
395
-					'current'   => max( 1, intval( get_query_var( 'paged' ) ) ),
396
-					'prev_text' => '<span class="meta-nav">&larr;</span> ' . esc_html__( 'Previous', 'lsx' ),
397
-					'next_text' => esc_html__( 'Next', 'lsx' ) . ' <span class="meta-nav">&rarr;</span>',
398
-				)
399
-			);
400
-			$html .= '</div>' . PHP_EOL;
401
-			$html .= '</div>' . PHP_EOL;
402
-
403
-			echo wp_kses_post( $html );
404
-		}
405
-	}
368
+     /**
369
+      * Display navigation to next/previous set of posts when applicable.
370
+      *
371
+      * @package    lsx
372
+      * @subpackage template-tags
373
+      */
374
+     function lsx_paging_nav() {
375
+          global $wp_query;
376
+
377
+          if ( $wp_query->max_num_pages < 2 ) {
378
+               return;
379
+          }
380
+
381
+          if ( true === apply_filters( 'lsx_paging_nav_disable', false ) ) {
382
+               return true;
383
+          } elseif ( current_theme_supports( 'infinite-scroll' ) && class_exists( 'The_Neverending_Home_Page' ) ) {
384
+               return true;
385
+          } else {
386
+               $html  = '';
387
+               $html .= '<div class="lsx-pagination-wrapper">' . PHP_EOL;
388
+               $html .= '<div class="lsx-breaker"></div>' . PHP_EOL;
389
+               $html .= '<div class="lsx-pagination">' . PHP_EOL;
390
+               $html .= paginate_links(
391
+                    array(
392
+                         'base'      => str_replace( 999999999, '%#%', esc_url( get_pagenum_link( 999999999 ) ) ),
393
+                         'format'    => '?paged=%#%',
394
+                         'total'     => $wp_query->max_num_pages,
395
+                         'current'   => max( 1, intval( get_query_var( 'paged' ) ) ),
396
+                         'prev_text' => '<span class="meta-nav">&larr;</span> ' . esc_html__( 'Previous', 'lsx' ),
397
+                         'next_text' => esc_html__( 'Next', 'lsx' ) . ' <span class="meta-nav">&rarr;</span>',
398
+                    )
399
+               );
400
+               $html .= '</div>' . PHP_EOL;
401
+               $html .= '</div>' . PHP_EOL;
402
+
403
+               echo wp_kses_post( $html );
404
+          }
405
+     }
406 406
 
407 407
 endif;
408 408
 
409 409
 if ( ! function_exists( 'lsx_post_nav' ) ) :
410 410
 
411
-	/**
412
-	 * Display navigation to next/previous post when applicable.
413
-	 *
414
-	 * @package    lsx
415
-	 * @subpackage template-tags
416
-	 */
417
-	function lsx_post_nav() {
418
-		$previous = ( is_attachment() ) ? get_post( get_post()->post_parent ) : get_adjacent_post( false, '', true );
419
-		$next     = get_adjacent_post( false, '', false );
420
-
421
-		if ( ! $next && ! $previous ) {
422
-			return;
423
-		}
424
-
425
-		$default_size = 'sm';
426
-		$size         = apply_filters( 'lsx_bootstrap_column_size', $default_size );
427
-		?>
411
+     /**
412
+      * Display navigation to next/previous post when applicable.
413
+      *
414
+      * @package    lsx
415
+      * @subpackage template-tags
416
+      */
417
+     function lsx_post_nav() {
418
+          $previous = ( is_attachment() ) ? get_post( get_post()->post_parent ) : get_adjacent_post( false, '', true );
419
+          $next     = get_adjacent_post( false, '', false );
420
+
421
+          if ( ! $next && ! $previous ) {
422
+               return;
423
+          }
424
+
425
+          $default_size = 'sm';
426
+          $size         = apply_filters( 'lsx_bootstrap_column_size', $default_size );
427
+          ?>
428 428
 		<nav class="navigation post-navigation" role="navigation">
429 429
 			<div class="lsx-breaker"></div>
430 430
 			<div class="nav-links pager row">
@@ -437,82 +437,82 @@  discard block
 block discarded – undo
437 437
 			</div><!-- .nav-links -->
438 438
 		</nav><!-- .navigation -->
439 439
 		<?php
440
-	}
440
+     }
441 441
 
442 442
 endif;
443 443
 
444 444
 if ( ! function_exists( 'lsx_cover_custom_logo' ) ) :
445 445
 
446
-	/**
447
-	 * Outputs the Custom Logo on the Cover page if available.
448
-	 *
449
-	 * @package    lsx
450
-	 * @subpackage template-tags
451
-	 */
452
-	function lsx_cover_custom_logo() {
453
-		if ( is_page_template( 'page-templates/template-cover.php' ) ) {
446
+     /**
447
+      * Outputs the Custom Logo on the Cover page if available.
448
+      *
449
+      * @package    lsx
450
+      * @subpackage template-tags
451
+      */
452
+     function lsx_cover_custom_logo() {
453
+          if ( is_page_template( 'page-templates/template-cover.php' ) ) {
454 454
 
455
-			$custom_logo_id = get_theme_mod( 'lsx_cover_template_alt_logo' );
455
+               $custom_logo_id = get_theme_mod( 'lsx_cover_template_alt_logo' );
456 456
 
457
-			if ( $custom_logo_id ) {
457
+               if ( $custom_logo_id ) {
458 458
 
459
-				$site_url   = get_site_url();
460
-				$site_title = get_bloginfo( 'name' );
461
-				$image      = wp_get_attachment_image_src( $custom_logo_id , 'full' );
459
+                    $site_url   = get_site_url();
460
+                    $site_title = get_bloginfo( 'name' );
461
+                    $image      = wp_get_attachment_image_src( $custom_logo_id , 'full' );
462 462
 
463
-				echo '<a href="' . $site_url . '" class="custom-logo-link" rel="home"><img class="custom-logo" src="' . $image[0] . '" width="' . $image[1] . '" height="' . $image[2] . '" loading="eager" alt="' . $site_title . '"></a>';
463
+                    echo '<a href="' . $site_url . '" class="custom-logo-link" rel="home"><img class="custom-logo" src="' . $image[0] . '" width="' . $image[1] . '" height="' . $image[2] . '" loading="eager" alt="' . $site_title . '"></a>';
464 464
 
465
-			} else {
466
-				the_custom_logo();
467
-			}
465
+               } else {
466
+                    the_custom_logo();
467
+               }
468 468
 
469 469
 
470
-		}
471
-	}
470
+          }
471
+     }
472 472
 
473 473
 endif;
474 474
 
475 475
 if ( ! function_exists( 'lsx_site_identity' ) ) :
476 476
 
477
-	/**
478
-	 * Outputs either the Site Title or the Site Logo.
479
-	 *
480
-	 * @package    lsx
481
-	 * @subpackage template-tags
482
-	 */
483
-	function lsx_site_identity() {
484
-		if ( function_exists( 'has_custom_logo' ) && has_custom_logo() ) {
485
-			if ( is_page_template( 'page-templates/template-cover.php' ) ) {
486
-				lsx_cover_custom_logo();
487
-			} else {
488
-				the_custom_logo();
489
-			}
490
-		} else {
491
-			if ( get_theme_mod( 'site_logo_header_text', 1 ) ) {
492
-				lsx_site_title();
493
-			}
494
-		}
495
-	}
477
+     /**
478
+      * Outputs either the Site Title or the Site Logo.
479
+      *
480
+      * @package    lsx
481
+      * @subpackage template-tags
482
+      */
483
+     function lsx_site_identity() {
484
+          if ( function_exists( 'has_custom_logo' ) && has_custom_logo() ) {
485
+               if ( is_page_template( 'page-templates/template-cover.php' ) ) {
486
+                    lsx_cover_custom_logo();
487
+               } else {
488
+                    the_custom_logo();
489
+               }
490
+          } else {
491
+               if ( get_theme_mod( 'site_logo_header_text', 1 ) ) {
492
+                    lsx_site_title();
493
+               }
494
+          }
495
+     }
496 496
 
497 497
 endif;
498 498
 
499 499
 if ( ! function_exists( 'lsx_navbar_header' ) ) :
500
-	/**
501
-	 * Outputs the Nav Menu.
502
-	 *
503
-	 * @package    lsx
504
-	 * @subpackage template-tags
505
-	 */
506
-	function lsx_navbar_header() {
507
-		$mobile_header_layout = get_theme_mod( 'lsx_header_mobile_layout', 'navigation-bar' );
508
-		if ( 'hamburger' === $mobile_header_layout ) {
509
-			?>
500
+     /**
501
+      * Outputs the Nav Menu.
502
+      *
503
+      * @package    lsx
504
+      * @subpackage template-tags
505
+      */
506
+     function lsx_navbar_header() {
507
+          $mobile_header_layout = get_theme_mod( 'lsx_header_mobile_layout', 'navigation-bar' );
508
+          if ( 'hamburger' === $mobile_header_layout ) {
509
+               ?>
510 510
 			<div class="navbar-header" itemscope itemtype="http://schema.org/WebPage">
511 511
 				<?php
512
-				lsx_header_search_form();
513
-				lsx_site_identity();
514
-				if ( has_nav_menu( 'primary' ) ) :
515
-					?>
512
+                    lsx_header_search_form();
513
+                    lsx_site_identity();
514
+                    if ( has_nav_menu( 'primary' ) ) :
515
+                         ?>
516 516
 					<div class="wrapper-toggle" data-toggle="collapse" data-target=".primary-navbar">
517 517
 						<button type="button" class="navbar-toggle">
518 518
 							<span class="sr-only"><?php esc_html_e( 'Toggle navigation', 'lsx' ); ?></span>
@@ -522,16 +522,16 @@  discard block
 block discarded – undo
522 522
 						</button>
523 523
 					</div>
524 524
 					<?php
525
-				endif;
526
-				?>
525
+                    endif;
526
+                    ?>
527 527
 			</div>
528 528
 			<?php
529
-		} else {
530
-			?>
529
+          } else {
530
+               ?>
531 531
 			<div class="navbar-header" itemscope itemtype="http://schema.org/WebPage">
532 532
 				<?php
533
-				if ( has_nav_menu( 'primary' ) ) :
534
-					?>
533
+                    if ( has_nav_menu( 'primary' ) ) :
534
+                         ?>
535 535
 					<div class="wrapper-toggle" data-toggle="collapse" data-target=".primary-navbar">
536 536
 						<button type="button" class="navbar-toggle">
537 537
 							<span class="sr-only"><?php esc_html_e( 'Toggle navigation', 'lsx' ); ?></span>
@@ -543,195 +543,195 @@  discard block
 block discarded – undo
543 543
 						<span class="mobile-menu-title"><?php esc_html_e( 'Menu', 'lsx' ); ?></span>
544 544
 					</div>
545 545
 					<?php
546
-				endif;
546
+                    endif;
547 547
 
548
-				lsx_site_identity();
549
-				?>
548
+                    lsx_site_identity();
549
+                    ?>
550 550
 			</div>
551 551
 			<?php
552
-		}
553
-	}
552
+          }
553
+     }
554 554
 
555 555
 endif;
556 556
 
557 557
 add_action( 'lsx_nav_before', 'lsx_navbar_header' );
558 558
 
559 559
 if ( ! function_exists( 'lsx_nav_menu' ) ) :
560
-	/**
561
-	 * Outputs the Nav Menu.
562
-	 *
563
-	 * @package    lsx
564
-	 * @subpackage template-tags
565
-	 */
566
-	function lsx_nav_menu() {
567
-		if ( has_nav_menu( 'primary' ) ) :
568
-			?>
560
+     /**
561
+      * Outputs the Nav Menu.
562
+      *
563
+      * @package    lsx
564
+      * @subpackage template-tags
565
+      */
566
+     function lsx_nav_menu() {
567
+          if ( has_nav_menu( 'primary' ) ) :
568
+               ?>
569 569
 			<nav class="primary-navbar collapse navbar-collapse">
570 570
 				<?php
571
-					wp_nav_menu(
572
-						array(
573
-							'theme_location' => 'primary',
574
-							'depth'          => 3,
575
-							'container'      => false,
576
-							'menu_class'     => 'nav navbar-nav',
577
-							'walker'         => new LSX_Bootstrap_Navwalker(),
578
-						)
579
-					);
580
-				?>
571
+                         wp_nav_menu(
572
+                              array(
573
+                                   'theme_location' => 'primary',
574
+                                   'depth'          => 3,
575
+                                   'container'      => false,
576
+                                   'menu_class'     => 'nav navbar-nav',
577
+                                   'walker'         => new LSX_Bootstrap_Navwalker(),
578
+                              )
579
+                         );
580
+                    ?>
581 581
 			</nav>
582 582
 			<?php
583
-		endif;
584
-	}
583
+          endif;
584
+     }
585 585
 endif;
586 586
 
587 587
 if ( ! function_exists( 'lsx_sitemap_loops' ) ) {
588
-	/**
589
-	 * Outputs the loops on the sitemap
590
-	 *
591
-	 * @package    lsx
592
-	 * @subpackage template-tags
593
-	 */
594
-	function lsx_sitemap_loops() {
595
-		$sitemap_loops  = array(
596
-			'page'     => array(
597
-				'type'      => 'post_type',
598
-				'label'     => __( 'Pages', 'lsx' ),
599
-				'heirarchy' => true,
600
-			),
601
-			'post'     => array(
602
-				'type'  => 'post_type',
603
-				'label' => __( 'Posts', 'lsx' ),
604
-			),
605
-			'category' => array(
606
-				'type'      => 'taxonomy',
607
-				'label'     => __( 'Categories', 'lsx' ),
608
-				'heirarchy' => true,
609
-			),
610
-		);
611
-		$post_type_args = array(
612
-			'public'   => true,
613
-			'_builtin' => false,
614
-			'show_ui'  => true,
615
-		);
616
-		$post_types     = get_post_types( $post_type_args, 'objects' );
617
-		if ( ! empty( $post_types ) ) {
618
-			foreach ( $post_types as $post_type_key => $post_type_obj ) {
619
-				$sitemap_loops[ $post_type_key ] = array(
620
-					'type'  => 'post_type',
621
-					'label' => $post_type_obj->label,
622
-				);
623
-			}
624
-		}
625
-		$taxonomy_args = array(
626
-			'public'   => true,
627
-			'_builtin' => false,
628
-			'show_ui'  => true,
629
-		);
630
-		$taxonomies    = get_taxonomies( $taxonomy_args, 'objects' );
631
-		if ( ! empty( $taxonomies ) ) {
632
-			foreach ( $taxonomies as $tax_key => $tax_obj ) {
633
-				$sitemap_loops[ $tax_key ] = array(
634
-					'type'  => 'taxonomy',
635
-					'label' => $tax_obj->label,
636
-				);
637
-			}
638
-		}
639
-		$sitemap_loops = apply_filters( 'lsx_sitemap_loops_list', $sitemap_loops );
640
-		foreach ( $sitemap_loops as $sitemap_key => $sitemap_values ) {
641
-			if ( 'post_type' === $sitemap_values['type'] ) {
642
-				if ( isset( $sitemap_values['heirarchy'] ) && true === $sitemap_values['heirarchy'] ) {
643
-					lsx_sitemap_pages( $sitemap_key, $sitemap_values['label'] );
644
-				} else {
645
-					lsx_sitemap_custom_post_type( $sitemap_key, $sitemap_values['label'] );
646
-				}
647
-			} else {
648
-				if ( isset( $sitemap_values['heirarchy'] ) && true === $sitemap_values['heirarchy'] ) {
649
-					lsx_sitemap_taxonomy( $sitemap_key, $sitemap_values['label'], true );
650
-				} else {
651
-					lsx_sitemap_taxonomy( $sitemap_key, $sitemap_values['label'], false );
652
-				}
653
-			}
654
-		}
655
-	}
588
+     /**
589
+      * Outputs the loops on the sitemap
590
+      *
591
+      * @package    lsx
592
+      * @subpackage template-tags
593
+      */
594
+     function lsx_sitemap_loops() {
595
+          $sitemap_loops  = array(
596
+               'page'     => array(
597
+                    'type'      => 'post_type',
598
+                    'label'     => __( 'Pages', 'lsx' ),
599
+                    'heirarchy' => true,
600
+               ),
601
+               'post'     => array(
602
+                    'type'  => 'post_type',
603
+                    'label' => __( 'Posts', 'lsx' ),
604
+               ),
605
+               'category' => array(
606
+                    'type'      => 'taxonomy',
607
+                    'label'     => __( 'Categories', 'lsx' ),
608
+                    'heirarchy' => true,
609
+               ),
610
+          );
611
+          $post_type_args = array(
612
+               'public'   => true,
613
+               '_builtin' => false,
614
+               'show_ui'  => true,
615
+          );
616
+          $post_types     = get_post_types( $post_type_args, 'objects' );
617
+          if ( ! empty( $post_types ) ) {
618
+               foreach ( $post_types as $post_type_key => $post_type_obj ) {
619
+                    $sitemap_loops[ $post_type_key ] = array(
620
+                         'type'  => 'post_type',
621
+                         'label' => $post_type_obj->label,
622
+                    );
623
+               }
624
+          }
625
+          $taxonomy_args = array(
626
+               'public'   => true,
627
+               '_builtin' => false,
628
+               'show_ui'  => true,
629
+          );
630
+          $taxonomies    = get_taxonomies( $taxonomy_args, 'objects' );
631
+          if ( ! empty( $taxonomies ) ) {
632
+               foreach ( $taxonomies as $tax_key => $tax_obj ) {
633
+                    $sitemap_loops[ $tax_key ] = array(
634
+                         'type'  => 'taxonomy',
635
+                         'label' => $tax_obj->label,
636
+                    );
637
+               }
638
+          }
639
+          $sitemap_loops = apply_filters( 'lsx_sitemap_loops_list', $sitemap_loops );
640
+          foreach ( $sitemap_loops as $sitemap_key => $sitemap_values ) {
641
+               if ( 'post_type' === $sitemap_values['type'] ) {
642
+                    if ( isset( $sitemap_values['heirarchy'] ) && true === $sitemap_values['heirarchy'] ) {
643
+                         lsx_sitemap_pages( $sitemap_key, $sitemap_values['label'] );
644
+                    } else {
645
+                         lsx_sitemap_custom_post_type( $sitemap_key, $sitemap_values['label'] );
646
+                    }
647
+               } else {
648
+                    if ( isset( $sitemap_values['heirarchy'] ) && true === $sitemap_values['heirarchy'] ) {
649
+                         lsx_sitemap_taxonomy( $sitemap_key, $sitemap_values['label'], true );
650
+                    } else {
651
+                         lsx_sitemap_taxonomy( $sitemap_key, $sitemap_values['label'], false );
652
+                    }
653
+               }
654
+          }
655
+     }
656 656
 }
657 657
 
658 658
 if ( ! function_exists( 'lsx_sitemap_pages' ) ) :
659 659
 
660
-	/**
661
-	 * Outputs Pages for the Sitemap Template.
662
-	 *
663
-	 * @package    lsx
664
-	 * @subpackage template-tags
665
-	 */
666
-	function lsx_sitemap_pages( $forced_type = '', $label = '' ) {
667
-		$page_args = array(
668
-			'depth'        => 3,
669
-			'title_li'     => '',
670
-			'echo'         => 1,
671
-			'sort_column'  => 'menu_order, post_title',
672
-			'post_type'    => $forced_type,
673
-			'item_spacing' => 'preserve',
674
-		);
675
-		echo '<h2>' . esc_html( $label ) . '</h2>';
676
-		echo '<ul>';
677
-		wp_list_pages( $page_args );
678
-		echo '</ul>';
679
-	}
660
+     /**
661
+      * Outputs Pages for the Sitemap Template.
662
+      *
663
+      * @package    lsx
664
+      * @subpackage template-tags
665
+      */
666
+     function lsx_sitemap_pages( $forced_type = '', $label = '' ) {
667
+          $page_args = array(
668
+               'depth'        => 3,
669
+               'title_li'     => '',
670
+               'echo'         => 1,
671
+               'sort_column'  => 'menu_order, post_title',
672
+               'post_type'    => $forced_type,
673
+               'item_spacing' => 'preserve',
674
+          );
675
+          echo '<h2>' . esc_html( $label ) . '</h2>';
676
+          echo '<ul>';
677
+          wp_list_pages( $page_args );
678
+          echo '</ul>';
679
+     }
680 680
 
681 681
 endif;
682 682
 
683 683
 if ( ! function_exists( 'lsx_sitemap_custom_post_type' ) ) :
684 684
 
685
-	/**
686
-	 * Outputs a custom post type section.
687
-	 *
688
-	 * @package    lsx
689
-	 * @subpackage template-tags
690
-	 */
691
-	function lsx_sitemap_custom_post_type( $forced_type = '', $label = '' ) {
692
-		if ( '' !== $forced_type ) {
693
-			$post_types = array( $forced_type );
694
-		} else {
695
-			$args       = array(
696
-				'public'   => true,
697
-				'_builtin' => false,
698
-			);
699
-			$post_types = get_post_types( $args, 'names' );
700
-		}
701
-
702
-		foreach ( $post_types as $post_type ) {
703
-			$post_type_args = array(
704
-				'post_type'      => 'page',
705
-				'posts_per_page' => 99,
706
-				'post_status'    => 'publish',
707
-				'post_type'      => $post_type,
708
-			);
709
-
710
-			$post_type_items  = new WP_Query( $post_type_args );
711
-			$post_type_object = get_post_type_object( $post_type );
712
-
713
-			if ( '' !== $label ) {
714
-				$title = $label;
715
-			} elseif ( ! empty( $post_type_object ) ) {
716
-				$title = $post_type_object->labels->name;
717
-			} else {
718
-				$title = ucwords( $post_type );
719
-			}
720
-
721
-			if ( $post_type_items->have_posts() ) {
722
-				echo '<h2>' . esc_html( $title ) . '</h2>';
723
-				echo '<ul>';
724
-
725
-				while ( $post_type_items->have_posts() ) {
726
-					$post_type_items->the_post();
727
-					echo '<li class="' . esc_attr( get_post_type() ) . '_item ' . esc_attr( get_post_type() ) . '-item-' . esc_attr( get_the_ID() ) . '"><a href="' . esc_url( get_permalink() ) . '" title="">' . get_the_title() . '</a></li>';
728
-				}
729
-
730
-				echo '</ul>';
731
-				wp_reset_postdata();
732
-			}
733
-		}
734
-	}
685
+     /**
686
+      * Outputs a custom post type section.
687
+      *
688
+      * @package    lsx
689
+      * @subpackage template-tags
690
+      */
691
+     function lsx_sitemap_custom_post_type( $forced_type = '', $label = '' ) {
692
+          if ( '' !== $forced_type ) {
693
+               $post_types = array( $forced_type );
694
+          } else {
695
+               $args       = array(
696
+                    'public'   => true,
697
+                    '_builtin' => false,
698
+               );
699
+               $post_types = get_post_types( $args, 'names' );
700
+          }
701
+
702
+          foreach ( $post_types as $post_type ) {
703
+               $post_type_args = array(
704
+                    'post_type'      => 'page',
705
+                    'posts_per_page' => 99,
706
+                    'post_status'    => 'publish',
707
+                    'post_type'      => $post_type,
708
+               );
709
+
710
+               $post_type_items  = new WP_Query( $post_type_args );
711
+               $post_type_object = get_post_type_object( $post_type );
712
+
713
+               if ( '' !== $label ) {
714
+                    $title = $label;
715
+               } elseif ( ! empty( $post_type_object ) ) {
716
+                    $title = $post_type_object->labels->name;
717
+               } else {
718
+                    $title = ucwords( $post_type );
719
+               }
720
+
721
+               if ( $post_type_items->have_posts() ) {
722
+                    echo '<h2>' . esc_html( $title ) . '</h2>';
723
+                    echo '<ul>';
724
+
725
+                    while ( $post_type_items->have_posts() ) {
726
+                         $post_type_items->the_post();
727
+                         echo '<li class="' . esc_attr( get_post_type() ) . '_item ' . esc_attr( get_post_type() ) . '-item-' . esc_attr( get_the_ID() ) . '"><a href="' . esc_url( get_permalink() ) . '" title="">' . get_the_title() . '</a></li>';
728
+                    }
729
+
730
+                    echo '</ul>';
731
+                    wp_reset_postdata();
732
+               }
733
+          }
734
+     }
735 735
 
736 736
 endif;
737 737
 
@@ -741,111 +741,111 @@  discard block
 block discarded – undo
741 741
  * @return void
742 742
  */
743 743
 function lsx_sitemap_taxonomy( $taxonomy = '', $label = '', $hierarchical = false ) {
744
-	if ( '' !== $taxonomy ) {
745
-
746
-		$tax_args   = array(
747
-			'echo'                => 0,
748
-			'depth'               => 0,
749
-			'hide_empty'          => 1,
750
-			'hide_title_if_empty' => false,
751
-			'hierarchical'        => $hierarchical,
752
-			'separator'           => '<br />',
753
-			'show_count'          => 0,
754
-			'show_option_none'    => __( 'None', 'lsx' ),
755
-			'style'               => 'list',
756
-			'taxonomy'            => $taxonomy,
757
-			'title_li'            => '',
758
-		);
759
-		$categories = wp_list_categories( $tax_args );
760
-		if ( ! empty( $categories ) ) {
761
-			echo '<div class="sitemap-rows">';
762
-			echo '<h2>' . wp_kses_post( $label ) . '</h2>';
763
-			echo '<ul>';
764
-			echo wp_kses_post( $categories );
765
-			echo '</ul>';
766
-			echo '</div>';
767
-		}
768
-	}
744
+     if ( '' !== $taxonomy ) {
745
+
746
+          $tax_args   = array(
747
+               'echo'                => 0,
748
+               'depth'               => 0,
749
+               'hide_empty'          => 1,
750
+               'hide_title_if_empty' => false,
751
+               'hierarchical'        => $hierarchical,
752
+               'separator'           => '<br />',
753
+               'show_count'          => 0,
754
+               'show_option_none'    => __( 'None', 'lsx' ),
755
+               'style'               => 'list',
756
+               'taxonomy'            => $taxonomy,
757
+               'title_li'            => '',
758
+          );
759
+          $categories = wp_list_categories( $tax_args );
760
+          if ( ! empty( $categories ) ) {
761
+               echo '<div class="sitemap-rows">';
762
+               echo '<h2>' . wp_kses_post( $label ) . '</h2>';
763
+               echo '<ul>';
764
+               echo wp_kses_post( $categories );
765
+               echo '</ul>';
766
+               echo '</div>';
767
+          }
768
+     }
769 769
 }
770 770
 
771 771
 if ( ! function_exists( 'lsx_sitemap_taxonomy_clouds' ) ) :
772 772
 
773
-	/**
774
-	 * Outputs the public taxonomies.
775
-	 *
776
-	 * @package    lsx
777
-	 * @subpackage template-tags
778
-	 */
779
-	function lsx_sitemap_taxonomy_clouds() {
780
-		$taxonomy_args = array(
781
-			'public'   => true,
782
-			'_builtin' => false,
783
-		);
784
-
785
-		$taxonomies = get_taxonomies( $taxonomy_args );
786
-
787
-		if ( ! empty( $taxonomies ) ) {
788
-			foreach ( $taxonomies as $taxonomy_id => $taxonomy ) {
789
-				$tag_cloud = wp_tag_cloud(
790
-					array(
791
-						'taxonomy' => $taxonomy_id,
792
-						'echo'     => false,
793
-					)
794
-				);
795
-
796
-				if ( ! empty( $tag_cloud ) ) {
797
-					echo '<h2>' . esc_html( $taxonomy ) . '</h2>';
798
-					echo '<aside id="' . esc_attr( $taxonomy_id ) . '" class="widget widget_' . esc_attr( $taxonomy_id ) . '">' . esc_html( $tag_cloud ) . '</aside>';
799
-				}
800
-			}
801
-		}
802
-	}
773
+     /**
774
+      * Outputs the public taxonomies.
775
+      *
776
+      * @package    lsx
777
+      * @subpackage template-tags
778
+      */
779
+     function lsx_sitemap_taxonomy_clouds() {
780
+          $taxonomy_args = array(
781
+               'public'   => true,
782
+               '_builtin' => false,
783
+          );
784
+
785
+          $taxonomies = get_taxonomies( $taxonomy_args );
786
+
787
+          if ( ! empty( $taxonomies ) ) {
788
+               foreach ( $taxonomies as $taxonomy_id => $taxonomy ) {
789
+                    $tag_cloud = wp_tag_cloud(
790
+                         array(
791
+                              'taxonomy' => $taxonomy_id,
792
+                              'echo'     => false,
793
+                         )
794
+                    );
795
+
796
+                    if ( ! empty( $tag_cloud ) ) {
797
+                         echo '<h2>' . esc_html( $taxonomy ) . '</h2>';
798
+                         echo '<aside id="' . esc_attr( $taxonomy_id ) . '" class="widget widget_' . esc_attr( $taxonomy_id ) . '">' . esc_html( $tag_cloud ) . '</aside>';
799
+                    }
800
+               }
801
+          }
802
+     }
803 803
 
804 804
 endif;
805 805
 
806 806
 if ( ! function_exists( 'lsx_add_top_menu' ) ) :
807 807
 
808
-	/**
809
-	 * Adds our top menu to the theme.
810
-	 *
811
-	 * @package    lsx
812
-	 * @subpackage template-tags
813
-	 */
814
-	function lsx_add_top_menu() {
815
-		if ( has_nav_menu( 'top-menu' ) || has_nav_menu( 'top-menu-left' ) ) :
816
-			?>
808
+     /**
809
+      * Adds our top menu to the theme.
810
+      *
811
+      * @package    lsx
812
+      * @subpackage template-tags
813
+      */
814
+     function lsx_add_top_menu() {
815
+          if ( has_nav_menu( 'top-menu' ) || has_nav_menu( 'top-menu-left' ) ) :
816
+               ?>
817 817
 			<div id="top-menu" class="<?php lsx_top_menu_classes(); ?>">
818 818
 				<div class="container">
819 819
 					<?php if ( has_nav_menu( 'top-menu' ) ) : ?>
820 820
 						<nav class="top-menu">
821 821
 							<?php
822
-								wp_nav_menu(
823
-									array(
824
-										'theme_location' => 'top-menu',
825
-										'walker'         => new LSX_Bootstrap_Navwalker(),
826
-									)
827
-								);
828
-							?>
822
+                                        wp_nav_menu(
823
+                                             array(
824
+                                                  'theme_location' => 'top-menu',
825
+                                                  'walker'         => new LSX_Bootstrap_Navwalker(),
826
+                                             )
827
+                                        );
828
+                                   ?>
829 829
 						</nav>
830 830
 					<?php endif; ?>
831 831
 
832 832
 					<?php if ( has_nav_menu( 'top-menu-left' ) ) : ?>
833 833
 						<nav class="top-menu pull-left">
834 834
 							<?php
835
-								wp_nav_menu(
836
-									array(
837
-										'theme_location' => 'top-menu-left',
838
-										'walker'         => new LSX_Bootstrap_Navwalker(),
839
-									)
840
-								);
841
-							?>
835
+                                        wp_nav_menu(
836
+                                             array(
837
+                                                  'theme_location' => 'top-menu-left',
838
+                                                  'walker'         => new LSX_Bootstrap_Navwalker(),
839
+                                             )
840
+                                        );
841
+                                   ?>
842 842
 						</nav>
843 843
 					<?php endif; ?>
844 844
 				</div>
845 845
 			</div>
846 846
 			<?php
847
-		endif;
848
-	}
847
+          endif;
848
+     }
849 849
 
850 850
 endif;
851 851
 
@@ -853,38 +853,38 @@  discard block
 block discarded – undo
853 853
 
854 854
 if ( ! function_exists( 'lsx_get_my_url' ) ) :
855 855
 
856
-	/**
857
-	 * Return URL from a link in the content.
858
-	 *
859
-	 * @package    lsx
860
-	 * @subpackage template-tags
861
-	 */
862
-	function lsx_get_my_url() {
863
-		if ( ! preg_match( '/^<a\s[^>]*?href=[\'"](.+?)[\'"]$/is', get_the_content(), $matches ) ) {
864
-			return false;
865
-		}
856
+     /**
857
+      * Return URL from a link in the content.
858
+      *
859
+      * @package    lsx
860
+      * @subpackage template-tags
861
+      */
862
+     function lsx_get_my_url() {
863
+          if ( ! preg_match( '/^<a\s[^>]*?href=[\'"](.+?)[\'"]$/is', get_the_content(), $matches ) ) {
864
+               return false;
865
+          }
866 866
 
867
-		return esc_url_raw( $matches[1] );
868
-	}
867
+          return esc_url_raw( $matches[1] );
868
+     }
869 869
 
870 870
 endif;
871 871
 
872 872
 if ( ! function_exists( 'lsx_get_template_part' ) ) :
873 873
 
874
-	/**
875
-	 * Gets a custom template part if the filters is populated,  or does the normal WP get_content_part()
876
-	 *
877
-	 * @package    lsx
878
-	 * @subpackage template-tags
879
-	 */
880
-	function lsx_get_template_part() {
881
-		$custom_template = apply_filters( 'lsx_get_template_part', '' );
882
-		if ( '' !== $custom_template && file_exists( $custom_template ) ) {
883
-			include $custom_template;
884
-		} else {
885
-			get_template_part( 'partials/content', get_post_format() );
886
-		}
887
-	}
874
+     /**
875
+      * Gets a custom template part if the filters is populated,  or does the normal WP get_content_part()
876
+      *
877
+      * @package    lsx
878
+      * @subpackage template-tags
879
+      */
880
+     function lsx_get_template_part() {
881
+          $custom_template = apply_filters( 'lsx_get_template_part', '' );
882
+          if ( '' !== $custom_template && file_exists( $custom_template ) ) {
883
+               include $custom_template;
884
+          } else {
885
+               get_template_part( 'partials/content', get_post_format() );
886
+          }
887
+     }
888 888
 
889 889
 endif;
890 890
 
Please login to merge, or discard this patch.