PluginProbe
Autoptimize / 3.1.16
Autoptimize v3.1.16
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
autoptimize / classes / critcss-inc / admin_settings_explain.php

admin_settings_explain.php in Autoptimize 3.1.16, at classes/critcss-inc/admin_settings_explain.php

58 lines 3.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Explain what CCSS is (visible if no API key is stored).
4 */
5
6 /**
7 * Actual function that explains.
8 */
9 function ao_ccss_render_explain() {
10 ?>
11 <style>
12 .ao_settings_div {background: white;border: 1px solid #ccc;padding: 1px 15px;margin: 15px 10px 10px 0;}
13 .ao_settings_div .form-table th {font-weight: normal;}
14 </style>
15 <script>document.title = "Autoptimize: <?php esc_html_e( 'Critical CSS', 'autoptimize' ); ?> " + document.title;</script>
16 <ul id="explain-panel">
17 <div class="ao_settings_div">
18 <?php
19 $ccss_explanation = '';
20
21 if ( apply_filters( 'autoptimize_filter_ccss_rules_without_api', true ) ) {
22 $_transient = 'ao3_ccss_explain';
23 $_explain_html = 'https://misc.optimizingmatters.com/autoptimize_ccss_explain_ao30_i18n.html?ao_ver=';
24 } else {
25 $_transient = 'ao_ccss_explain';
26 $_explain_html = 'https://misc.optimizingmatters.com/autoptimize_ccss_explain_i18n.html?ao_ver=';
27 }
28
29 // get the HTML with the explanation of what critical CSS is.
30 if ( apply_filters( 'autoptimize_settingsscreen_remotehttp', true ) ) {
31 $ccss_explanation = get_transient( $_transient );
32 if ( empty( $ccss_explanation ) ) {
33 $ccss_expl_resp = wp_remote_get( $_explain_html . AUTOPTIMIZE_PLUGIN_VERSION );
34 if ( ! is_wp_error( $ccss_expl_resp ) ) {
35 if ( '200' == wp_remote_retrieve_response_code( $ccss_expl_resp ) ) {
36 $ccss_explanation = wp_kses_post( wp_remote_retrieve_body( $ccss_expl_resp ) );
37 set_transient( $_transient, $ccss_explanation, WEEK_IN_SECONDS );
38 }
39 }
40 }
41 }
42
43 // placeholder text in case HTML is empty.
44 if ( empty( $ccss_explanation ) ) {
45 $ccss_explanation = sprintf( esc_html__( '%1$sFix render-blocking CSS!%2$s%3$sSignificantly improve your first-paint times by making CSS non-render-blocking.%4$s%3$sThe %5$snext step is to sign up at %7$shttps://criticalcss.com%8$s%6$s (this is a premium service, priced 2 GBP/month for membership and 5 GBP/month per domain) %5$sand get the API key%6$s, which you can copy from %7$sthe API-keys page%8$s and paste below.%4$s%3$sIf you have any questions or need support, head on over to %9$sour support forum%10$s and we\'ll help you get up and running in no time!%4$s', 'autoptimize' ), '<h2>', '</h2>', '<p>', '</p>', '<strong>', '</strong>', '<a href="https://criticalcss.com/?aff=1" target="_blank">', '</a>', '<a href="https://wordpress.org/support/plugin/autoptimize" target="_blank">', '</a>' );
46 } else {
47 // we were able to fetch the explenation, so add the JS to show correct language.
48 $ccss_explanation .= "<script>jQuery('.ao_i18n').hide();d=document;lang=d.getElementsByTagName('html')[0].getAttribute('lang').substring(0,2);if(d.getElementById(lang)!= null){jQuery('#'+lang).show();}else{jQuery('#default').show();}</script>";
49 }
50
51 // and echo it.
52 echo $ccss_explanation;
53 ?>
54 </div>
55 </ul>
56 <?php
57 }
58