Passed
Push — master ( 5208a6...b8d174 )
by Warwick
51s
created

extras.php ➔ lsx_strip_excerpt()   A

Complexity

Conditions 5
Paths 2

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 5
nc 2
nop 1
dl 0
loc 8
rs 9.6111
c 0
b 0
f 0
1
<?php
2
/**
3
 * LSX functions and definitions - Integrations - Extras
4
 *
5
 * @package    lsx
6
 * @subpackage extras
7
 */
8
9
if ( ! defined( 'ABSPATH' ) ) {
10
	exit;
11
}
12
13
/**
14
 * Enable shortcode for text widget.
15
 *
16
 * @package    lsx
17
 * @subpackage extras
18
 */
19
add_filter( 'widget_text', 'shortcode_unautop' );
20
add_filter( 'widget_text', 'do_shortcode' );
21
22
if ( ! function_exists( 'lsx_kses_allowed_html' ) ) :
23
24
	/**
25
	 * Enable extra attributes (srcset, sizes) in img tag.
26
	 *
27
	 * @package    lsx
28
	 * @subpackage extras
29
	 */
30
	function lsx_kses_allowed_html( $allowedtags, $context ) {
0 ignored issues
show
Unused Code introduced by
The parameter $context is not used and could be removed.

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

Loading history...
31
		$allowedtags['img']['srcset'] = true;
32
		$allowedtags['img']['sizes']  = true;
33
34
		$allowedtags['input']['name'] = true;
35
		$allowedtags['input']['type'] = true;
36
		$allowedtags['input']['value'] = true;
37
		$allowedtags['input']['class'] = true;
38
		$allowedtags['input']['id'] = true;
39
		$allowedtags['script']['type'] = true;
40
		return $allowedtags;
41
	}
42
43
endif;
44
45
add_filter( 'wp_kses_allowed_html', 'lsx_kses_allowed_html', 10, 2 );
46
47
if ( ! function_exists( 'lsx_body_class' ) ) :
48
49
	/**
50
	 * Add and remove body_class() classes.
51
	 *
52
	 * @package    lsx
53
	 * @subpackage extras
54
	 */
55
	function lsx_body_class( $classes ) {
56
		global $post;
57
58
		$header_layout = get_theme_mod( 'lsx_header_layout', 'inline' );
59
		$classes[]     = 'header-' . $header_layout;
60
61
		if ( isset( $post ) ) {
62
			$classes[] = $post->post_name;
63
		}
64
65
		if ( ! class_exists( 'LSX_Banners' ) || ! empty( apply_filters( 'lsx_banner_plugin_disable', false ) ) ) {
66
			$post_types = array( 'page', 'post' );
67
			$post_types = apply_filters( 'lsx_allowed_post_type_banners', $post_types );
68
69
			if ( is_singular( $post_types ) && has_post_thumbnail() ) {
70
				$classes[] = 'page-has-banner';
71
			}
72
		}
73
74
		if ( has_nav_menu( 'top-menu' ) || has_nav_menu( 'top-menu-left' ) ) {
75
			$classes[] = 'has-top-menu';
76
		}
77
78
		$fixed_header = get_theme_mod( 'lsx_header_fixed', false );
79
80
		if ( false !== $fixed_header ) {
81
			$classes[] = 'top-menu-fixed';
82
		}
83
84
		$search_form  = get_theme_mod( 'lsx_header_search', false );
85
86
		if ( false !== $search_form ) {
87
			$classes[] = 'has-header-search';
88
		}
89
90
		$preloader_content  = get_theme_mod( 'lsx_preloader_content_status', false );
91
92
		if ( false !== $preloader_content ) {
93
			$classes[] = 'preloader-content-enable';
94
		}
95
96
		return $classes;
97
	}
98
99
endif;
100
101
add_filter( 'body_class', 'lsx_body_class' );
102
103
if ( ! function_exists( 'lsx_embed_wrap' ) ) :
104
105
	/**
106
	 * Wrap embedded media as suggested by Readability.
107
	 *
108
	 * @package    lsx
109
	 * @subpackage extras
110
	 *
111
	 * @link https://gist.github.com/965956
112
	 * @link http://www.readability.com/publishers/guidelines#publisher
113
	 */
114
	function lsx_embed_wrap( $cache, $url, $attr = '', $post_id = '' ) {
0 ignored issues
show
Unused Code introduced by
The parameter $url is not used and could be removed.

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

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

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

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

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

Loading history...
115
		if ( false !== strpos( $cache, '<iframe' ) ) {
116
			return '<div class="entry-content-asset">' . $cache . '</div>';
117
		}
118
119
		return $cache;
120
	}
121
122
endif;
123
124
add_filter( 'embed_oembed_html', 'lsx_embed_wrap', 10, 4 );
125
126
if ( ! function_exists( 'lsx_remove_self_closing_tags' ) ) :
127
128
	/**
129
	 * Remove unnecessary self-closing tags.
130
	 *
131
	 * @package    lsx
132
	 * @subpackage extras
133
	 */
134
	function lsx_remove_self_closing_tags( $input ) {
135
		return str_replace( ' />', '>', $input );
136
	}
137
138
endif;
139
140
add_filter( 'get_avatar',          'lsx_remove_self_closing_tags' ); // <img />
141
add_filter( 'comment_id_fields',   'lsx_remove_self_closing_tags' ); // <input />
142
add_filter( 'post_thumbnail_html', 'lsx_remove_self_closing_tags' ); // <img />
143
144
if ( ! function_exists( 'lsx_is_element_empty' ) ) :
145
146
	/**
147
	 * Checks if a Nav $element is empty or not.
148
	 *
149
	 * @package    lsx
150
	 * @subpackage extras
151
	 */
152
	function lsx_is_element_empty( $element ) {
153
		$element = trim( $element );
154
		return empty( $element ) ? false : true;
155
	}
156
157
endif;
158
159
if ( ! function_exists( 'lsx_get_thumbnail' ) ) :
160
161
	/**
162
	 * return the responsive images.
163
	 *
164
	 * @package    lsx
165
	 * @subpackage extras
166
	 */
167
	function lsx_get_thumbnail( $size, $image_src = false ) {
168
		if ( false === $image_src ) {
169
			$post_id           = get_the_ID();
170
			$post_thumbnail_id = get_post_thumbnail_id( $post_id );
171
		} elseif ( false !== $image_src ) {
172
			if ( is_numeric( $image_src ) ) {
173
				$post_thumbnail_id = $image_src;
174
			} else {
175
				$post_thumbnail_id = lsx_get_attachment_id_from_src( $image_src );
176
			}
177
		}
178
179
		$size = apply_filters( 'lsx_thumbnail_size', $size );
180
		$img = false;
0 ignored issues
show
Unused Code introduced by
$img is not used, you could remove the assignment.

This check looks for variable assignements that are either overwritten by other assignments or where the variable is not used subsequently.

$myVar = 'Value';
$higher = false;

if (rand(1, 6) > 3) {
    $higher = true;
} else {
    $higher = false;
}

Both the $myVar assignment in line 1 and the $higher assignment in line 2 are dead. The first because $myVar is never used and the second because $higher is always overwritten for every possible time line.

Loading history...
181
182
		if ( 'lsx-thumbnail-single' === $size || 'lsx-thumbnail-wide' === $size || 'lsx-thumbnail-square' === $size || 'thumbnail' === $size ) {
183
			$srcset = false;
184
			$img    = wp_get_attachment_image_src( $post_thumbnail_id, $size );
0 ignored issues
show
Bug introduced by
The variable $post_thumbnail_id does not seem to be defined for all execution paths leading up to this point.

If you define a variable conditionally, it can happen that it is not defined for all execution paths.

Let’s take a look at an example:

function myFunction($a) {
    switch ($a) {
        case 'foo':
            $x = 1;
            break;

        case 'bar':
            $x = 2;
            break;
    }

    // $x is potentially undefined here.
    echo $x;
}

In the above example, the variable $x is defined if you pass “foo” or “bar” as argument for $a. However, since the switch statement has no default case statement, if you pass any other value, the variable $x would be undefined.

Available Fixes

  1. Check for existence of the variable explicitly:

    function myFunction($a) {
        switch ($a) {
            case 'foo':
                $x = 1;
                break;
    
            case 'bar':
                $x = 2;
                break;
        }
    
        if (isset($x)) { // Make sure it's always set.
            echo $x;
        }
    }
    
  2. Define a default value for the variable:

    function myFunction($a) {
        $x = ''; // Set a default which gets overridden for certain paths.
        switch ($a) {
            case 'foo':
                $x = 1;
                break;
    
            case 'bar':
                $x = 2;
                break;
        }
    
        echo $x;
    }
    
  3. Add a value for the missing path:

    function myFunction($a) {
        switch ($a) {
            case 'foo':
                $x = 1;
                break;
    
            case 'bar':
                $x = 2;
                break;
    
            // We add support for the missing case.
            default:
                $x = '';
                break;
        }
    
        echo $x;
    }
    
Loading history...
185
			$img    = $img[0];
186
		} else {
187
			$srcset = true;
188
			$img = wp_get_attachment_image_srcset( $post_thumbnail_id, $size );
189
190
			if ( empty( $img ) ) {
191
				$srcset = false;
192
				$img = wp_get_attachment_image_src( $post_thumbnail_id, $size );
193
				$img = $img[0];
194
			}
195
		}
196
197
		if ( ! empty( $img ) ) {
198
			if ( $srcset ) {
199
				$img = '<img alt="' . the_title_attribute( 'echo=0' ) . '" class="attachment-responsive wp-post-image lsx-responsive" srcset="' . esc_attr( $img ) . '" />';
200
			} else {
201
				$img = '<img alt="' . the_title_attribute( 'echo=0' ) . '" class="attachment-responsive wp-post-image lsx-responsive" src="' . esc_url( $img ) . '" />';
202
			}
203
204
			$img = apply_filters( 'lsx_lazyload_filter_images', $img );
205
		}
206
207
		return $img;
208
	}
209
210
endif;
211
212
if ( ! function_exists( 'lsx_thumbnail' ) ) :
213
214
	/**
215
	 * Output the Resonsive Images.
216
	 *
217
	 * @package    lsx
218
	 * @subpackage extras
219
	 */
220
	function lsx_thumbnail( $size = 'thumbnail', $image_src = false ) {
221
		echo wp_kses_post( lsx_get_thumbnail( $size, $image_src ) );
222
	}
223
224
endif;
225
226
if ( ! function_exists( 'lsx_get_attachment_id_from_src' ) ) :
227
228
	/**
229
	 * Gets the attachments ID from the src.
230
	 *
231
	 * @package    lsx
232
	 * @subpackage extras
233
	 */
234
	function lsx_get_attachment_id_from_src( $image_src ) {
235
		$post_id = wp_cache_get( $image_src, 'lsx_get_attachment_id_from_src' );
236
237
		if ( false === $post_id ) {
238
			global $wpdb;
239
			$post_id = $wpdb->get_var( $wpdb->prepare( "SELECT ID FROM {$wpdb->posts} WHERE guid='%s' LIMIT 1", $image_src ) );
240
			wp_cache_set( $image_src, $post_id, 'lsx_get_attachment_id_from_src', 3600 );
241
		}
242
243
		return $post_id;
244
	}
245
246
endif;
247
248
if ( ! function_exists( 'lsx_page_banner' ) ) :
249
250
	/**
251
	 * Add Featured Image as Banner on Single Pages.
252
	 *
253
	 * @package    lsx
254
	 * @subpackage extras
255
	 */
256
	function lsx_page_banner() {
257
		if ( true === apply_filters( 'lsx_page_banner_disable', false ) ) {
258
			return;
259
		}
260
261
		$post_types = array( 'page', 'post' );
262
		$post_types = apply_filters( 'lsx_allowed_post_type_banners', $post_types );
263
264
		if ( is_singular( $post_types ) && has_post_thumbnail() ) :
265
			$bg_image = '';
266
267
			if ( has_post_thumbnail() ) {
268
				$bg_image = wp_get_attachment_image_src( get_post_thumbnail_id( get_the_ID() ), 'full' );
269
				$bg_image = $bg_image[0];
270
			}
271
272
			if ( ! empty( $bg_image ) ) :
273
				?>
274
					<div class="page-banner-wrap">
275
						<div class="page-banner">
276
							<div class="page-banner-image" style="background-image:url(<?php echo esc_attr( $bg_image ); ?>);"></div>
277
278
							<div class="container">
279
								<header class="page-header">
280
									<h1 class="page-title"><?php the_title(); ?></h1>
281
									<?php lsx_banner_content(); ?>
282
								</header>
283
							</div>
284
285
							<?php lsx_banner_inner_bottom(); ?>
286
						</div>
287
					</div>
288
				<?php
289
			endif;
290
		endif;
291
	}
292
293
endif;
294
295
add_action( 'lsx_header_after', 'lsx_page_banner' );
296
297
if ( ! function_exists( 'lsx_form_submit_button' ) ) :
298
299
	/**
300
	 * filter the Gravity Forms button type.
301
	 *
302
	 * @package    lsx
303
	 * @subpackage extras
304
	 *
305
	 * @param  $button String
306
	 * @param  $form   Object
307
	 * @return String
308
	 */
309
	function lsx_form_submit_button( $button, $form ) {
0 ignored issues
show
Unused Code introduced by
The parameter $button is not used and could be removed.

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

Loading history...
310
		return "<button class='btn btn-primary' id='gform_submit_button_{$form["id"]}'><span>Submit</span></button>";
311
	}
312
313
endif;
314
315
add_filter( 'gform_submit_button', 'lsx_form_submit_button', 10, 2 );
316
317
if ( ! function_exists( 'lsx_excerpt_more' ) ) :
318
319
	/**
320
	 * Replaces the excerpt "more" text by a link.
321
	 *
322
	 * @package    lsx
323
	 * @subpackage extras
324
	 */
325
	function lsx_excerpt_more( $more ) {
0 ignored issues
show
Unused Code introduced by
The parameter $more is not used and could be removed.

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

Loading history...
326
		return '...';
327
	}
328
329
endif;
330
331
add_filter( 'excerpt_more', 'lsx_excerpt_more' );
332
333
if ( ! function_exists( 'lsx_the_excerpt_filter' ) ) :
334
335
	/**
336
	 * Add a continue reading link to the excerpt.
337
	 *
338
	 * @package    lsx
339
	 * @subpackage extras
340
	 */
341
	function lsx_the_excerpt_filter( $excerpt ) {
342
343
		$post_formats = array(
344
			'aside' => 'aside',
345
			'gallery' => 'gallery',
346
			'link' => 'link',
347
			'image' => 'image',
348
			'quote' => 'quote',
349
			'status' => 'status',
350
			'video' => 'video',
351
			'audio' => 'audio',
352
		);
353
354
		$show_full_content = has_post_format( apply_filters( 'lsx_the_excerpt_filter_post_types', $post_formats ) );
355
356
		if ( ! $show_full_content ) {
357
			if ( '' !== $excerpt && ! stristr( $excerpt, 'moretag' ) ) {
358
				$pagination = wp_link_pages( array(
359
					'before'      => '<div class="lsx-postnav-wrapper"><div class="lsx-postnav">',
360
					'after'       => '</div></div>',
361
					'link_before' => '<span>',
362
					'link_after'  => '</span>',
363
					'echo'        => 0,
364
				) );
365
366
				if ( ! empty( $pagination ) ) {
367
					$excerpt .= $pagination;
368
				} else {
369
					$excerpt_more = '<p><a class="moretag" href="' . esc_url( get_permalink() ) . '">' . esc_html__( 'Continue reading', 'lsx' ) . '</a></p>';
370
					$excerpt .= apply_filters( 'excerpt_more_p', $excerpt_more );
371
				}
372
			}
373
		}
374
375
		return $excerpt;
376
	}
377
378
endif;
379
380
add_filter( 'the_excerpt', 'lsx_the_excerpt_filter' , 1 , 20 );
381
382
if ( ! function_exists( 'lsx_custom_wp_trim_excerpt' ) ) :
383
384
	/**
385
	 * Allow HTML tags in excerpt.
386
	 *
387
	 * @package    lsx
388
	 * @subpackage extras
389
	 */
390
	function lsx_custom_wp_trim_excerpt( $wpse_excerpt ) {
391
		global $post;
392
		$raw_excerpt = $wpse_excerpt;
393
394
		if ( empty( $wpse_excerpt ) ) {
395
			$wpse_excerpt      = get_the_content( '' );
396
397
			$post_formats = array(
398
				'aside' => 'aside',
399
				'gallery' => 'gallery',
400
				'link' => 'link',
401
				'image' => 'image',
402
				'quote' => 'quote',
403
				'status' => 'status',
404
				'video' => 'video',
405
				'audio' => 'audio',
406
			);
407
408
			$show_full_content = has_post_format( apply_filters( 'lsx_excerpt_read_more_post_formats', $post_formats ) );
409
410
			if ( ! $show_full_content ) {
411
				$wpse_excerpt = strip_shortcodes( $wpse_excerpt );
412
				$wpse_excerpt = apply_filters( 'the_content', $wpse_excerpt );
413
				$wpse_excerpt = str_replace( ']]>', ']]>', $wpse_excerpt );
414
				$wpse_excerpt = strip_tags( $wpse_excerpt, apply_filters( 'excerpt_strip_tags', '<h1>,<h2>,<h3>,<h4>,<h5>,<h6>,<a>,<button>,<blockquote>,<p>,<br>,<b>,<strong>,<i>,<u>,<ul>,<ol>,<li>,<span>,<div>' ) );
415
416
				$excerpt_word_count = 50;
417
				$excerpt_word_count = apply_filters( 'excerpt_length', $excerpt_word_count );
418
419
				$tokens         = array();
420
				$excerpt_output = '';
421
				$has_more       = false;
422
				$count          = 0;
423
424
				preg_match_all( '/(<[^>]+>|[^<>\s]+)\s*/u', $wpse_excerpt, $tokens );
425
426
				foreach ( $tokens[0] as $token ) {
427
					if ( $count >= $excerpt_word_count ) {
428
						$excerpt_output .= trim( $token );
429
						$has_more = true;
430
						break;
431
					}
432
433
					$count++;
434
					$excerpt_output .= $token;
435
				}
436
437
				$wpse_excerpt = trim( force_balance_tags( $excerpt_output ) );
438
439
				if ( $has_more ) {
440
					$excerpt_end = '<a class="moretag" href="' . esc_url( get_permalink() ) . '">' . esc_html__( 'More', 'lsx' ) . '</a>';
441
					$excerpt_end = apply_filters( 'excerpt_more', ' ' . $excerpt_end );
442
443
					$pos = strrpos( $wpse_excerpt, '</' );
444
445
					if ( false !== $pos ) {
446
						// Inside last HTML tag
447
						$wpse_excerpt = substr_replace( $wpse_excerpt, $excerpt_end, $pos, 0 ); /* Add read more next to last word */
448
					} else {
449
						// After the content
450
						$wpse_excerpt .= $excerpt_end; /*Add read more in new paragraph */
451
					}
452
				}
453
			} else {
454
				$wpse_excerpt = apply_filters( 'the_content', $wpse_excerpt );
455
				$wpse_excerpt = str_replace( ']]>', ']]>', $wpse_excerpt );
456
				//$wpse_excerpt = strip_tags( $wpse_excerpt, '<blockquote>,<p>' );
0 ignored issues
show
Unused Code Comprehensibility introduced by
50% of this comment could be valid code. Did you maybe forget this after debugging?

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

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

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

Loading history...
457
				$wpse_excerpt = trim( force_balance_tags( $wpse_excerpt ) );
458
			}
459
460
			return $wpse_excerpt;
461
		}
462
463
		return apply_filters( 'lsx_custom_wp_trim_excerpt', $wpse_excerpt, $raw_excerpt );
464
	}
465
466
endif;
467
468
remove_filter( 'get_the_excerpt', 'wp_trim_excerpt' );
469
add_filter( 'get_the_excerpt', 'lsx_custom_wp_trim_excerpt' );
470
471
if ( ! function_exists( 'lsx_full_width_widget_classes' ) ) :
472
473
	/**
474
	 * Filter sidebar widget params, to add the widget_lsx_full_width_alt or widget_lsx_full_width classes to the text widget.
475
	 *
476
	 * @package    lsx
477
	 * @subpackage extras
478
	 */
479
	function lsx_full_width_widget_classes( $params ) {
480
		if ( is_admin() ) {
481
			return $params;
482
		}
483
484
		global $wp_registered_widgets;
485
486
		$widget_id   = $params[0]['widget_id'];
487
		$widget_name = $params[0]['widget_name'];
488
489
		if ( 'Text' === $widget_name ) {
490
			$wp_registered_widgets[ $widget_id ]['original_callback'] = $wp_registered_widgets[ $widget_id ]['callback'];
491
			$wp_registered_widgets[ $widget_id ]['callback'] = 'lsx_full_width_widget_custom_callback';
492
		}
493
494
		return $params;
495
	}
496
497
endif;
498
499
add_filter( 'dynamic_sidebar_params', 'lsx_full_width_widget_classes' );
500
501
if ( ! function_exists( 'lsx_full_width_widget_custom_callback' ) ) :
502
503
	/**
504
	 * Filter sidebar widget params, to add the widget_lsx_full_width_alt or widget_lsx_full_width classes to the text widget.
505
	 *
506
	 * @package    lsx
507
	 * @subpackage extras
508
	 */
509
	function lsx_full_width_widget_custom_callback() {
510
		global $wp_registered_widgets;
511
512
		$original_callback_params = func_get_args();
513
		$widget_id = $original_callback_params[0]['widget_id'];
514
515
		$original_callback = $wp_registered_widgets[ $widget_id ]['original_callback'];
516
		$wp_registered_widgets[ $widget_id ]['callback'] = $original_callback;
517
518
		$widget_id_base = $wp_registered_widgets[ $widget_id ]['callback'][0]->id_base;
519
520
		$widget_classname = '';
521
522
		if ( is_callable( $original_callback ) ) {
523
			ob_start();
524
			call_user_func_array( $original_callback, $original_callback_params );
525
			$widget_output = ob_get_clean();
526
527
			echo wp_kses_post( apply_filters( 'lsx_widget_output', $widget_output, $widget_id_base, $widget_classname, $widget_id ) );
528
		}
529
	}
530
531
endif;
532
533
if ( ! function_exists( 'lsx_full_width_widget_output' ) ) :
534
535
	/**
536
	 * Filter sidebar widget params, to add the widget_lsx_full_width_alt or widget_lsx_full_width classes to the text widget.
537
	 *
538
	 * @package    lsx
539
	 * @subpackage extras
540
	 */
541
	function lsx_full_width_widget_output( $widget_output, $widget_id_base, $widget_id ) {
0 ignored issues
show
Unused Code introduced by
The parameter $widget_id is not used and could be removed.

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

Loading history...
542
		if ( 'text' === $widget_id_base ) {
543
			if ( false !== strpos( $widget_output, '<div class="lsx-full-width-alt">' ) ) {
544
				$widget_output = str_replace( 'class="widget widget_text"', 'class="widget widget_text widget_lsx_full_width_alt"', $widget_output );
545
			} elseif ( false !== strpos( $widget_output, '<div class="lsx-full-width">' ) ) {
546
				$widget_output = str_replace( 'class="widget widget_text"', 'class="widget widget_text widget_lsx_full_width"', $widget_output );
547
			}
548
		}
549
550
		return $widget_output;
551
	}
552
553
endif;
554
555
add_filter( 'lsx_widget_output', 'lsx_full_width_widget_output', 10, 3 );
556
557
/**
558
 * Check if the content has a restricted post format that needs to show a full excerpt.
559
 */
560
function lsx_post_format_force_content_on_list() {
561
	$post_formats = apply_filters( 'lsx_post_format_force_content_on_list',
562
		array(
563
				'video' => 'video',
564
				'audio' => 'audio',
565
				'quote' => 'quote',
566
				'link' => 'link',
567
			)
568
	);
569
	$return = false;
570
	if ( ! has_post_format( $post_formats ) ) {
571
		$return = true;
572
	}
573
	return $return;
574
}
575
576
/**
577
 * Remove the Hentry Class Every
578
 */
579
function lsx_remove_hentry( $classes ) {
580
	if ( 'post' !== get_post_type() ) {
581
		$classes = array_diff( $classes, array( 'hentry' ) );
582
	}
583
	return $classes;
584
}
585
add_filter( 'post_class','lsx_remove_hentry' );
586
587
/**
588
 * Strip Excerpts.
589
 *
590
 */
591
function lsx_strip_excerpt( $content ) {
592
	if ( is_search() || is_archive() || ( is_blog_installed() && ! is_single() ) ) {
593
		$content = strip_shortcodes($content);
594
	    $content = str_replace(']]>', ']]&gt;', $content);
595
	    $content = strip_tags($content);
596
	}
597
	return $content;
598
}
599
add_filter( 'the_content', 'lsx_strip_excerpt');
600