PluginProbe
Autoptimize / trunk
Autoptimize vtrunk
3.1.16 2.2.2 2.3.0 2.3.1 2.3.2 2.3.3 2.3.4 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.5.0 2.5.1 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 All 108 releases
← All changes | classes/autoptimizeHTML.php +21 -1 2.7.6 → trunk View file →
@@ -16,8 +16,15 @@
16 16 */
17 17 private $keepcomments = false;
18 18
19 19 /**
20 + * Whether inline CSS/ JS is minified.
21 + *
22 + * @var bool
23 + */
24 + private $minify_inline = false;
25 +
26 + /**
20 27 * Whether to force xhtml compatibility.
21 28 *
22 29 * @var bool
23 30 */
@@ -41,8 +48,11 @@
41 48
42 49 // Filter to force xhtml.
43 50 $this->forcexhtml = (bool) apply_filters( 'autoptimize_filter_html_forcexhtml', false );
44 51
52 + // minify inline JS/ CSS.
53 + $this->minify_inline = (bool) apply_filters( 'autoptimize_html_minify_inline_js_css', $options['minify_inline'] );
54 +
45 55 // Filterable strings to be excluded from HTML minification.
46 56 $exclude = apply_filters( 'autoptimize_filter_html_exclude', '' );
47 57 if ( '' !== $exclude ) {
48 58 $exclude_arr = array_filter( array_map( 'trim', explode( ',', $exclude ) ) );
@@ -81,9 +91,19 @@
81 91 if ( $this->forcexhtml ) {
82 92 $options['xhtml'] = true;
83 93 }
84 94
85 - $tmp_content = Minify_HTML::minify( $this->content, $options );
95 + // Optionally minify inline JS & CSS.
96 + if ( $this->minify_inline ) {
97 + if ( false != autoptimizeOptionWrapper::get_option( 'autoptimize_js' ) && false != autoptimizeConfig::get_post_meta_ao_settings( 'ao_post_js_optimize' ) && true !== apply_filters( 'autoptimize_filter_js_noptimize', false, $this->content ) && false === strpos( $this->content, 'text/template' ) ) {
98 + $options['jsMinifier'] = 'JSMin::minify';
99 + }
100 + if ( false != autoptimizeOptionWrapper::get_option( 'autoptimize_css' ) && false != autoptimizeConfig::get_post_meta_ao_settings( 'ao_post_css_optimize' ) && true !== apply_filters( 'autoptimize_filter_css_noptimize', false, $this->content ) ) {
101 + $options['cssMinifier'] = 'autoptimizeCSSmin::minify';
102 + }
103 + }
104 +
105 + $tmp_content = AO_Minify_HTML::minify( $this->content, $options );
86 106 if ( ! empty( $tmp_content ) ) {
87 107 $this->content = $tmp_content;
88 108 unset( $tmp_content );
89 109 }