@@ -7,25 +7,25 @@ discard block |
||
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 |
||
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 | } |
@@ -10,212 +10,212 @@ |
||
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 | } |
@@ -12,221 +12,221 @@ |
||
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 | } |
@@ -24,9 +24,9 @@ discard block |
||
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 |
||
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 |
@@ -7,13 +7,13 @@ discard block |
||
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 |
||
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 |
||
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' ); |
@@ -7,50 +7,50 @@ discard block |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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">←</span> ' . esc_html__( 'Previous', 'lsx' ), |
|
397 | - 'next_text' => esc_html__( 'Next', 'lsx' ) . ' <span class="meta-nav">→</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">←</span> ' . esc_html__( 'Previous', 'lsx' ), |
|
397 | + 'next_text' => esc_html__( 'Next', 'lsx' ) . ' <span class="meta-nav">→</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 |
||
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 |
||
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 |
||
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 |
||
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 |
||
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 |
@@ -14,46 +14,46 @@ discard block |
||
14 | 14 | <?php //lsx_entry_top(); ?> |
15 | 15 | |
16 | 16 | <?php |
17 | - // On the cover page template, output the cover header. |
|
18 | - $cover_header_style = ''; |
|
19 | - $cover_header_classes = ''; |
|
20 | - |
|
21 | - $color_overlay_style = ''; |
|
22 | - $color_overlay_classes = ''; |
|
23 | - |
|
24 | - $image_url = ! post_password_required() ? get_the_post_thumbnail_url( get_the_ID(), 'full' ) : ''; |
|
25 | - |
|
26 | - if ( $image_url ) { |
|
27 | - $cover_header_style .= 'background-image: url( ' . esc_url( $image_url ) . ' );'; |
|
28 | - $cover_header_classes = ' bg-image'; |
|
29 | - } |
|
30 | - |
|
31 | - // Get the color used for the color overlay. |
|
32 | - $color_cover_color = get_theme_mod( 'lsx_cover_template_cover_background_color' ); |
|
33 | - if ( $color_cover_color ) { |
|
34 | - $cover_header_style .= ' background-color: ' . esc_attr( $color_cover_color ) . ';'; |
|
35 | - } else { |
|
36 | - $cover_header_style .= ' background-color: #27639e;'; |
|
37 | - } |
|
38 | - |
|
39 | - // Get the color used for the color overlay. |
|
40 | - $color_overlay_color = get_theme_mod( 'lsx_cover_template_overlay_background_color' ); |
|
41 | - if ( $color_overlay_color ) { |
|
42 | - $color_overlay_style = ' style="color: ' . esc_attr( $color_overlay_color ) . ';"'; |
|
43 | - } else { |
|
44 | - $color_overlay_style = ''; |
|
45 | - } |
|
46 | - |
|
47 | - // Get the fixed background attachment option. |
|
48 | - if ( get_theme_mod( 'lsx_cover_template_fixed_background', true ) ) { |
|
49 | - $cover_header_classes .= ' bg-attachment-fixed'; |
|
50 | - } |
|
51 | - |
|
52 | - // Get the opacity of the color overlay. |
|
53 | - $color_overlay_opacity = get_theme_mod( 'lsx_cover_template_overlay_opacity' ); |
|
54 | - $color_overlay_opacity = ( false === $color_overlay_opacity ) ? 80 : $color_overlay_opacity; |
|
55 | - $color_overlay_classes .= ' opacity-' . $color_overlay_opacity; |
|
56 | - ?> |
|
17 | + // On the cover page template, output the cover header. |
|
18 | + $cover_header_style = ''; |
|
19 | + $cover_header_classes = ''; |
|
20 | + |
|
21 | + $color_overlay_style = ''; |
|
22 | + $color_overlay_classes = ''; |
|
23 | + |
|
24 | + $image_url = ! post_password_required() ? get_the_post_thumbnail_url( get_the_ID(), 'full' ) : ''; |
|
25 | + |
|
26 | + if ( $image_url ) { |
|
27 | + $cover_header_style .= 'background-image: url( ' . esc_url( $image_url ) . ' );'; |
|
28 | + $cover_header_classes = ' bg-image'; |
|
29 | + } |
|
30 | + |
|
31 | + // Get the color used for the color overlay. |
|
32 | + $color_cover_color = get_theme_mod( 'lsx_cover_template_cover_background_color' ); |
|
33 | + if ( $color_cover_color ) { |
|
34 | + $cover_header_style .= ' background-color: ' . esc_attr( $color_cover_color ) . ';'; |
|
35 | + } else { |
|
36 | + $cover_header_style .= ' background-color: #27639e;'; |
|
37 | + } |
|
38 | + |
|
39 | + // Get the color used for the color overlay. |
|
40 | + $color_overlay_color = get_theme_mod( 'lsx_cover_template_overlay_background_color' ); |
|
41 | + if ( $color_overlay_color ) { |
|
42 | + $color_overlay_style = ' style="color: ' . esc_attr( $color_overlay_color ) . ';"'; |
|
43 | + } else { |
|
44 | + $color_overlay_style = ''; |
|
45 | + } |
|
46 | + |
|
47 | + // Get the fixed background attachment option. |
|
48 | + if ( get_theme_mod( 'lsx_cover_template_fixed_background', true ) ) { |
|
49 | + $cover_header_classes .= ' bg-attachment-fixed'; |
|
50 | + } |
|
51 | + |
|
52 | + // Get the opacity of the color overlay. |
|
53 | + $color_overlay_opacity = get_theme_mod( 'lsx_cover_template_overlay_opacity' ); |
|
54 | + $color_overlay_opacity = ( false === $color_overlay_opacity ) ? 80 : $color_overlay_opacity; |
|
55 | + $color_overlay_classes .= ' opacity-' . $color_overlay_opacity; |
|
56 | + ?> |
|
57 | 57 | |
58 | 58 | <div class="cover-header <?php echo esc_html( $cover_header_classes ); ?>" style="<?php echo wp_kses_post( $cover_header_style ); ?>"> |
59 | 59 | <div class="cover-header-inner-wrapper"> |
@@ -65,8 +65,8 @@ discard block |
||
65 | 65 | |
66 | 66 | <?php |
67 | 67 | |
68 | - if ( has_category() ) { |
|
69 | - ?> |
|
68 | + if ( has_category() ) { |
|
69 | + ?> |
|
70 | 70 | |
71 | 71 | <div class="entry-categories"> |
72 | 72 | <div class="entry-categories-inner"> |
@@ -75,13 +75,13 @@ discard block |
||
75 | 75 | </div> |
76 | 76 | |
77 | 77 | <?php |
78 | - } |
|
78 | + } |
|
79 | 79 | |
80 | - the_title( '<h1 class="entry-title">', '</h1>' ); |
|
80 | + the_title( '<h1 class="entry-title">', '</h1>' ); |
|
81 | 81 | |
82 | - if ( is_page() ) { |
|
83 | - if ( has_excerpt() ) { |
|
84 | - ?> |
|
82 | + if ( is_page() ) { |
|
83 | + if ( has_excerpt() ) { |
|
84 | + ?> |
|
85 | 85 | |
86 | 86 | <div class="the-excerpt-wrapper"> |
87 | 87 | |
@@ -90,8 +90,8 @@ discard block |
||
90 | 90 | </div> |
91 | 91 | |
92 | 92 | <?php |
93 | - } |
|
94 | - ?> |
|
93 | + } |
|
94 | + ?> |
|
95 | 95 | |
96 | 96 | <div class="to-the-content-wrapper"> |
97 | 97 | |
@@ -102,26 +102,26 @@ discard block |
||
102 | 102 | </div> |
103 | 103 | |
104 | 104 | <?php |
105 | - } else { |
|
105 | + } else { |
|
106 | 106 | |
107 | - if ( has_excerpt() ) { |
|
108 | - ?> |
|
107 | + if ( has_excerpt() ) { |
|
108 | + ?> |
|
109 | 109 | |
110 | 110 | <div class="intro-text section-inner"> |
111 | 111 | <?php the_excerpt(); ?> |
112 | 112 | </div> |
113 | 113 | |
114 | 114 | <?php |
115 | - } |
|
115 | + } |
|
116 | 116 | |
117 | - ?> |
|
117 | + ?> |
|
118 | 118 | <div class="entry-meta"> |
119 | 119 | <?php lsx_post_meta_list_top(); ?> |
120 | 120 | </div><!-- .entry-meta --> |
121 | 121 | <?php |
122 | 122 | |
123 | - } |
|
124 | - ?> |
|
123 | + } |
|
124 | + ?> |
|
125 | 125 | |
126 | 126 | </div> |
127 | 127 | </header> |
@@ -134,15 +134,15 @@ discard block |
||
134 | 134 | <?php lsx_entry_inside_top(); ?> |
135 | 135 | |
136 | 136 | <?php |
137 | - the_content(); |
|
138 | - |
|
139 | - wp_link_pages( array( |
|
140 | - 'before' => '<div class="lsx-postnav-wrapper"><div class="lsx-postnav">', |
|
141 | - 'after' => '</div></div>', |
|
142 | - 'link_before' => '<span>', |
|
143 | - 'link_after' => '</span>', |
|
144 | - ) ); |
|
145 | - ?> |
|
137 | + the_content(); |
|
138 | + |
|
139 | + wp_link_pages( array( |
|
140 | + 'before' => '<div class="lsx-postnav-wrapper"><div class="lsx-postnav">', |
|
141 | + 'after' => '</div></div>', |
|
142 | + 'link_before' => '<span>', |
|
143 | + 'link_after' => '</span>', |
|
144 | + ) ); |
|
145 | + ?> |
|
146 | 146 | </div><!-- .entry-content --> |
147 | 147 | |
148 | 148 | <footer class="footer-meta clearfix"> |
@@ -151,19 +151,19 @@ discard block |
||
151 | 151 | <?php lsx_content_post_tags(); ?> |
152 | 152 | |
153 | 153 | <?php |
154 | - if ( class_exists( 'LSX_Sharing' ) ) { |
|
155 | - lsx_content_sharing(); |
|
156 | - } else { |
|
157 | - if ( function_exists( 'sharing_display' ) ) { |
|
158 | - sharing_display( '', true ); |
|
159 | - } |
|
160 | - |
|
161 | - if ( class_exists( 'Jetpack_Likes' ) ) { |
|
162 | - $custom_likes = new Jetpack_Likes(); |
|
163 | - echo wp_kses_post( $custom_likes->post_likes( '' ) ); |
|
164 | - } |
|
165 | - } |
|
166 | - ?> |
|
154 | + if ( class_exists( 'LSX_Sharing' ) ) { |
|
155 | + lsx_content_sharing(); |
|
156 | + } else { |
|
157 | + if ( function_exists( 'sharing_display' ) ) { |
|
158 | + sharing_display( '', true ); |
|
159 | + } |
|
160 | + |
|
161 | + if ( class_exists( 'Jetpack_Likes' ) ) { |
|
162 | + $custom_likes = new Jetpack_Likes(); |
|
163 | + echo wp_kses_post( $custom_likes->post_likes( '' ) ); |
|
164 | + } |
|
165 | + } |
|
166 | + ?> |
|
167 | 167 | <?php endif ?> |
168 | 168 | </footer><!-- .footer-meta --> |
169 | 169 |
@@ -7,210 +7,210 @@ |
||
7 | 7 | */ |
8 | 8 | |
9 | 9 | if ( ! defined( 'ABSPATH' ) ) { |
10 | - exit; |
|
10 | + exit; |
|
11 | 11 | } |
12 | 12 | |
13 | 13 | if ( ! function_exists( 'lsx_tec_scripts_add_styles' ) ) : |
14 | 14 | |
15 | - /** |
|
16 | - * The Events Calendar enqueue styles. |
|
17 | - * |
|
18 | - * @package lsx |
|
19 | - * @subpackage the-events-calendar |
|
20 | - */ |
|
21 | - function lsx_tec_scripts_add_styles() { |
|
22 | - |
|
23 | - // Get plugin version. |
|
24 | - $plugin = 'the-events-calendar/the-events-calendar.php'; |
|
25 | - $data = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin ); |
|
26 | - $version = $data['Version']; |
|
27 | - |
|
28 | - if ( substr( $version, 0, 1 ) >= '5' ) { |
|
29 | - // New Version 5.0 and up. |
|
30 | - wp_enqueue_style( 'the-events-calendar-lsx', get_template_directory_uri() . '/assets/css/the-events-calendar/the-events-calendar-5.css', array( 'lsx_main' ), LSX_VERSION ); |
|
31 | - } else { |
|
32 | - // Old Version. |
|
33 | - wp_enqueue_style( 'the-events-calendar-lsx', get_template_directory_uri() . '/assets/css/the-events-calendar/the-events-calendar.css', array( 'lsx_main' ), LSX_VERSION ); |
|
34 | - } |
|
35 | - |
|
36 | - wp_enqueue_style( 'the-events-calendar-lsx', get_template_directory_uri() . '/assets/css/the-events-calendar/the-events-calendar.css', array( 'lsx_main' ), LSX_VERSION ); |
|
37 | - wp_style_add_data( 'the-events-calendar-lsx', 'rtl', 'replace' ); |
|
38 | - } |
|
39 | - |
|
40 | - add_action( 'wp_enqueue_scripts', 'lsx_tec_scripts_add_styles' ); |
|
15 | + /** |
|
16 | + * The Events Calendar enqueue styles. |
|
17 | + * |
|
18 | + * @package lsx |
|
19 | + * @subpackage the-events-calendar |
|
20 | + */ |
|
21 | + function lsx_tec_scripts_add_styles() { |
|
22 | + |
|
23 | + // Get plugin version. |
|
24 | + $plugin = 'the-events-calendar/the-events-calendar.php'; |
|
25 | + $data = get_plugin_data( WP_PLUGIN_DIR . '/' . $plugin ); |
|
26 | + $version = $data['Version']; |
|
27 | + |
|
28 | + if ( substr( $version, 0, 1 ) >= '5' ) { |
|
29 | + // New Version 5.0 and up. |
|
30 | + wp_enqueue_style( 'the-events-calendar-lsx', get_template_directory_uri() . '/assets/css/the-events-calendar/the-events-calendar-5.css', array( 'lsx_main' ), LSX_VERSION ); |
|
31 | + } else { |
|
32 | + // Old Version. |
|
33 | + wp_enqueue_style( 'the-events-calendar-lsx', get_template_directory_uri() . '/assets/css/the-events-calendar/the-events-calendar.css', array( 'lsx_main' ), LSX_VERSION ); |
|
34 | + } |
|
35 | + |
|
36 | + wp_enqueue_style( 'the-events-calendar-lsx', get_template_directory_uri() . '/assets/css/the-events-calendar/the-events-calendar.css', array( 'lsx_main' ), LSX_VERSION ); |
|
37 | + wp_style_add_data( 'the-events-calendar-lsx', 'rtl', 'replace' ); |
|
38 | + } |
|
39 | + |
|
40 | + add_action( 'wp_enqueue_scripts', 'lsx_tec_scripts_add_styles' ); |
|
41 | 41 | |
42 | 42 | endif; |
43 | 43 | |
44 | 44 | if ( ! function_exists( 'lsx_tec_theme_wrapper_start' ) ) : |
45 | 45 | |
46 | - /** |
|
47 | - * The Events Calendar wrapper start. |
|
48 | - * |
|
49 | - * @package lsx |
|
50 | - * @subpackage the-events-calendar |
|
51 | - */ |
|
52 | - function lsx_tec_theme_wrapper_start() { |
|
53 | - if ( function_exists( 'lsx_is_rest_api_request' ) && lsx_is_rest_api_request() ) { |
|
54 | - return; |
|
55 | - } |
|
56 | - lsx_content_wrap_before(); |
|
57 | - echo '<div id="primary" class="content-area ' . esc_attr( lsx_main_class() ) . '">'; |
|
58 | - lsx_content_before(); |
|
59 | - echo '<main id="main" class="site-main" role="main">'; |
|
60 | - lsx_content_top(); |
|
61 | - } |
|
62 | - |
|
63 | - add_action( 'tribe_events_before_html', 'lsx_tec_theme_wrapper_start', 9 ); |
|
46 | + /** |
|
47 | + * The Events Calendar wrapper start. |
|
48 | + * |
|
49 | + * @package lsx |
|
50 | + * @subpackage the-events-calendar |
|
51 | + */ |
|
52 | + function lsx_tec_theme_wrapper_start() { |
|
53 | + if ( function_exists( 'lsx_is_rest_api_request' ) && lsx_is_rest_api_request() ) { |
|
54 | + return; |
|
55 | + } |
|
56 | + lsx_content_wrap_before(); |
|
57 | + echo '<div id="primary" class="content-area ' . esc_attr( lsx_main_class() ) . '">'; |
|
58 | + lsx_content_before(); |
|
59 | + echo '<main id="main" class="site-main" role="main">'; |
|
60 | + lsx_content_top(); |
|
61 | + } |
|
62 | + |
|
63 | + add_action( 'tribe_events_before_html', 'lsx_tec_theme_wrapper_start', 9 ); |
|
64 | 64 | |
65 | 65 | endif; |
66 | 66 | |
67 | 67 | if ( ! function_exists( 'lsx_tec_theme_wrapper_end' ) ) : |
68 | 68 | |
69 | - /** |
|
70 | - * The Events Calendar wrapper end. |
|
71 | - * |
|
72 | - * @package lsx |
|
73 | - * @subpackage the-events-calendar |
|
74 | - */ |
|
75 | - function lsx_tec_theme_wrapper_end() { |
|
76 | - if ( function_exists( 'lsx_is_rest_api_request' ) && lsx_is_rest_api_request() ) { |
|
77 | - return; |
|
78 | - } |
|
79 | - lsx_content_bottom(); |
|
80 | - echo '</main>'; |
|
81 | - lsx_content_after(); |
|
82 | - echo '</div>'; |
|
83 | - lsx_content_wrap_after(); |
|
84 | - } |
|
85 | - |
|
86 | - add_action( 'tribe_events_after_html', 'lsx_tec_theme_wrapper_end', 11 ); |
|
69 | + /** |
|
70 | + * The Events Calendar wrapper end. |
|
71 | + * |
|
72 | + * @package lsx |
|
73 | + * @subpackage the-events-calendar |
|
74 | + */ |
|
75 | + function lsx_tec_theme_wrapper_end() { |
|
76 | + if ( function_exists( 'lsx_is_rest_api_request' ) && lsx_is_rest_api_request() ) { |
|
77 | + return; |
|
78 | + } |
|
79 | + lsx_content_bottom(); |
|
80 | + echo '</main>'; |
|
81 | + lsx_content_after(); |
|
82 | + echo '</div>'; |
|
83 | + lsx_content_wrap_after(); |
|
84 | + } |
|
85 | + |
|
86 | + add_action( 'tribe_events_after_html', 'lsx_tec_theme_wrapper_end', 11 ); |
|
87 | 87 | |
88 | 88 | endif; |
89 | 89 | |
90 | 90 | if ( ! function_exists( 'lsx_tec_global_header_title' ) ) : |
91 | 91 | |
92 | - /** |
|
93 | - * Move the events title into the global header |
|
94 | - * |
|
95 | - * @package lsx |
|
96 | - * @subpackage the-events-calendar |
|
97 | - */ |
|
98 | - function lsx_tec_global_header_title( $title ) { |
|
99 | - |
|
100 | - if ( tribe_is_community_edit_event_page() ) { |
|
101 | - |
|
102 | - $is_route = get_query_var( 'WP_Route' ); |
|
103 | - switch ( $is_route ) { |
|
104 | - case 'ce-edit-route': |
|
105 | - $title = apply_filters( 'tribe_ce_edit_event_page_title', __( 'Edit an Event', 'lsx' ) ); |
|
106 | - break; |
|
107 | - |
|
108 | - case 'ce-edit-organizer-route': |
|
109 | - $title = __( 'Edit an Organizer', 'lsx' ); |
|
110 | - break; |
|
111 | - |
|
112 | - case 'ce-edit-venue-route': |
|
113 | - $title = __( 'Edit a Venue', 'lsx' ); |
|
114 | - break; |
|
115 | - |
|
116 | - default: |
|
117 | - $title = apply_filters( 'tribe_ce_submit_event_page_title', __( 'Submit an Event', 'lsx' ) ); |
|
118 | - break; |
|
119 | - } |
|
120 | - } elseif ( tribe_is_community_my_events_page() ) { |
|
121 | - $title = apply_filters( 'tribe_ce_submit_event_page_title', __( 'My Events', 'lsx' ) ); |
|
122 | - } elseif ( tribe_is_event() && ( ! is_tag() ) ) { |
|
123 | - $title = tribe_get_events_title(); |
|
124 | - } |
|
125 | - |
|
126 | - // Only disable the title after we have retrieved it. |
|
127 | - add_filter( 'tribe_get_events_title', 'lsx_text_disable_body_title', 200, 1 ); |
|
128 | - |
|
129 | - if ( is_singular( 'tribe_events' ) ) { |
|
130 | - add_filter( 'the_title', 'lsx_text_disable_body_title', 200, 1 ); |
|
131 | - } |
|
132 | - |
|
133 | - if ( class_exists( 'LSX_Banners' ) ) { |
|
134 | - if ( is_archive() && is_post_type_archive( 'tribe_events' ) ) { |
|
135 | - $options = get_option( '_lsx_settings', false ); |
|
136 | - if ( is_array( $options ) && isset( $options['tribe_events'] ) && isset( $options['tribe_events']['title'] ) && '' !== $options['tribe_events']['title'] ) { |
|
137 | - $title = $options['tribe_events']['title']; |
|
138 | - } |
|
139 | - } |
|
140 | - $title = '<h1 class="page-title">' . $title . '</h1>'; |
|
141 | - } |
|
142 | - return $title; |
|
143 | - } |
|
144 | - add_filter( 'lsx_banner_title', 'lsx_tec_global_header_title', 200, 1 ); |
|
145 | - add_filter( 'lsx_global_header_title', 'lsx_tec_global_header_title', 200, 1 ); |
|
92 | + /** |
|
93 | + * Move the events title into the global header |
|
94 | + * |
|
95 | + * @package lsx |
|
96 | + * @subpackage the-events-calendar |
|
97 | + */ |
|
98 | + function lsx_tec_global_header_title( $title ) { |
|
99 | + |
|
100 | + if ( tribe_is_community_edit_event_page() ) { |
|
101 | + |
|
102 | + $is_route = get_query_var( 'WP_Route' ); |
|
103 | + switch ( $is_route ) { |
|
104 | + case 'ce-edit-route': |
|
105 | + $title = apply_filters( 'tribe_ce_edit_event_page_title', __( 'Edit an Event', 'lsx' ) ); |
|
106 | + break; |
|
107 | + |
|
108 | + case 'ce-edit-organizer-route': |
|
109 | + $title = __( 'Edit an Organizer', 'lsx' ); |
|
110 | + break; |
|
111 | + |
|
112 | + case 'ce-edit-venue-route': |
|
113 | + $title = __( 'Edit a Venue', 'lsx' ); |
|
114 | + break; |
|
115 | + |
|
116 | + default: |
|
117 | + $title = apply_filters( 'tribe_ce_submit_event_page_title', __( 'Submit an Event', 'lsx' ) ); |
|
118 | + break; |
|
119 | + } |
|
120 | + } elseif ( tribe_is_community_my_events_page() ) { |
|
121 | + $title = apply_filters( 'tribe_ce_submit_event_page_title', __( 'My Events', 'lsx' ) ); |
|
122 | + } elseif ( tribe_is_event() && ( ! is_tag() ) ) { |
|
123 | + $title = tribe_get_events_title(); |
|
124 | + } |
|
125 | + |
|
126 | + // Only disable the title after we have retrieved it. |
|
127 | + add_filter( 'tribe_get_events_title', 'lsx_text_disable_body_title', 200, 1 ); |
|
128 | + |
|
129 | + if ( is_singular( 'tribe_events' ) ) { |
|
130 | + add_filter( 'the_title', 'lsx_text_disable_body_title', 200, 1 ); |
|
131 | + } |
|
132 | + |
|
133 | + if ( class_exists( 'LSX_Banners' ) ) { |
|
134 | + if ( is_archive() && is_post_type_archive( 'tribe_events' ) ) { |
|
135 | + $options = get_option( '_lsx_settings', false ); |
|
136 | + if ( is_array( $options ) && isset( $options['tribe_events'] ) && isset( $options['tribe_events']['title'] ) && '' !== $options['tribe_events']['title'] ) { |
|
137 | + $title = $options['tribe_events']['title']; |
|
138 | + } |
|
139 | + } |
|
140 | + $title = '<h1 class="page-title">' . $title . '</h1>'; |
|
141 | + } |
|
142 | + return $title; |
|
143 | + } |
|
144 | + add_filter( 'lsx_banner_title', 'lsx_tec_global_header_title', 200, 1 ); |
|
145 | + add_filter( 'lsx_global_header_title', 'lsx_tec_global_header_title', 200, 1 ); |
|
146 | 146 | |
147 | 147 | endif; |
148 | 148 | |
149 | 149 | if ( ! function_exists( 'lsx_text_disable_body_title' ) ) : |
150 | - /** |
|
151 | - * Disable the events title for the post archive if the dynamic setting is active. |
|
152 | - * |
|
153 | - * @param $title |
|
154 | - * @return string |
|
155 | - */ |
|
156 | - function lsx_text_disable_body_title( $title ) { |
|
157 | - $title = ''; |
|
158 | - remove_filter( 'the_title', 'lsx_text_disable_body_title', 200, 1 ); |
|
159 | - return $title; |
|
160 | - } |
|
150 | + /** |
|
151 | + * Disable the events title for the post archive if the dynamic setting is active. |
|
152 | + * |
|
153 | + * @param $title |
|
154 | + * @return string |
|
155 | + */ |
|
156 | + function lsx_text_disable_body_title( $title ) { |
|
157 | + $title = ''; |
|
158 | + remove_filter( 'the_title', 'lsx_text_disable_body_title', 200, 1 ); |
|
159 | + return $title; |
|
160 | + } |
|
161 | 161 | |
162 | 162 | endif; |
163 | 163 | |
164 | 164 | if ( ! function_exists( 'lsx_tec_breadcrumb_filter' ) ) : |
165 | - /** |
|
166 | - * Fixes the community events breadcrumb |
|
167 | - * |
|
168 | - * @package lsx |
|
169 | - * @subpackage the-events-calendar |
|
170 | - */ |
|
171 | - function lsx_tec_breadcrumb_filter( $crumbs ) { |
|
172 | - |
|
173 | - if ( tribe_is_venue() || tribe_is_organizer() || tribe_is_community_edit_event_page() || tribe_is_community_my_events_page() ) { |
|
174 | - $new_crumbs = array(); |
|
175 | - $new_crumbs[0] = $crumbs[0]; |
|
176 | - |
|
177 | - if ( function_exists( 'woocommerce_breadcrumb' ) ) { |
|
178 | - $new_crumbs[1] = array( |
|
179 | - 0 => __( 'Events', 'lsx' ), |
|
180 | - 1 => get_post_type_archive_link( 'tribe_events' ), |
|
181 | - ); |
|
182 | - } else { |
|
183 | - $new_crumbs[1] = array( |
|
184 | - 'text' => __( 'Events', 'lsx' ), |
|
185 | - 'url' => get_post_type_archive_link( 'tribe_events' ), |
|
186 | - ); |
|
187 | - } |
|
188 | - |
|
189 | - if ( tribe_is_community_my_events_page() ) { |
|
190 | - $new_crumbs[2] = $crumbs[2]; |
|
191 | - } elseif ( tribe_is_community_edit_event_page() ) { |
|
192 | - |
|
193 | - if ( function_exists( 'woocommerce_breadcrumb' ) ) { |
|
194 | - $new_crumbs[2] = array( |
|
195 | - 0 => apply_filters( 'tribe_ce_submit_event_page_title', __( 'My Events', 'lsx' ) ), |
|
196 | - 1 => tribe_community_events_list_events_link(), |
|
197 | - ); |
|
198 | - } else { |
|
199 | - $new_crumbs[2] = array( |
|
200 | - 'text' => apply_filters( 'tribe_ce_submit_event_page_title', __( 'My Events', 'lsx' ) ), |
|
201 | - 'url' => tribe_community_events_list_events_link(), |
|
202 | - ); |
|
203 | - } |
|
204 | - |
|
205 | - $new_crumbs[3] = $crumbs[2]; |
|
206 | - } else { |
|
207 | - $new_crumbs[2] = $crumbs[1]; |
|
208 | - } |
|
209 | - $crumbs = $new_crumbs; |
|
210 | - } |
|
211 | - return $crumbs; |
|
212 | - } |
|
213 | - add_filter( 'wpseo_breadcrumb_links', 'lsx_tec_breadcrumb_filter', 30, 1 ); |
|
214 | - add_filter( 'woocommerce_get_breadcrumb', 'lsx_tec_breadcrumb_filter', 30, 1 ); |
|
165 | + /** |
|
166 | + * Fixes the community events breadcrumb |
|
167 | + * |
|
168 | + * @package lsx |
|
169 | + * @subpackage the-events-calendar |
|
170 | + */ |
|
171 | + function lsx_tec_breadcrumb_filter( $crumbs ) { |
|
172 | + |
|
173 | + if ( tribe_is_venue() || tribe_is_organizer() || tribe_is_community_edit_event_page() || tribe_is_community_my_events_page() ) { |
|
174 | + $new_crumbs = array(); |
|
175 | + $new_crumbs[0] = $crumbs[0]; |
|
176 | + |
|
177 | + if ( function_exists( 'woocommerce_breadcrumb' ) ) { |
|
178 | + $new_crumbs[1] = array( |
|
179 | + 0 => __( 'Events', 'lsx' ), |
|
180 | + 1 => get_post_type_archive_link( 'tribe_events' ), |
|
181 | + ); |
|
182 | + } else { |
|
183 | + $new_crumbs[1] = array( |
|
184 | + 'text' => __( 'Events', 'lsx' ), |
|
185 | + 'url' => get_post_type_archive_link( 'tribe_events' ), |
|
186 | + ); |
|
187 | + } |
|
188 | + |
|
189 | + if ( tribe_is_community_my_events_page() ) { |
|
190 | + $new_crumbs[2] = $crumbs[2]; |
|
191 | + } elseif ( tribe_is_community_edit_event_page() ) { |
|
192 | + |
|
193 | + if ( function_exists( 'woocommerce_breadcrumb' ) ) { |
|
194 | + $new_crumbs[2] = array( |
|
195 | + 0 => apply_filters( 'tribe_ce_submit_event_page_title', __( 'My Events', 'lsx' ) ), |
|
196 | + 1 => tribe_community_events_list_events_link(), |
|
197 | + ); |
|
198 | + } else { |
|
199 | + $new_crumbs[2] = array( |
|
200 | + 'text' => apply_filters( 'tribe_ce_submit_event_page_title', __( 'My Events', 'lsx' ) ), |
|
201 | + 'url' => tribe_community_events_list_events_link(), |
|
202 | + ); |
|
203 | + } |
|
204 | + |
|
205 | + $new_crumbs[3] = $crumbs[2]; |
|
206 | + } else { |
|
207 | + $new_crumbs[2] = $crumbs[1]; |
|
208 | + } |
|
209 | + $crumbs = $new_crumbs; |
|
210 | + } |
|
211 | + return $crumbs; |
|
212 | + } |
|
213 | + add_filter( 'wpseo_breadcrumb_links', 'lsx_tec_breadcrumb_filter', 30, 1 ); |
|
214 | + add_filter( 'woocommerce_get_breadcrumb', 'lsx_tec_breadcrumb_filter', 30, 1 ); |
|
215 | 215 | |
216 | 216 | endif; |
@@ -7,273 +7,273 @@ discard block |
||
7 | 7 | */ |
8 | 8 | |
9 | 9 | if ( ! defined( 'ABSPATH' ) ) { |
10 | - exit; |
|
10 | + exit; |
|
11 | 11 | } |
12 | 12 | |
13 | 13 | if ( ! function_exists( 'lsx_setup' ) ) : |
14 | 14 | |
15 | - /** |
|
16 | - * Theme after_setup_theme action. |
|
17 | - * |
|
18 | - * @package lsx |
|
19 | - * @subpackage config |
|
20 | - */ |
|
21 | - function lsx_setup() { |
|
22 | - global $content_width; |
|
23 | - $content_width = 1140; |
|
24 | - |
|
25 | - load_theme_textdomain( 'lsx', get_template_directory() . '/languages' ); |
|
26 | - |
|
27 | - add_image_size( 'lsx-thumbnail-carousel', 350, 230, true ); |
|
28 | - add_image_size( 'lsx-thumbnail-wide', 360, 168, true ); |
|
29 | - add_image_size( 'lsx-thumbnail-square', 350, 350, true ); |
|
30 | - add_image_size( 'lsx-thumbnail-single', 750, 350, true ); |
|
31 | - add_image_size( 'lsx-banner', 1920, 600, true ); |
|
32 | - |
|
33 | - register_nav_menus( |
|
34 | - array( |
|
35 | - 'primary' => esc_html__( 'Primary Menu', 'lsx' ), |
|
36 | - 'top-menu' => esc_html__( 'Top Menu (right)', 'lsx' ), |
|
37 | - 'top-menu-left' => esc_html__( 'Top Menu (left)', 'lsx' ), |
|
38 | - 'social' => esc_html__( 'Social Menu', 'lsx' ), |
|
39 | - 'footer' => esc_html__( 'Footer Menu', 'lsx' ), |
|
40 | - ) |
|
41 | - ); |
|
42 | - |
|
43 | - add_theme_support( 'automatic-feed-links' ); |
|
44 | - add_theme_support( 'custom-background' ); |
|
45 | - |
|
46 | - add_theme_support( |
|
47 | - 'custom-logo', |
|
48 | - array( |
|
49 | - 'height' => 50, |
|
50 | - 'width' => 160, |
|
51 | - 'flex-width' => true, |
|
52 | - 'flex-height' => true, |
|
53 | - ) |
|
54 | - ); |
|
55 | - |
|
56 | - add_theme_support( 'html5', array( 'caption' ) ); |
|
57 | - |
|
58 | - add_theme_support( |
|
59 | - 'post-formats', |
|
60 | - array( |
|
61 | - 'image', |
|
62 | - 'video', |
|
63 | - 'gallery', |
|
64 | - 'audio', |
|
65 | - 'quote', |
|
66 | - ) |
|
67 | - ); |
|
68 | - |
|
69 | - add_theme_support( 'post-thumbnails' ); |
|
70 | - add_theme_support( 'sensei' ); |
|
71 | - |
|
72 | - add_theme_support( |
|
73 | - 'site-logo', |
|
74 | - array( |
|
75 | - 'header-text' => array( |
|
76 | - 'site-title', |
|
77 | - 'site-description', |
|
78 | - ), |
|
79 | - 'size' => 'medium', |
|
80 | - ) |
|
81 | - ); |
|
82 | - |
|
83 | - add_theme_support( 'title-tag' ); |
|
84 | - |
|
85 | - /* |
|
15 | + /** |
|
16 | + * Theme after_setup_theme action. |
|
17 | + * |
|
18 | + * @package lsx |
|
19 | + * @subpackage config |
|
20 | + */ |
|
21 | + function lsx_setup() { |
|
22 | + global $content_width; |
|
23 | + $content_width = 1140; |
|
24 | + |
|
25 | + load_theme_textdomain( 'lsx', get_template_directory() . '/languages' ); |
|
26 | + |
|
27 | + add_image_size( 'lsx-thumbnail-carousel', 350, 230, true ); |
|
28 | + add_image_size( 'lsx-thumbnail-wide', 360, 168, true ); |
|
29 | + add_image_size( 'lsx-thumbnail-square', 350, 350, true ); |
|
30 | + add_image_size( 'lsx-thumbnail-single', 750, 350, true ); |
|
31 | + add_image_size( 'lsx-banner', 1920, 600, true ); |
|
32 | + |
|
33 | + register_nav_menus( |
|
34 | + array( |
|
35 | + 'primary' => esc_html__( 'Primary Menu', 'lsx' ), |
|
36 | + 'top-menu' => esc_html__( 'Top Menu (right)', 'lsx' ), |
|
37 | + 'top-menu-left' => esc_html__( 'Top Menu (left)', 'lsx' ), |
|
38 | + 'social' => esc_html__( 'Social Menu', 'lsx' ), |
|
39 | + 'footer' => esc_html__( 'Footer Menu', 'lsx' ), |
|
40 | + ) |
|
41 | + ); |
|
42 | + |
|
43 | + add_theme_support( 'automatic-feed-links' ); |
|
44 | + add_theme_support( 'custom-background' ); |
|
45 | + |
|
46 | + add_theme_support( |
|
47 | + 'custom-logo', |
|
48 | + array( |
|
49 | + 'height' => 50, |
|
50 | + 'width' => 160, |
|
51 | + 'flex-width' => true, |
|
52 | + 'flex-height' => true, |
|
53 | + ) |
|
54 | + ); |
|
55 | + |
|
56 | + add_theme_support( 'html5', array( 'caption' ) ); |
|
57 | + |
|
58 | + add_theme_support( |
|
59 | + 'post-formats', |
|
60 | + array( |
|
61 | + 'image', |
|
62 | + 'video', |
|
63 | + 'gallery', |
|
64 | + 'audio', |
|
65 | + 'quote', |
|
66 | + ) |
|
67 | + ); |
|
68 | + |
|
69 | + add_theme_support( 'post-thumbnails' ); |
|
70 | + add_theme_support( 'sensei' ); |
|
71 | + |
|
72 | + add_theme_support( |
|
73 | + 'site-logo', |
|
74 | + array( |
|
75 | + 'header-text' => array( |
|
76 | + 'site-title', |
|
77 | + 'site-description', |
|
78 | + ), |
|
79 | + 'size' => 'medium', |
|
80 | + ) |
|
81 | + ); |
|
82 | + |
|
83 | + add_theme_support( 'title-tag' ); |
|
84 | + |
|
85 | + /* |
|
86 | 86 | * @TODO - Necessary to test it |
87 | 87 | */ |
88 | 88 | |
89 | - // add_theme_support( 'woocommerce' );. |
|
90 | - add_theme_support( 'starter-content', array( |
|
91 | - 'widgets' => array( |
|
92 | - 'sidebar-home' => array( |
|
93 | - 'custom_widget_1' => array( |
|
94 | - 'text', |
|
95 | - |
|
96 | - array( |
|
97 | - 'title' => '', |
|
98 | - 'text' => wp_kses_post( '<div class="row"><div class="col-sm-12 text-center"><h3>Build your perfect website <small>with the LSX theme</small></h3></div></div><div class="row"><div class="col-sm-4 text-center"><h4>Fast</h4><p>"Quick" isn\'t a word most people use when describing their website building experience.</p></div><div class="col-sm-4 text-center"><h4>Easy</h4><p>We\'ve built websites for countless clients, and we know what kind of back-end makes sense easily.</p></div><div class="col-sm-4 text-center"><h4>Comprehensive</h4><p>The LSX extensions come with features out the box that are essential.</p></div></div>' ), |
|
99 | - ), |
|
100 | - ), |
|
101 | - |
|
102 | - 'custom_widget_2' => array( |
|
103 | - 'text', |
|
104 | - |
|
105 | - array( |
|
106 | - 'title' => '', |
|
107 | - 'text' => wp_kses_post( '<div class="lsx-full-width-alt"><div class="row"><div class="col-xs-12"><h3>A big CTA title</h3><p class="text-center"><a class="btn cta-btn" href="http://www.lsdeb.biz/" target="_blank" rel="noreferrer noopener">Hire Us</a><p></div></div></div>' ), |
|
108 | - ), |
|
109 | - ), |
|
110 | - |
|
111 | - 'custom_widget_3' => array( |
|
112 | - 'text', |
|
113 | - |
|
114 | - array( |
|
115 | - 'title' => '', |
|
116 | - 'text' => wp_kses_post( '<div class="row"><div class="col-xs-12"><h3>Homepage Widget</h3><p>Lorem ipsum dolor sit amet, <a href="#">consectetuer adipiscing elit</a>. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p></div></div>' ), |
|
117 | - ), |
|
118 | - ), |
|
119 | - ), |
|
120 | - |
|
121 | - 'sidebar-footer' => array( |
|
122 | - 'custom_widget_1' => array( |
|
123 | - 'text', |
|
124 | - |
|
125 | - array( |
|
126 | - 'title' => esc_html__( 'Space for Footer Widgets', 'lsx' ), |
|
127 | - 'text' => esc_html__( 'This is here to showcase some footer widgets. You can decide what to add and what to hide. Nam nostrum evertitur ad, ut pri nibh veniam, urbanitas definitionem eum ex.', 'lsx' ), |
|
128 | - ), |
|
129 | - ), |
|
130 | - |
|
131 | - 'custom_widget_2' => array( |
|
132 | - 'text', |
|
133 | - |
|
134 | - array( |
|
135 | - 'title' => esc_html__( 'Space for Footer Widgets', 'lsx' ), |
|
136 | - 'text' => esc_html__( 'This is here to showcase some footer widgets. You can decide what to add and what to hide. Nam nostrum evertitur ad, ut pri nibh veniam, urbanitas definitionem eum ex.', 'lsx' ), |
|
137 | - ), |
|
138 | - ), |
|
139 | - |
|
140 | - 'custom_widget_3' => array( |
|
141 | - 'text', |
|
142 | - |
|
143 | - array( |
|
144 | - 'title' => esc_html__( 'Contact us:', 'lsx' ), |
|
145 | - 'text' => wp_kses_post( '<a href="mailto:[email protected]><i class="fa fa-envelope fa-fw"></i> [email protected]</a><br><a href="tel:+27214489843"><i class="fa fa-phone fa-fw"></i> +27 21 448 9843</a><br><i class="fa fa-skype fa-fw"></i> /lightspeeddevelopment' ), |
|
146 | - ), |
|
147 | - ), |
|
148 | - ), |
|
149 | - |
|
150 | - 'sidebar-footer-cta' => array( |
|
151 | - 'custom_widget_1' => array( |
|
152 | - 'text', |
|
153 | - |
|
154 | - array( |
|
155 | - 'title' => esc_html__( 'A Footer Call to Action', 'lsx' ), |
|
156 | - 'text' => esc_html__( 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.', 'lsx' ), |
|
157 | - ), |
|
158 | - ), |
|
159 | - ), |
|
160 | - ), |
|
161 | - |
|
162 | - 'posts' => array( |
|
163 | - 'home' => array( |
|
164 | - 'template' => 'page-templates/template-front-page.php', |
|
165 | - 'thumbnail' => '{{image-banner-example-01}}', |
|
166 | - 'post_title' => esc_html__( 'LSX is a free WordPress theme', 'lsx' ), |
|
167 | - 'post_content' => '', |
|
168 | - ), |
|
169 | - |
|
170 | - 'about' => array( |
|
171 | - 'thumbnail' => '{{image-banner-example-02}}', |
|
172 | - ), |
|
173 | - |
|
174 | - 'blog', |
|
175 | - |
|
176 | - 'contact' => array( |
|
177 | - 'thumbnail' => '{{image-banner-example-03}}', |
|
178 | - ), |
|
179 | - ), |
|
180 | - |
|
181 | - 'attachments' => array( |
|
182 | - 'image-banner-example-01' => array( |
|
183 | - 'post_title' => esc_html_x( 'Banner Example 01', 'Theme starter content', 'lsx' ), |
|
184 | - 'file' => 'assets/images/admin/banner-example-01.jpg', |
|
185 | - ), |
|
186 | - |
|
187 | - 'image-banner-example-02' => array( |
|
188 | - 'post_title' => esc_html_x( 'Banner Example 02', 'Theme starter content', 'lsx' ), |
|
189 | - 'file' => 'assets/images/admin/banner-example-02.jpg', |
|
190 | - ), |
|
191 | - |
|
192 | - 'image-banner-example-03' => array( |
|
193 | - 'post_title' => esc_html_x( 'Banner Example 03', 'Theme starter content', 'lsx' ), |
|
194 | - 'file' => 'assets/images/admin/banner-example-03.jpg', |
|
195 | - ), |
|
196 | - ), |
|
197 | - |
|
198 | - 'options' => array( |
|
199 | - 'show_on_front' => 'page', |
|
200 | - 'page_on_front' => '{{home}}', |
|
201 | - 'page_for_posts' => '{{blog}}', |
|
202 | - 'blogdescription' => esc_html__( 'LSX starter content example', 'lsx' ), |
|
203 | - ), |
|
204 | - |
|
205 | - 'nav_menus' => array( |
|
206 | - 'primary' => array( |
|
207 | - 'name' => esc_html__( 'Primary Menu', 'lsx' ), |
|
208 | - |
|
209 | - 'items' => array( |
|
210 | - 'page_home', |
|
211 | - 'page_about', |
|
212 | - 'page_blog', |
|
213 | - 'page_contact', |
|
214 | - ), |
|
215 | - ), |
|
216 | - |
|
217 | - 'top-menu' => array( |
|
218 | - 'name' => esc_html__( 'Top Menu', 'lsx' ), |
|
219 | - |
|
220 | - 'items' => array( |
|
221 | - 'custom_link_1' => array( |
|
222 | - 'title' => 'View Map', |
|
223 | - 'url' => 'https://www.google.com/maps/place/LightSpeed+WordPress+Development/@-33.92945,18.45345,17z/data=!3m1!4b1!4m2!3m1!1s0x1dcc5da1b2446d25:0xc8ecdb1cc8afd170', |
|
224 | - 'classes' => 'map', |
|
225 | - ), |
|
226 | - |
|
227 | - 'custom_link_2' => array( |
|
228 | - 'title' => '+27 21 448 9843', |
|
229 | - 'url' => 'tel:+27214489843', |
|
230 | - 'classes' => 'tel', |
|
231 | - ), |
|
232 | - |
|
233 | - 'custom_link_3' => array( |
|
234 | - 'title' => '[email protected]', |
|
235 | - 'url' => 'mailto:[email protected]', |
|
236 | - 'classes' => 'email', |
|
237 | - ), |
|
238 | - |
|
239 | - 'page_contact' => array( |
|
240 | - 'classes' => 'cta', |
|
241 | - ), |
|
242 | - ), |
|
243 | - ), |
|
244 | - |
|
245 | - 'social' => array( |
|
246 | - 'name' => esc_html__( 'Social Menu', 'lsx' ), |
|
247 | - |
|
248 | - 'items' => array( |
|
249 | - 'link_facebook', |
|
250 | - 'link_foursquare', |
|
251 | - 'link_github', |
|
252 | - 'link_instagram', |
|
253 | - 'link_linkedin', |
|
254 | - 'link_pinterest', |
|
255 | - 'link_twitter', |
|
256 | - 'link_youtube', |
|
257 | - ), |
|
258 | - ), |
|
259 | - |
|
260 | - 'footer' => array( |
|
261 | - 'name' => esc_html__( 'Footer Menu', 'lsx' ), |
|
262 | - |
|
263 | - 'items' => array( |
|
264 | - 'page_about', |
|
265 | - 'page_contact', |
|
266 | - ), |
|
267 | - ), |
|
268 | - ), |
|
269 | - |
|
270 | - 'theme_mods' => array( |
|
271 | - 'lsx_header_fixed' => true, |
|
272 | - 'lsx_header_search' => false, |
|
273 | - 'lsx_layout' => '1c', |
|
274 | - ), |
|
275 | - ) ); |
|
276 | - } |
|
89 | + // add_theme_support( 'woocommerce' );. |
|
90 | + add_theme_support( 'starter-content', array( |
|
91 | + 'widgets' => array( |
|
92 | + 'sidebar-home' => array( |
|
93 | + 'custom_widget_1' => array( |
|
94 | + 'text', |
|
95 | + |
|
96 | + array( |
|
97 | + 'title' => '', |
|
98 | + 'text' => wp_kses_post( '<div class="row"><div class="col-sm-12 text-center"><h3>Build your perfect website <small>with the LSX theme</small></h3></div></div><div class="row"><div class="col-sm-4 text-center"><h4>Fast</h4><p>"Quick" isn\'t a word most people use when describing their website building experience.</p></div><div class="col-sm-4 text-center"><h4>Easy</h4><p>We\'ve built websites for countless clients, and we know what kind of back-end makes sense easily.</p></div><div class="col-sm-4 text-center"><h4>Comprehensive</h4><p>The LSX extensions come with features out the box that are essential.</p></div></div>' ), |
|
99 | + ), |
|
100 | + ), |
|
101 | + |
|
102 | + 'custom_widget_2' => array( |
|
103 | + 'text', |
|
104 | + |
|
105 | + array( |
|
106 | + 'title' => '', |
|
107 | + 'text' => wp_kses_post( '<div class="lsx-full-width-alt"><div class="row"><div class="col-xs-12"><h3>A big CTA title</h3><p class="text-center"><a class="btn cta-btn" href="http://www.lsdeb.biz/" target="_blank" rel="noreferrer noopener">Hire Us</a><p></div></div></div>' ), |
|
108 | + ), |
|
109 | + ), |
|
110 | + |
|
111 | + 'custom_widget_3' => array( |
|
112 | + 'text', |
|
113 | + |
|
114 | + array( |
|
115 | + 'title' => '', |
|
116 | + 'text' => wp_kses_post( '<div class="row"><div class="col-xs-12"><h3>Homepage Widget</h3><p>Lorem ipsum dolor sit amet, <a href="#">consectetuer adipiscing elit</a>. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.</p></div></div>' ), |
|
117 | + ), |
|
118 | + ), |
|
119 | + ), |
|
120 | + |
|
121 | + 'sidebar-footer' => array( |
|
122 | + 'custom_widget_1' => array( |
|
123 | + 'text', |
|
124 | + |
|
125 | + array( |
|
126 | + 'title' => esc_html__( 'Space for Footer Widgets', 'lsx' ), |
|
127 | + 'text' => esc_html__( 'This is here to showcase some footer widgets. You can decide what to add and what to hide. Nam nostrum evertitur ad, ut pri nibh veniam, urbanitas definitionem eum ex.', 'lsx' ), |
|
128 | + ), |
|
129 | + ), |
|
130 | + |
|
131 | + 'custom_widget_2' => array( |
|
132 | + 'text', |
|
133 | + |
|
134 | + array( |
|
135 | + 'title' => esc_html__( 'Space for Footer Widgets', 'lsx' ), |
|
136 | + 'text' => esc_html__( 'This is here to showcase some footer widgets. You can decide what to add and what to hide. Nam nostrum evertitur ad, ut pri nibh veniam, urbanitas definitionem eum ex.', 'lsx' ), |
|
137 | + ), |
|
138 | + ), |
|
139 | + |
|
140 | + 'custom_widget_3' => array( |
|
141 | + 'text', |
|
142 | + |
|
143 | + array( |
|
144 | + 'title' => esc_html__( 'Contact us:', 'lsx' ), |
|
145 | + 'text' => wp_kses_post( '<a href="mailto:[email protected]><i class="fa fa-envelope fa-fw"></i> [email protected]</a><br><a href="tel:+27214489843"><i class="fa fa-phone fa-fw"></i> +27 21 448 9843</a><br><i class="fa fa-skype fa-fw"></i> /lightspeeddevelopment' ), |
|
146 | + ), |
|
147 | + ), |
|
148 | + ), |
|
149 | + |
|
150 | + 'sidebar-footer-cta' => array( |
|
151 | + 'custom_widget_1' => array( |
|
152 | + 'text', |
|
153 | + |
|
154 | + array( |
|
155 | + 'title' => esc_html__( 'A Footer Call to Action', 'lsx' ), |
|
156 | + 'text' => esc_html__( 'Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec odio. Quisque volutpat mattis eros. Nullam malesuada erat ut turpis. Suspendisse urna nibh, viverra non, semper suscipit, posuere a, pede.', 'lsx' ), |
|
157 | + ), |
|
158 | + ), |
|
159 | + ), |
|
160 | + ), |
|
161 | + |
|
162 | + 'posts' => array( |
|
163 | + 'home' => array( |
|
164 | + 'template' => 'page-templates/template-front-page.php', |
|
165 | + 'thumbnail' => '{{image-banner-example-01}}', |
|
166 | + 'post_title' => esc_html__( 'LSX is a free WordPress theme', 'lsx' ), |
|
167 | + 'post_content' => '', |
|
168 | + ), |
|
169 | + |
|
170 | + 'about' => array( |
|
171 | + 'thumbnail' => '{{image-banner-example-02}}', |
|
172 | + ), |
|
173 | + |
|
174 | + 'blog', |
|
175 | + |
|
176 | + 'contact' => array( |
|
177 | + 'thumbnail' => '{{image-banner-example-03}}', |
|
178 | + ), |
|
179 | + ), |
|
180 | + |
|
181 | + 'attachments' => array( |
|
182 | + 'image-banner-example-01' => array( |
|
183 | + 'post_title' => esc_html_x( 'Banner Example 01', 'Theme starter content', 'lsx' ), |
|
184 | + 'file' => 'assets/images/admin/banner-example-01.jpg', |
|
185 | + ), |
|
186 | + |
|
187 | + 'image-banner-example-02' => array( |
|
188 | + 'post_title' => esc_html_x( 'Banner Example 02', 'Theme starter content', 'lsx' ), |
|
189 | + 'file' => 'assets/images/admin/banner-example-02.jpg', |
|
190 | + ), |
|
191 | + |
|
192 | + 'image-banner-example-03' => array( |
|
193 | + 'post_title' => esc_html_x( 'Banner Example 03', 'Theme starter content', 'lsx' ), |
|
194 | + 'file' => 'assets/images/admin/banner-example-03.jpg', |
|
195 | + ), |
|
196 | + ), |
|
197 | + |
|
198 | + 'options' => array( |
|
199 | + 'show_on_front' => 'page', |
|
200 | + 'page_on_front' => '{{home}}', |
|
201 | + 'page_for_posts' => '{{blog}}', |
|
202 | + 'blogdescription' => esc_html__( 'LSX starter content example', 'lsx' ), |
|
203 | + ), |
|
204 | + |
|
205 | + 'nav_menus' => array( |
|
206 | + 'primary' => array( |
|
207 | + 'name' => esc_html__( 'Primary Menu', 'lsx' ), |
|
208 | + |
|
209 | + 'items' => array( |
|
210 | + 'page_home', |
|
211 | + 'page_about', |
|
212 | + 'page_blog', |
|
213 | + 'page_contact', |
|
214 | + ), |
|
215 | + ), |
|
216 | + |
|
217 | + 'top-menu' => array( |
|
218 | + 'name' => esc_html__( 'Top Menu', 'lsx' ), |
|
219 | + |
|
220 | + 'items' => array( |
|
221 | + 'custom_link_1' => array( |
|
222 | + 'title' => 'View Map', |
|
223 | + 'url' => 'https://www.google.com/maps/place/LightSpeed+WordPress+Development/@-33.92945,18.45345,17z/data=!3m1!4b1!4m2!3m1!1s0x1dcc5da1b2446d25:0xc8ecdb1cc8afd170', |
|
224 | + 'classes' => 'map', |
|
225 | + ), |
|
226 | + |
|
227 | + 'custom_link_2' => array( |
|
228 | + 'title' => '+27 21 448 9843', |
|
229 | + 'url' => 'tel:+27214489843', |
|
230 | + 'classes' => 'tel', |
|
231 | + ), |
|
232 | + |
|
233 | + 'custom_link_3' => array( |
|
234 | + 'title' => '[email protected]', |
|
235 | + 'url' => 'mailto:[email protected]', |
|
236 | + 'classes' => 'email', |
|
237 | + ), |
|
238 | + |
|
239 | + 'page_contact' => array( |
|
240 | + 'classes' => 'cta', |
|
241 | + ), |
|
242 | + ), |
|
243 | + ), |
|
244 | + |
|
245 | + 'social' => array( |
|
246 | + 'name' => esc_html__( 'Social Menu', 'lsx' ), |
|
247 | + |
|
248 | + 'items' => array( |
|
249 | + 'link_facebook', |
|
250 | + 'link_foursquare', |
|
251 | + 'link_github', |
|
252 | + 'link_instagram', |
|
253 | + 'link_linkedin', |
|
254 | + 'link_pinterest', |
|
255 | + 'link_twitter', |
|
256 | + 'link_youtube', |
|
257 | + ), |
|
258 | + ), |
|
259 | + |
|
260 | + 'footer' => array( |
|
261 | + 'name' => esc_html__( 'Footer Menu', 'lsx' ), |
|
262 | + |
|
263 | + 'items' => array( |
|
264 | + 'page_about', |
|
265 | + 'page_contact', |
|
266 | + ), |
|
267 | + ), |
|
268 | + ), |
|
269 | + |
|
270 | + 'theme_mods' => array( |
|
271 | + 'lsx_header_fixed' => true, |
|
272 | + 'lsx_header_search' => false, |
|
273 | + 'lsx_layout' => '1c', |
|
274 | + ), |
|
275 | + ) ); |
|
276 | + } |
|
277 | 277 | |
278 | 278 | endif; |
279 | 279 | |
@@ -281,21 +281,21 @@ discard block |
||
281 | 281 | |
282 | 282 | if ( ! function_exists( 'lsx_init' ) ) : |
283 | 283 | |
284 | - /** |
|
285 | - * Theme init action. |
|
286 | - * |
|
287 | - * @package lsx |
|
288 | - * @subpackage config |
|
289 | - */ |
|
290 | - function lsx_init() { |
|
291 | - add_post_type_support( 'page', 'excerpt' ); |
|
284 | + /** |
|
285 | + * Theme init action. |
|
286 | + * |
|
287 | + * @package lsx |
|
288 | + * @subpackage config |
|
289 | + */ |
|
290 | + function lsx_init() { |
|
291 | + add_post_type_support( 'page', 'excerpt' ); |
|
292 | 292 | |
293 | - if ( class_exists( 'WooCommerce' ) ) { |
|
294 | - remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20 ); |
|
295 | - } |
|
293 | + if ( class_exists( 'WooCommerce' ) ) { |
|
294 | + remove_action( 'woocommerce_before_main_content', 'woocommerce_breadcrumb', 20 ); |
|
295 | + } |
|
296 | 296 | |
297 | - remove_action( 'comment_form', 'wp_comment_form_unfiltered_html_nonce', 10 ); |
|
298 | - } |
|
297 | + remove_action( 'comment_form', 'wp_comment_form_unfiltered_html_nonce', 10 ); |
|
298 | + } |
|
299 | 299 | |
300 | 300 | endif; |
301 | 301 | |
@@ -303,19 +303,19 @@ discard block |
||
303 | 303 | |
304 | 304 | if ( ! function_exists( 'lsx_process_content_width' ) ) : |
305 | 305 | |
306 | - /** |
|
307 | - * Overwrite the $content_width var, based on the layout of the page. |
|
308 | - * |
|
309 | - * @package lsx |
|
310 | - * @subpackage config |
|
311 | - */ |
|
312 | - function lsx_process_content_width() { |
|
313 | - global $content_width; |
|
306 | + /** |
|
307 | + * Overwrite the $content_width var, based on the layout of the page. |
|
308 | + * |
|
309 | + * @package lsx |
|
310 | + * @subpackage config |
|
311 | + */ |
|
312 | + function lsx_process_content_width() { |
|
313 | + global $content_width; |
|
314 | 314 | |
315 | - if ( is_page_template( 'page-templates/template-front-page.php' ) ) { |
|
316 | - $content_width = 1140; |
|
317 | - } |
|
318 | - } |
|
315 | + if ( is_page_template( 'page-templates/template-front-page.php' ) ) { |
|
316 | + $content_width = 1140; |
|
317 | + } |
|
318 | + } |
|
319 | 319 | |
320 | 320 | endif; |
321 | 321 | |
@@ -323,31 +323,31 @@ discard block |
||
323 | 323 | |
324 | 324 | if ( ! function_exists( 'lsx_file_get_contents' ) ) : |
325 | 325 | |
326 | - /** |
|
327 | - * Get file contents. |
|
328 | - * |
|
329 | - * @package lsx |
|
330 | - * @subpackage config |
|
331 | - */ |
|
332 | - function lsx_file_get_contents( $file ) { |
|
333 | - if ( file_exists( $file ) ) { |
|
334 | - global $wp_filesystem; |
|
335 | - |
|
336 | - if ( empty( $wp_filesystem ) ) { |
|
337 | - require_once ABSPATH . 'wp-admin/includes/file.php'; |
|
338 | - WP_Filesystem(); |
|
339 | - } |
|
340 | - |
|
341 | - if ( $wp_filesystem ) { |
|
342 | - $contents = $wp_filesystem->get_contents( $file ); |
|
343 | - |
|
344 | - if ( ! empty( $contents ) ) { |
|
345 | - return $contents; |
|
346 | - } |
|
347 | - } |
|
348 | - } |
|
349 | - |
|
350 | - return ''; |
|
351 | - } |
|
326 | + /** |
|
327 | + * Get file contents. |
|
328 | + * |
|
329 | + * @package lsx |
|
330 | + * @subpackage config |
|
331 | + */ |
|
332 | + function lsx_file_get_contents( $file ) { |
|
333 | + if ( file_exists( $file ) ) { |
|
334 | + global $wp_filesystem; |
|
335 | + |
|
336 | + if ( empty( $wp_filesystem ) ) { |
|
337 | + require_once ABSPATH . 'wp-admin/includes/file.php'; |
|
338 | + WP_Filesystem(); |
|
339 | + } |
|
340 | + |
|
341 | + if ( $wp_filesystem ) { |
|
342 | + $contents = $wp_filesystem->get_contents( $file ); |
|
343 | + |
|
344 | + if ( ! empty( $contents ) ) { |
|
345 | + return $contents; |
|
346 | + } |
|
347 | + } |
|
348 | + } |
|
349 | + |
|
350 | + return ''; |
|
351 | + } |
|
352 | 352 | |
353 | 353 | endif; |