Asset CleanUp: Page Speed Booster - Version 1.2.8.2

Version Description

  • Added option to expand / contract "Styles" and "Scripts" management list and ability to choose the initial state on page load via plugin's "Settings" page
Download this release

Release Info

Developer gabelivan
Plugin Icon 128x128 Asset CleanUp: Page Speed Booster
Version 1.2.8.2
Comparing to
See all releases

Code changes from version 1.2.8.1 to 1.2.8.2

assets/style.min.css CHANGED
@@ -1 +1 @@
1
- .wpacu_update_btn,label.wpacu_add_global{cursor:pointer!important}.wpacu-tabs{position:relative;overflow:hidden;margin:0 auto 20px;width:100%;font-weight:300;font-size:20px}.wpacu-tabs nav{text-align:center}.wpacu-tabs nav ul{position:relative;display:-ms-flexbox;display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:flex;margin:0 auto;padding:0;max-width:1200px;list-style:none;-ms-box-orient:horizontal;-ms-box-pack:center;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center}.wpacu-tabs nav ul li{position:relative;z-index:1;display:block;margin:0;text-align:center;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1}.wpacu-tabs nav ul li span.license-status{position:absolute;font-size:12px;left:0;right:50%;bottom:12px;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.wpacu-tabs nav ul li span.license-status.inactive{color:#c00}.wpacu-tabs nav ul li span.license-status.active{color:green}.wpacu-tabs nav a{position:relative;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:2.5}.wpacu-tabs nav a span{vertical-align:middle;font-size:14px}.wpacu-tabs nav li.wpacu-tab-current a{color:#74777b}.wpacu-tabs nav a:focus{outline:0}.wpacu-tabs .dashicons{font-size:20px}.no-js .wpacu-content-wrap section{display:block;padding-bottom:2em;border-bottom:1px solid rgba(255,255,255,.6)}.no-flexbox nav ul{display:block}.no-flexbox nav ul li{min-width:15%;display:inline-block}@media screen and (max-width:58em){.wpacu-tabs nav a.icon span{display:none}.wpacu-tabs nav a:before{margin-right:0}}.wpacu-tabs-style-underline nav{background:#fff}.wpacu-tabs-style-underline nav a{color:#74777b;font-size:18px;text-transform:uppercase;text-decoration:none;padding:.25em 0 .5em;border-left:1px solid #e7ecea;-webkit-transition:color .2s;transition:color .2s}.wpacu-tabs-style-underline nav li:last-child a{border-right:1px solid #e7ecea}.wpacu-tabs-style-underline nav li a::after{position:absolute;bottom:0;left:0;width:100%;height:6px;background:#2CC185;content:'';-webkit-transition:-webkit-transform .3s;transition:transform .3s;-webkit-transform:translate3d(0,150%,0);transform:translate3d(0,150%,0)}.wpacu-tabs-style-underline nav li.wpacu-tab-current a::after{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.wpacu-tabs-style-underline nav a span{font-weight:700}.wpacu-tabs-style-topline{max-width:1200px;margin:20px auto 30px 0;width:100%;font-weight:300;text-decoration:none}.wpacu-tabs-style-topline nav li{border:1px solid rgba(40,44,42,.1)}.wpacu-tabs-style-topline nav li:not(:last-child){border-right:none}.wpacu-tabs-style-topline nav li.wpacu-tab-current{border-top-color:#0085ba;border-bottom:none}.wpacu-tabs-style-topline nav a{padding:20px 10px;background:rgba(40,44,42,.05);color:#74777b;line-height:1;-webkit-transition:color .2s;transition:color .2s;text-decoration:none}.wpacu-tabs-style-topline nav a:focus,.wpacu-tabs-style-topline nav a:hover{color:#0085ba}.wpacu-tabs-style-topline nav li.wpacu-tab-current a{background:0 0;box-shadow:inset 0 3px 0 #0085ba;color:#0085ba}.wpacu-tabs-style-topline nav li.wpacu-tab-current a span:not(.dashicons){font-weight:600}.wpacu-tabs-style-topline nav a span{text-transform:uppercase;font-weight:400}.wpacu-script-attributes-area{margin:20px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings{padding:5px 7px!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings.wpacu-first{margin:0 28px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings label{margin:0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li{margin:0 16px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li:last-child{margin:0 2px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings{background:#fff!important;border:1px solid #eee!important;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:5px 10px!important;list-style:none;display:inline-block;margin:0}.wpacu-script-attributes-area .wpacu-script-attributes-settings input[type=radio]{padding:0;margin:0 5px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings.wpacu-first{margin:0 34px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings li{float:left;margin:0 17px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings li:last-child{margin:0}.wpacu-script-attributes-area .wpacu-script-attributes-settings:hover{background:#f2faf2}body.toplevel_page_wpassetcleanup_settings .notice{padding:10px!important}tr.wpacu_not_load td,tr.wpacu_not_load th{background:#FFE1E1!important}.dashicons-wpacu{width:17px;height:17px;margin:2px 0 0;font-size:16px;text-decoration:none}.wpacu_widefat .check-column.wpacu_check{padding:10px}body[class*=wpassetcleanup] #footer-left{border-left:2px solid green;padding-left:10px}#wpacu_meta_box_content{width:99%}#wpacu_meta_box_content h3{margin-left:0;padding-left:0}#wpacu_meta_box_content div.wpacu_note,#wpacu_wrap_assets div.wpacu_note{padding:10px;background-color:#f5f5f5}#wpacu_meta_box_content .dashicons.dashicons-warning{color:#c00}#wpacu_meta_box_content div.wpacu_warning,#wpacu_wrap_assets div.wpacu_warning{border:1px solid #c00}#wpacu_meta_box_content div.wpacu_verified{padding:10px;background-color:#f5f5f5;border-left:1px solid #ddd}#wpacu_meta_box_content div.wpacu_verified span{color:#0073aa;font-weight:700}#wpacu_meta_box_content ul.wpacu_asset_options{margin:0;padding:0}#wpacu_meta_box_content ul.wpacu_asset_options li{list-style:none;display:inline-block}#wpacu_wrap_assets img,#wpacu_wrap_assets small,.wpacu_asset_row td label{display:inline-block!important}#wpacu_meta_box_content ul.wpacu_asset_options label{font-weight:400;margin-right:5px;margin-top:5px;margin-bottom:5px}#wpacu_wrap_assets{color:#000!important;text-align:left!important;clear:both!important;width:90%!important;padding:20px!important;margin:30px 0 0 15px!important;border:1px solid #cdcdcd;z-index:10000!important;position:relative!important;background-color:#fff!important}#wpacu_wrap_assets small{margin:0!important;letter-spacing:normal!important}#wpacu_wrap_assets input[type=checkbox]{margin-right:4px!important}#wpacu_wrap_assets p{margin:10px 0!important;line-height:22px!important;text-align:left!important;font-weight:400!important}#wpacu_wrap_assets p:first-child,.wpacu_verified{margin:0 0 10px!important}#wpacu_wrap_assets h1{margin:0 0 20px!important;font-size:160%!important;text-align:left!important}#wpacu_wrap_assets h3{margin:20px 0;font-size:130%}.wpacu_asset_row td{padding:10px!important;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:1px solid #cdcdcd}.wpacu_asset_row td:first-child{border-top:1px solid #cdcdcd}.wpacu_asset_row td p{padding:0!important;margin-bottom:10px!important;word-wrap:break-word!important;-ms-word-break:break-all;word-break:break-word}.wpacu_asset_row td label{margin:0!important;cursor:pointer!important;font-size:100%!important;font-weight:400!important}.wpacu_asset_row td label span{font-size:100%!important}.wpacu_asset_row td.wpacu_check{width:50px!important}.asset-table-extra-info td{padding:5px!important}body.wp-admin .wpacu_asset_row td.wpacu_check{width:25px!important}.wpacu_asset_row .dashicons{color:red!important}label.wpacu_global_checked{font-weight:700;color:#d54e21}label.wpacu_global_unload_exception{font-weight:700!important}label.wpacu_bulk_unload_active{color:#d54e21}tr.wpacu_global_rule_row.selected{background:#e7e7e7}.nav-tab-wrapper{border-bottom:1px solid #ccc;width:95%}ul.wpacu_asset_options{margin:0 10px 0 0;padding:0}ul.wpacu_asset_options li{margin:0 20px 0 0;list-style:none;display:inline-block}ul.wpacu_asset_options li.remove_rule label{font-weight:700}ul.wpacu_asset_options label{margin-right:20px;font-weight:400}ul.wpacu_asset_options label input{margin-right:4px}.wpacu_list_table,.wpacu_list_table div,.wpacu_list_table li,.wpacu_list_table p{font-weight:400}.wpacu_widefat{width:99%;border:1px solid #e5e5e5!important}.wpacu_striped>tbody>:nth-child(even),ul.wpacu_striped>:nth-child(even){background-color:#fff!important}.wpacu_striped>tbody>:nth-child(odd),ul.wpacu_striped>:nth-child(odd){background-color:#f9f9f9!important}.wpacu_update_btn{-moz-box-shadow:inset 0 1px 0 0 #54a3f7!important;-webkit-box-shadow:inset 0 1px 0 0 #54a3f7!important;box-shadow:inset 0 1px 0 0 #54a3f7!important;background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#007dc1),color-stop(1,#0061a7))!important;background:-moz-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-webkit-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-o-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-ms-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:linear-gradient(to bottom,#007dc1 5%,#0061a7 100%)!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#007dc1', endColorstr='#0061a7', GradientType=0)!important;background-color:#007dc1!important;-moz-border-radius:3px!important;-webkit-border-radius:3px!important;border-radius:3px!important;border:1px solid #124d77!important;display:inline-block!important;color:#fff!important;font-size:15px!important;padding:10px 24px!important;text-decoration:none!important;text-shadow:0 1px 0 #154682!important;height:auto!important;line-height:normal!important}.wpacu-btns .btn:focus,.wpacu-btns .btn:hover,.wpacu-btns a{text-decoration:none}.wpacu_update_btn:hover{background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#0061a7),color-stop(1,#007dc1))!important;background:-moz-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-webkit-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-o-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-ms-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:linear-gradient(to bottom,#0061a7 5%,#007dc1 100%)!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0061a7', endColorstr='#007dc1', GradientType=0)!important;background-color:#0061a7!important}.wpacu_update_btn:active{position:relative!important;top:1px!important}ul.hire-reasons{margin-bottom:20px}ul.hire-reasons li{font-size:14px;line-height:22px;margin-bottom:12px}ul.hire-reasons li .dashicons{font-size:23px;line-height:23px}ul.hire-reasons li .dashicons.dashicons-yes{color:green}ol.getting-started li{font-size:14px;line-height:22px;margin-bottom:8px}.wpacu-get-help-wrap p{font-size:14px}.wpacu-btns .btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;-webkit-border-radius:.25rem;-moz-border-radius:.25rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wpacu-btns .btn.focus,.wpacu-btns .btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.wpacu-btns .btn.disabled,.wpacu-btns .btn:disabled{cursor:not-allowed;opacity:.65}.wpacu-btns .btn.active,.wpacu-btns .btn:active{background-image:none}.wpacu-btns a.btn.disabled,.wpacu-btns fieldset[disabled] a.btn{pointer-events:none}.wpacu-btns .btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.wpacu-btns .btn-primary.focus,.wpacu-btns .btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-primary.disabled,.wpacu-btns .btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary.active,.wpacu-btns .btn-primary:active,.wpacu-btns .show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.wpacu-btns .btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.wpacu-btns .btn-secondary.focus,.wpacu-btns .btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-secondary.disabled,.wpacu-btns .btn-secondary:disabled{background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary.active,.wpacu-btns .btn-secondary:active,.wpacu-btns .show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.wpacu-btns .btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.wpacu-btns .btn-info.focus,.wpacu-btns .btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-info.disabled,.wpacu-btns .btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info.active,.wpacu-btns .btn-info:active,.wpacu-btns .show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.wpacu-btns .btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.wpacu-btns .btn-success.focus,.wpacu-btns .btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-success.disabled,.wpacu-btns .btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success.active,.wpacu-btns .btn-success:active,.wpacu-btns .show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.wpacu-btns .btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.wpacu-btns .btn-warning.focus,.wpacu-btns .btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-warning.disabled,.wpacu-btns .btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning.active,.wpacu-btns .btn-warning:active,.wpacu-btns .show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.wpacu-btns .btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.wpacu-btns .btn-danger.focus,.wpacu-btns .btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-danger.disabled,.wpacu-btns .btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger.active,.wpacu-btns .btn-danger:active,.wpacu-btns .show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.wpacu-btns .btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.wpacu-btns .btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-primary.focus,.wpacu-btns .btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-outline-primary.disabled,.wpacu-btns .btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.wpacu-btns .btn-outline-primary.active,.wpacu-btns .btn-outline-primary:active,.wpacu-btns .show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.wpacu-btns .btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-secondary.focus,.wpacu-btns .btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-outline-secondary.disabled,.wpacu-btns .btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.wpacu-btns .btn-outline-secondary.active,.wpacu-btns .btn-outline-secondary:active,.wpacu-btns .show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.wpacu-btns .btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-info.focus,.wpacu-btns .btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-outline-info.disabled,.wpacu-btns .btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.wpacu-btns .btn-outline-info.active,.wpacu-btns .btn-outline-info:active,.wpacu-btns .show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.wpacu-btns .btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-success.focus,.wpacu-btns .btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-outline-success.disabled,.wpacu-btns .btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.wpacu-btns .btn-outline-success.active,.wpacu-btns .btn-outline-success:active,.wpacu-btns .show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning.focus,.wpacu-btns .btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-outline-warning.disabled,.wpacu-btns .btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.wpacu-btns .btn-outline-warning.active,.wpacu-btns .btn-outline-warning:active,.wpacu-btns .show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.wpacu-btns .btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-outline-danger.focus,.wpacu-btns .btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-outline-danger.disabled,.wpacu-btns .btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.wpacu-btns .btn-outline-danger.active,.wpacu-btns .btn-outline-danger:active,.wpacu-btns .show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-link{font-weight:400;color:#0275d8;border-radius:0}.wpacu-btns .btn-link,.wpacu-btns .btn-link.active,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:disabled{background-color:transparent}.wpacu-btns .btn-link,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{border-color:transparent}.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.wpacu-btns .btn-link:disabled{color:#636c72}.wpacu-btns .btn-link:disabled:focus,.wpacu-btns .btn-link:disabled:hover{text-decoration:none}.wpacu-btns .btn-group-lg>.btn,.wpacu-btns .btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.wpacu-btns .btn-group-sm>.btn,.wpacu-btns .btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.wpacu-btns .btn-block{display:block;width:100%}.go-pro-button,.go-pro-link-no-style,.wordpress-core-file{display:inline-block;text-decoration:none}.wpacu-btns .btn-block+.btn-block{margin-top:.5rem}.wpacu-btns input[type=submit].btn-block,.wpacu-btns input[type=reset].btn-block,.wpacu-btns input[type=button].btn-block{width:100%}.wpacu-btns .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.go-pro-button{background-color:#4CAF50;border:2px solid #4CAF50;color:#fff;padding:12px 18px;text-align:center;font-size:16px;margin:4px 2px;cursor:pointer;border-radius:10px;-webkit-transition-duration:.4s;transition-duration:.4s}.go-pro-button:hover{background-color:#fff;color:#000;border:2px solid #4CAF50}.go-pro-link-no-style .tooltip,.wordpress-core-file .tooltip{font-size:14px;line-height:18px;z-index:1;text-align:center;padding:6px;border-radius:6px;bottom:100%;left:50%}.go-pro-link-no-style{position:relative;color:inherit}.go-pro-link-no-style:not(.nav-tab){font-style:italic}.go-pro-link-no-style .tooltip{position:absolute;visibility:hidden;width:130px;background-color:#27ae60;color:#fff;margin-left:-65px}.go-pro-link-no-style .tooltip.wpacu-larger{width:240px}.go-pro-link-no-style:hover .tooltip{visibility:visible}.wordpress-core-file{position:relative;font-style:normal;color:inherit}.wordpress-core-file .tooltip{position:absolute;visibility:hidden;width:160px;background-color:#c00;color:#fff;margin-left:-80px}.wordpress-core-file:hover .tooltip{visibility:visible}body.wp-admin .go-pro-link-no-style .tooltip{font-size:12px;line-height:16px;padding:5px}.pro-page-unlock-notice{border-radius:10px;padding:10px;background:#f2faf2;border:1px solid #c0e8c0;width:auto;display:block}.wpacu-get-help-wrap .help-content-wrap{margin:20px 0 25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;width:100%}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpacu-get-help-wrap .help-content-wrap .help-content{padding:15px;background:#fff;border:1px solid #E0E0E0;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;box-shadow:2px 3px 8px 0 #231f2038;flex:1 1 50%;margin-bottom:10px}.wpacu-get-help-wrap .help-content-wrap .help-content .content-title{margin:5px 0 15px}.wpacu-get-help-wrap .help-content-wrap .help-content .cols-wrap{width:100%;margin:0 auto;display:table}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area{margin:5px 0 0;position:relative}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-left{float:left;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-right{float:right;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.activate-plugin img{max-width:280px}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area img{width:99%;margin:8px 0;border:1px solid #cdcdcd;border-radius:10px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{order:2}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap .help-content{margin-right:24px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{margin-right:0}}.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{order:1}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{margin-bottom:30px}}.wpacu-get-help-wrap .help-content-wrap .help-content ul{list-style:none;padding-left:0}.wpacu-get-help-wrap .help-content-wrap .help-content ul li{font-size:14px;line-height:22px;margin-bottom:15px}.wpacu-get-help-wrap .help-content-wrap .help-content p:last-child,.wpacu-get-help-wrap .help-content-wrap .help-content ul li:last-child{margin-bottom:0}.ajax-direct-call-error-area{background:#fff;padding:10px;border:1px solid #c00;border-radius:8px}.ajax-direct-call-error-area td{padding:6px}.ajax-direct-call-error-area .note{margin-top:0;padding-top:0}.ajax-direct-call-error-area .error-code{color:#c00;font-weight:700}.ajax-wp-remote-post-call-error-area{background:#fff;padding:20px}.ajax-wp-remote-post-call-error-area .table-data{background:0 0;border:1px solid #c66;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.ajax-wp-remote-post-call-error-area .table-data td{padding:10px}.wrap-upgrade-info{background:#fff;padding:0 15px;border:1px solid #cdcdcd;border-radius:10px}.wpacu-notice{margin:20px 20px 0 0!important}.wpacu-notice p{font-weight:600!important;font-style:italic}.wpacu-notice .dashicons{font-weight:inherit!important;color:#46b450!important;margin-right:4px;vertical-align:text-bottom;font-size:27px}.toplevel_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle{margin-top:2px;line-height:1.2}.toplevel_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle em{font-weight:200}.toplevel_page_wpassetcleanup_settings .setting_title p.wpacu_read_more{margin-top:-10px;font-style:italic;font-size:12px}.toplevel_page_wpassetcleanup_settings .wpacu_switch{position:relative;display:inline-block;width:52px;height:29px}.toplevel_page_wpassetcleanup_settings .wpacu_switch.wpacu_locked_for_pro{opacity:.3}.toplevel_page_wpassetcleanup_settings .wpacu_switch input{display:none}.toplevel_page_wpassetcleanup_settings .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.toplevel_page_wpassetcleanup_settings .wpacu_slider:before{position:absolute;content:'';height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.toplevel_page_wpassetcleanup_settings input:checked+.wpacu_slider{background-color:#52af00}.toplevel_page_wpassetcleanup_settings input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.toplevel_page_wpassetcleanup_settings input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.toplevel_page_wpassetcleanup_settings .wpacu_slider.wpacu_round{border-radius:29px}.toplevel_page_wpassetcleanup_settings .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu_asset_row td{width:100%}.wpacu_asset_row td .wpacu_asset_options_wrap{padding:8px 10px;margin:15px 0;background:#fff;border:1px solid #eee;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu_asset_row td .wpacu_asset_options_wrap p:first-child{margin-top:0;margin-bottom:8px!important}.wpacu_asset_row p.wpacu_handle{margin-top:0}.wpacu_asset_row li.wpacu_unload_this_page{display:block!important;position:relative}.wpacu_asset_row .wpacu_switch{position:relative;display:inline-block;width:52px;height:29px;margin-right:5px!important}.wpacu_asset_row .wpacu_switch input{display:none}.wpacu_asset_row .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.wpacu_asset_row .wpacu_slider:before{position:absolute;content:'';height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.wpacu_asset_row .wpacu_slider_text{position:absolute;left:62px;top:3px}.wpacu_asset_row input:checked+.wpacu_slider{background-color:#C00}.wpacu_asset_row input:focus+.wpacu_slider{box-shadow:0 0 1px #C00}.wpacu_asset_row input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.wpacu_asset_row .wpacu_slider.wpacu_round{border-radius:29px}.wpacu_asset_row .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu_table_wrap{margin:20px 0 0}.wpacu_table_wrap>table{border:1px solid #cdcdcd}.wpacu_table_wrap .table{width:100%;max-width:100%;margin-bottom:1rem;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu_table_wrap .table td,.wpacu_table_wrap .table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.wpacu_table_wrap .table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.wpacu_table_wrap .table tbody+tbody{border-top:2px solid #eceeef}.wpacu_table_wrap .table .table{background-color:#fff}.wpacu_table_wrap .table-sm td,.wpacu_table_wrap .table-sm th{padding:.3rem}.wpacu_table_wrap .table-bordered,.wpacu_table_wrap .table-bordered td,.wpacu_table_wrap .table-bordered th{border:1px solid #eceeef}.wpacu_table_wrap .table-bordered thead td,.wpacu_table_wrap .table-bordered thead th{border-bottom-width:2px}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(even){background-color:#f9f9f9}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(odd){background-color:#fff}.wpacu_table_wrap .table-active,.wpacu_table_wrap .table-active>td,.wpacu_table_wrap .table-active>th,.wpacu_table_wrap .table-hover .table-active:hover,.wpacu_table_wrap .table-hover .table-active:hover>td,.wpacu_table_wrap .table-hover .table-active:hover>th,.wpacu_table_wrap .table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-success,.wpacu_table_wrap .table-success>td,.wpacu_table_wrap .table-success>th{background-color:#dff0d8}.wpacu_table_wrap .table-hover .table-success:hover,.wpacu_table_wrap .table-hover .table-success:hover>td,.wpacu_table_wrap .table-hover .table-success:hover>th{background-color:#d0e9c6}.wpacu_table_wrap .table-info,.wpacu_table_wrap .table-info>td,.wpacu_table_wrap .table-info>th{background-color:#d9edf7}.wpacu_table_wrap .table-hover .table-info:hover,.wpacu_table_wrap .table-hover .table-info:hover>td,.wpacu_table_wrap .table-hover .table-info:hover>th{background-color:#c4e3f3}.wpacu_table_wrap .table-warning,.wpacu_table_wrap .table-warning>td,.wpacu_table_wrap .table-warning>th{background-color:#fcf8e3}.wpacu_table_wrap .table-hover .table-warning:hover,.wpacu_table_wrap .table-hover .table-warning:hover>td,.wpacu_table_wrap .table-hover .table-warning:hover>th{background-color:#faf2cc}.wpacu_table_wrap .table-danger,.wpacu_table_wrap .table-danger>td,.wpacu_table_wrap .table-danger>th{background-color:#f2dede}.wpacu_table_wrap .table-hover .table-danger:hover,.wpacu_table_wrap .table-hover .table-danger:hover>td,.wpacu_table_wrap .table-hover .table-danger:hover>th{background-color:#ebcccc}.wpacu_table_wrap .thead-inverse th{color:#fff;background-color:#292b2c}.wpacu_table_wrap .thead-default th{color:#464a4c;background-color:#eceeef}.wpacu_table_wrap .table-inverse{color:#fff;background-color:#292b2c}.wpacu_table_wrap .table-inverse td,.wpacu_table_wrap .table-inverse th,.wpacu_table_wrap .table-inverse thead th{border-color:#fff}.wpacu_table_wrap .table-inverse.table-bordered,.wpacu_table_wrap .table-responsive.table-bordered{border:0}.wpacu_table_wrap .table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}
1
+ .wpacu_update_btn,label.wpacu_add_global{cursor:pointer!important}.wpacu-tabs{position:relative;overflow:hidden;margin:0 auto 20px;width:100%;font-weight:300;font-size:20px}.wpacu-tabs nav{text-align:center}.wpacu-tabs nav ul{position:relative;display:-ms-flexbox;display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:flex;margin:0 auto;padding:0;max-width:1200px;list-style:none;-ms-box-orient:horizontal;-ms-box-pack:center;-webkit-flex-flow:row wrap;-moz-flex-flow:row wrap;-ms-flex-flow:row wrap;flex-flow:row wrap;-webkit-justify-content:center;-moz-justify-content:center;-ms-justify-content:center;justify-content:center}.wpacu-tabs nav ul li{position:relative;z-index:1;display:block;margin:0;text-align:center;-webkit-flex:1;-moz-flex:1;-ms-flex:1;flex:1}.wpacu-tabs nav ul li span.license-status{position:absolute;font-size:12px;left:0;right:50%;bottom:12px;-webkit-transform:translate(50%,50%);transform:translate(50%,50%)}.wpacu-tabs nav ul li span.license-status.inactive{color:#c00}.wpacu-tabs nav ul li span.license-status.active{color:green}.wpacu-tabs nav a{position:relative;display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:2.5}.wpacu-tabs nav a span{vertical-align:middle;font-size:14px}.wpacu-tabs nav li.wpacu-tab-current a{color:#74777b}.wpacu-tabs nav a:focus{outline:0}.wpacu-tabs .dashicons{font-size:20px}.no-js .wpacu-content-wrap section{display:block;padding-bottom:2em;border-bottom:1px solid rgba(255,255,255,.6)}.no-flexbox nav ul{display:block}.no-flexbox nav ul li{min-width:15%;display:inline-block}@media screen and (max-width:58em){.wpacu-tabs nav a.icon span{display:none}.wpacu-tabs nav a:before{margin-right:0}}.wpacu-tabs-style-underline nav{background:#fff}.wpacu-tabs-style-underline nav a{color:#74777b;font-size:18px;text-transform:uppercase;text-decoration:none;padding:.25em 0 .5em;border-left:1px solid #e7ecea;-webkit-transition:color .2s;transition:color .2s}.wpacu-tabs-style-underline nav li:last-child a{border-right:1px solid #e7ecea}.wpacu-tabs-style-underline nav li a::after{position:absolute;bottom:0;left:0;width:100%;height:6px;background:#2CC185;content:'';-webkit-transition:-webkit-transform .3s;transition:transform .3s;-webkit-transform:translate3d(0,150%,0);transform:translate3d(0,150%,0)}.wpacu-tabs-style-underline nav li.wpacu-tab-current a::after{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.wpacu-tabs-style-underline nav a span{font-weight:700}.wpacu-tabs-style-topline{max-width:1200px;margin:20px auto 30px 0;width:100%;font-weight:300;text-decoration:none}.wpacu-tabs-style-topline nav li{border:1px solid rgba(40,44,42,.1)}.wpacu-tabs-style-topline nav li:not(:last-child){border-right:none}.wpacu-tabs-style-topline nav li.wpacu-tab-current{border-top-color:#0085ba;border-bottom:none}.wpacu-tabs-style-topline nav a{padding:20px 10px;background:rgba(40,44,42,.05);color:#74777b;line-height:1;-webkit-transition:color .2s;transition:color .2s;text-decoration:none}.wpacu-tabs-style-topline nav a:focus,.wpacu-tabs-style-topline nav a:hover{color:#0085ba}.wpacu-tabs-style-topline nav li.wpacu-tab-current a{background:0 0;box-shadow:inset 0 3px 0 #0085ba;color:#0085ba}.wpacu-tabs-style-topline nav li.wpacu-tab-current a span:not(.dashicons){font-weight:600}.wpacu-tabs-style-topline nav a span{text-transform:uppercase;font-weight:400}.wpacu-script-attributes-area{margin:20px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings{padding:5px 7px!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings.wpacu-first{margin:0 28px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings label{margin:0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li{margin:0 16px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area.wpacu-lite ul.wpacu-script-attributes-settings li:last-child{margin:0 2px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings{background:#fff!important;border:1px solid #eee!important;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;padding:5px 10px!important;list-style:none;display:inline-block;margin:0}.wpacu-script-attributes-area .wpacu-script-attributes-settings input[type=radio]{padding:0;margin:0 5px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings.wpacu-first{margin:0 34px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings li{float:left;margin:0 17px 0 0}.wpacu-script-attributes-area .wpacu-script-attributes-settings li:first-child{margin:0 10px 0 0!important}.wpacu-script-attributes-area .wpacu-script-attributes-settings li:last-child{margin:0}.wpacu-script-attributes-area .wpacu-script-attributes-settings:hover{background:#f2faf2}body.toplevel_page_wpassetcleanup_settings .notice{padding:10px!important}tr.wpacu_not_load td,tr.wpacu_not_load th{background:#FFE1E1!important}.dashicons-wpacu{width:17px;height:17px;margin:2px 0 0;font-size:16px;text-decoration:none}.wpacu_widefat .check-column.wpacu_check{padding:10px}body[class*=wpassetcleanup] #footer-left{border-left:2px solid green;padding-left:10px}#wpacu_meta_box_content{width:99%}#wpacu_meta_box_content h3{margin-left:0;padding-left:0}#wpacu_meta_box_content div.wpacu_note,#wpacu_wrap_assets div.wpacu_note{padding:10px;background-color:#f5f5f5}#wpacu_meta_box_content .dashicons.dashicons-warning{color:#c00}#wpacu_meta_box_content div.wpacu_warning,#wpacu_wrap_assets div.wpacu_warning{border:1px solid #c00}#wpacu_meta_box_content div.wpacu_verified{padding:10px;background-color:#f5f5f5;border-left:1px solid #ddd}#wpacu_meta_box_content div.wpacu_verified span{color:#0073aa;font-weight:700}#wpacu_meta_box_content ul.wpacu_asset_options{margin:0;padding:0}#wpacu_meta_box_content ul.wpacu_asset_options li{list-style:none;display:inline-block}#wpacu_wrap_assets img,#wpacu_wrap_assets small,.wpacu_asset_row td label{display:inline-block!important}#wpacu_meta_box_content ul.wpacu_asset_options label{font-weight:400;margin-right:5px;margin-top:5px;margin-bottom:5px}#wpacu_wrap_assets{color:#000!important;text-align:left!important;clear:both!important;width:90%!important;padding:20px!important;margin:30px 0 0 15px!important;border:1px solid #cdcdcd;z-index:10000!important;position:relative!important;background-color:#fff!important}#wpacu_wrap_assets small{margin:0!important;letter-spacing:normal!important}#wpacu_wrap_assets input[type=checkbox]{margin-right:4px!important}#wpacu_wrap_assets p{margin:10px 0!important;line-height:22px!important;text-align:left!important;font-weight:400!important}#wpacu_wrap_assets p:first-child,.wpacu_verified{margin:0 0 10px!important}#wpacu_wrap_assets h1{margin:0 0 20px!important;font-size:160%!important;text-align:left!important}#wpacu_wrap_assets h3{margin:20px 0;font-size:130%}.wpacu_asset_row td{padding:10px!important;border-left:1px solid #cdcdcd;border-right:1px solid #cdcdcd;border-bottom:1px solid #cdcdcd}.wpacu_asset_row td:first-child{border-top:1px solid #cdcdcd}.wpacu_asset_row td p{padding:0!important;margin-bottom:10px!important;word-wrap:break-word!important;-ms-word-break:break-all;word-break:break-word}.wpacu_asset_row td label{margin:0!important;cursor:pointer!important;font-size:100%!important;font-weight:400!important}.wpacu_asset_row td label span:not(.dashicons){font-size:100%!important}.wpacu_asset_row td.wpacu_check{width:50px!important}.asset-table-extra-info td{padding:5px!important}body.wp-admin .wpacu_asset_row td.wpacu_check{width:25px!important}.wpacu_asset_row .dashicons-warning{color:red!important}label.wpacu_global_checked{font-weight:700;color:#d54e21}label.wpacu_global_unload_exception{font-weight:700!important}label.wpacu_bulk_unload_active{color:#d54e21}tr.wpacu_global_rule_row.selected{background:#e7e7e7}.nav-tab-wrapper{border-bottom:1px solid #ccc;width:95%}ul.wpacu_asset_options{margin:0 10px 0 0;padding:0}ul.wpacu_asset_options li{margin:0 20px 0 0;list-style:none;display:inline-block}ul.wpacu_asset_options li.remove_rule label{font-weight:700}ul.wpacu_asset_options label{margin-right:20px;font-weight:400}ul.wpacu_asset_options label input{margin-right:4px}.wpacu_list_table,.wpacu_list_table div,.wpacu_list_table li,.wpacu_list_table p{font-weight:400}.wpacu_widefat{width:99%;border:1px solid #e5e5e5!important}.wpacu_striped>tbody>:nth-child(even),ul.wpacu_striped>:nth-child(even){background-color:#fff!important}.wpacu_striped>tbody>:nth-child(odd),ul.wpacu_striped>:nth-child(odd){background-color:#f9f9f9!important}.wpacu_update_btn{-moz-box-shadow:inset 0 1px 0 0 #54a3f7!important;-webkit-box-shadow:inset 0 1px 0 0 #54a3f7!important;box-shadow:inset 0 1px 0 0 #54a3f7!important;background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#007dc1),color-stop(1,#0061a7))!important;background:-moz-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-webkit-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-o-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:-ms-linear-gradient(top,#007dc1 5%,#0061a7 100%)!important;background:linear-gradient(to bottom,#007dc1 5%,#0061a7 100%)!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#007dc1', endColorstr='#0061a7', GradientType=0)!important;background-color:#007dc1!important;-moz-border-radius:3px!important;-webkit-border-radius:3px!important;border-radius:3px!important;border:1px solid #124d77!important;display:inline-block!important;color:#fff!important;font-size:15px!important;padding:10px 24px!important;text-decoration:none!important;text-shadow:0 1px 0 #154682!important;height:auto!important;line-height:normal!important}.wpacu-btns .btn:focus,.wpacu-btns .btn:hover,.wpacu-btns a{text-decoration:none}.wpacu_update_btn:hover{background:-webkit-gradient(linear,left top,left bottom,color-stop(.05,#0061a7),color-stop(1,#007dc1))!important;background:-moz-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-webkit-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-o-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:-ms-linear-gradient(top,#0061a7 5%,#007dc1 100%)!important;background:linear-gradient(to bottom,#0061a7 5%,#007dc1 100%)!important;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#0061a7', endColorstr='#007dc1', GradientType=0)!important;background-color:#0061a7!important}.wpacu_update_btn:active{position:relative!important;top:1px!important}ul.hire-reasons{margin-bottom:20px}ul.hire-reasons li{font-size:14px;line-height:22px;margin-bottom:12px}ul.hire-reasons li .dashicons{font-size:23px;line-height:23px}ul.hire-reasons li .dashicons.dashicons-yes{color:green}ol.getting-started li{font-size:14px;line-height:22px;margin-bottom:8px}.wpacu-get-help-wrap p{font-size:14px}.wpacu-btns .btn{display:inline-block;font-weight:400;line-height:1.25;text-align:center;white-space:nowrap;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;padding:.5rem 1rem;font-size:1rem;-webkit-border-radius:.25rem;-moz-border-radius:.25rem;border-radius:.25rem;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.wpacu-btns .btn.focus,.wpacu-btns .btn:focus{outline:0;-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.25);box-shadow:0 0 0 2px rgba(2,117,216,.25)}.wpacu-btns .btn.disabled,.wpacu-btns .btn:disabled{cursor:not-allowed;opacity:.65}.wpacu-btns .btn.active,.wpacu-btns .btn:active{background-image:none}.wpacu-btns a.btn.disabled,.wpacu-btns fieldset[disabled] a.btn{pointer-events:none}.wpacu-btns .btn-primary{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary:hover{color:#fff;background-color:#025aa5;border-color:#01549b}.wpacu-btns .btn-primary.focus,.wpacu-btns .btn-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-primary.disabled,.wpacu-btns .btn-primary:disabled{background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-primary.active,.wpacu-btns .btn-primary:active,.wpacu-btns .show>.btn-primary.dropdown-toggle{color:#fff;background-color:#025aa5;background-image:none;border-color:#01549b}.wpacu-btns .btn-secondary{color:#292b2c;background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary:hover{color:#292b2c;background-color:#e6e6e6;border-color:#adadad}.wpacu-btns .btn-secondary.focus,.wpacu-btns .btn-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-secondary.disabled,.wpacu-btns .btn-secondary:disabled{background-color:#fff;border-color:#ccc}.wpacu-btns .btn-secondary.active,.wpacu-btns .btn-secondary:active,.wpacu-btns .show>.btn-secondary.dropdown-toggle{color:#292b2c;background-color:#e6e6e6;background-image:none;border-color:#adadad}.wpacu-btns .btn-info{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#2aabd2}.wpacu-btns .btn-info.focus,.wpacu-btns .btn-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-info.disabled,.wpacu-btns .btn-info:disabled{background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-info.active,.wpacu-btns .btn-info:active,.wpacu-btns .show>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;background-image:none;border-color:#2aabd2}.wpacu-btns .btn-success{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success:hover{color:#fff;background-color:#449d44;border-color:#419641}.wpacu-btns .btn-success.focus,.wpacu-btns .btn-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-success.disabled,.wpacu-btns .btn-success:disabled{background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-success.active,.wpacu-btns .btn-success:active,.wpacu-btns .show>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;background-image:none;border-color:#419641}.wpacu-btns .btn-warning{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#eb9316}.wpacu-btns .btn-warning.focus,.wpacu-btns .btn-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-warning.disabled,.wpacu-btns .btn-warning:disabled{background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-warning.active,.wpacu-btns .btn-warning:active,.wpacu-btns .show>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;background-image:none;border-color:#eb9316}.wpacu-btns .btn-danger{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#c12e2a}.wpacu-btns .btn-danger.focus,.wpacu-btns .btn-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-danger.disabled,.wpacu-btns .btn-danger:disabled{background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-danger.active,.wpacu-btns .btn-danger:active,.wpacu-btns .show>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;background-image:none;border-color:#c12e2a}.wpacu-btns .btn-outline-primary{color:#0275d8;background-image:none;background-color:transparent;border-color:#0275d8}.wpacu-btns .btn-outline-primary:hover{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-primary.focus,.wpacu-btns .btn-outline-primary:focus{-webkit-box-shadow:0 0 0 2px rgba(2,117,216,.5);box-shadow:0 0 0 2px rgba(2,117,216,.5)}.wpacu-btns .btn-outline-primary.disabled,.wpacu-btns .btn-outline-primary:disabled{color:#0275d8;background-color:transparent}.wpacu-btns .btn-outline-primary.active,.wpacu-btns .btn-outline-primary:active,.wpacu-btns .show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#0275d8;border-color:#0275d8}.wpacu-btns .btn-outline-secondary{color:#ccc;background-image:none;background-color:transparent;border-color:#ccc}.wpacu-btns .btn-outline-secondary:hover{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-secondary.focus,.wpacu-btns .btn-outline-secondary:focus{-webkit-box-shadow:0 0 0 2px rgba(204,204,204,.5);box-shadow:0 0 0 2px rgba(204,204,204,.5)}.wpacu-btns .btn-outline-secondary.disabled,.wpacu-btns .btn-outline-secondary:disabled{color:#ccc;background-color:transparent}.wpacu-btns .btn-outline-secondary.active,.wpacu-btns .btn-outline-secondary:active,.wpacu-btns .show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#ccc;border-color:#ccc}.wpacu-btns .btn-outline-info{color:#5bc0de;background-image:none;background-color:transparent;border-color:#5bc0de}.wpacu-btns .btn-outline-info:hover{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-info.focus,.wpacu-btns .btn-outline-info:focus{-webkit-box-shadow:0 0 0 2px rgba(91,192,222,.5);box-shadow:0 0 0 2px rgba(91,192,222,.5)}.wpacu-btns .btn-outline-info.disabled,.wpacu-btns .btn-outline-info:disabled{color:#5bc0de;background-color:transparent}.wpacu-btns .btn-outline-info.active,.wpacu-btns .btn-outline-info:active,.wpacu-btns .show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#5bc0de;border-color:#5bc0de}.wpacu-btns .btn-outline-success{color:#5cb85c;background-image:none;background-color:transparent;border-color:#5cb85c}.wpacu-btns .btn-outline-success:hover{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-success.focus,.wpacu-btns .btn-outline-success:focus{-webkit-box-shadow:0 0 0 2px rgba(92,184,92,.5);box-shadow:0 0 0 2px rgba(92,184,92,.5)}.wpacu-btns .btn-outline-success.disabled,.wpacu-btns .btn-outline-success:disabled{color:#5cb85c;background-color:transparent}.wpacu-btns .btn-outline-success.active,.wpacu-btns .btn-outline-success:active,.wpacu-btns .show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#5cb85c;border-color:#5cb85c}.wpacu-btns .btn-outline-warning{color:#f0ad4e;background-image:none;background-color:transparent;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning:hover{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-warning.focus,.wpacu-btns .btn-outline-warning:focus{-webkit-box-shadow:0 0 0 2px rgba(240,173,78,.5);box-shadow:0 0 0 2px rgba(240,173,78,.5)}.wpacu-btns .btn-outline-warning.disabled,.wpacu-btns .btn-outline-warning:disabled{color:#f0ad4e;background-color:transparent}.wpacu-btns .btn-outline-warning.active,.wpacu-btns .btn-outline-warning:active,.wpacu-btns .show>.btn-outline-warning.dropdown-toggle{color:#fff;background-color:#f0ad4e;border-color:#f0ad4e}.wpacu-btns .btn-outline-danger{color:#d9534f;background-image:none;background-color:transparent;border-color:#d9534f}.wpacu-btns .btn-outline-danger:hover{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-outline-danger.focus,.wpacu-btns .btn-outline-danger:focus{-webkit-box-shadow:0 0 0 2px rgba(217,83,79,.5);box-shadow:0 0 0 2px rgba(217,83,79,.5)}.wpacu-btns .btn-outline-danger.disabled,.wpacu-btns .btn-outline-danger:disabled{color:#d9534f;background-color:transparent}.wpacu-btns .btn-outline-danger.active,.wpacu-btns .btn-outline-danger:active,.wpacu-btns .show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#d9534f;border-color:#d9534f}.wpacu-btns .btn-link{font-weight:400;color:#0275d8;border-radius:0}.wpacu-btns .btn-link,.wpacu-btns .btn-link.active,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:disabled{background-color:transparent}.wpacu-btns .btn-link,.wpacu-btns .btn-link:active,.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{border-color:transparent}.wpacu-btns .btn-link:focus,.wpacu-btns .btn-link:hover{color:#014c8c;text-decoration:underline;background-color:transparent}.wpacu-btns .btn-link:disabled{color:#636c72}.wpacu-btns .btn-link:disabled:focus,.wpacu-btns .btn-link:disabled:hover{text-decoration:none}.wpacu-btns .btn-group-lg>.btn,.wpacu-btns .btn-lg{padding:.75rem 1.5rem;font-size:1.25rem;border-radius:.3rem}.wpacu-btns .btn-group-sm>.btn,.wpacu-btns .btn-sm{padding:.25rem .5rem;font-size:.875rem;border-radius:.2rem}.wpacu-btns .btn-block{display:block;width:100%}.go-pro-button,.go-pro-link-no-style,.wordpress-core-file{display:inline-block;text-decoration:none}.wpacu-btns .btn-block+.btn-block{margin-top:.5rem}.wpacu-btns input[type=submit].btn-block,.wpacu-btns input[type=reset].btn-block,.wpacu-btns input[type=button].btn-block{width:100%}.wpacu-btns .fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.go-pro-button{background-color:#4CAF50;border:2px solid #4CAF50;color:#fff;padding:12px 18px;text-align:center;font-size:16px;margin:4px 2px;cursor:pointer;border-radius:10px;-webkit-transition-duration:.4s;transition-duration:.4s}.go-pro-button:hover{background-color:#fff;color:#000;border:2px solid #4CAF50}.go-pro-link-no-style .tooltip,.wordpress-core-file .tooltip{font-size:14px;line-height:18px;z-index:1;text-align:center;padding:6px;border-radius:6px;bottom:100%;left:50%}.go-pro-link-no-style{position:relative;color:inherit}.go-pro-link-no-style:not(.nav-tab){font-style:italic}.go-pro-link-no-style .tooltip{position:absolute;visibility:hidden;width:130px;background-color:#27ae60;color:#fff;margin-left:-65px}.go-pro-link-no-style .tooltip.wpacu-larger{width:240px}.go-pro-link-no-style:hover .tooltip{visibility:visible}.wordpress-core-file{position:relative;font-style:normal;color:inherit}.wordpress-core-file .tooltip{position:absolute;visibility:hidden;width:160px;background-color:#c00;color:#fff;margin-left:-80px}.wordpress-core-file:hover .tooltip{visibility:visible}body.wp-admin .go-pro-link-no-style .tooltip{font-size:12px;line-height:16px;padding:5px}.pro-page-unlock-notice{border-radius:10px;padding:10px;background:#f2faf2;border:1px solid #c0e8c0;width:auto;display:block}.wpacu-get-help-wrap .help-content-wrap{margin:20px 0 25px;display:-webkit-box;display:-moz-box;display:-ms-flexbox;display:-moz-flex;display:-webkit-flex;display:flex;width:100%}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-align:start;-ms-flex-align:start;-ms-grid-row-align:flex-start;align-items:flex-start}}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}}.wpacu-get-help-wrap .help-content-wrap .help-content{padding:15px;background:#fff;border:1px solid #E0E0E0;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;box-shadow:2px 3px 8px 0 #231f2038;flex:1 1 50%;margin-bottom:10px}.wpacu-get-help-wrap .help-content-wrap .help-content .content-title{margin:5px 0 15px}.wpacu-get-help-wrap .help-content-wrap .help-content .cols-wrap{width:100%;margin:0 auto;display:table}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area{margin:5px 0 0;position:relative}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-left{float:left;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.col-right{float:right;width:48%}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area.activate-plugin img{max-width:280px}.wpacu-get-help-wrap .help-content-wrap .help-content .wpacu-image-area img{width:99%;margin:8px 0;border:1px solid #cdcdcd;border-radius:10px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{order:2}@media only screen and (min-width:768px){.wpacu-get-help-wrap .help-content-wrap .help-content{margin-right:24px}.wpacu-get-help-wrap .help-content-wrap .help-content.upgrade-help{margin-right:0}}.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{order:1}@media only screen and (max-width:767px){.wpacu-get-help-wrap .help-content-wrap .help-content.tech-help{margin-bottom:30px}}.wpacu-get-help-wrap .help-content-wrap .help-content ul{list-style:none;padding-left:0}.wpacu-get-help-wrap .help-content-wrap .help-content ul li{font-size:14px;line-height:22px;margin-bottom:15px}.wpacu-get-help-wrap .help-content-wrap .help-content p:last-child,.wpacu-get-help-wrap .help-content-wrap .help-content ul li:last-child{margin-bottom:0}.ajax-direct-call-error-area{background:#fff;padding:10px;border:1px solid #c00;border-radius:8px}.ajax-direct-call-error-area td{padding:6px}.ajax-direct-call-error-area .note{margin-top:0;padding-top:0}.ajax-direct-call-error-area .error-code{color:#c00;font-weight:700}.ajax-wp-remote-post-call-error-area{background:#fff;padding:20px}.ajax-wp-remote-post-call-error-area .table-data{background:0 0;border:1px solid #c66;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.ajax-wp-remote-post-call-error-area .table-data td{padding:10px}.wrap-upgrade-info{background:#fff;padding:0 15px;border:1px solid #cdcdcd;border-radius:10px}.wpacu-notice{margin:20px 20px 0 0!important}.wpacu-notice p{font-weight:600!important;font-style:italic}.wpacu-notice .dashicons{font-weight:inherit!important;color:#46b450!important;margin-right:4px;vertical-align:text-bottom;font-size:27px}.toplevel_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle{margin-top:2px;line-height:1.2}.toplevel_page_wpassetcleanup_settings .setting_title p.wpacu_subtitle em{font-weight:200}.toplevel_page_wpassetcleanup_settings .setting_title p.wpacu_read_more{margin-top:-10px;font-style:italic;font-size:12px}.toplevel_page_wpassetcleanup_settings .wpacu_switch{position:relative;display:inline-block;width:52px;height:29px}.toplevel_page_wpassetcleanup_settings .wpacu_switch.wpacu_locked_for_pro{opacity:.3}.toplevel_page_wpassetcleanup_settings .wpacu_switch input{display:none}.toplevel_page_wpassetcleanup_settings .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.toplevel_page_wpassetcleanup_settings .wpacu_slider:before{position:absolute;content:'';height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.toplevel_page_wpassetcleanup_settings input:checked+.wpacu_slider{background-color:#52af00}.toplevel_page_wpassetcleanup_settings input:focus+.wpacu_slider{box-shadow:0 0 1px #52af00}.toplevel_page_wpassetcleanup_settings input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.toplevel_page_wpassetcleanup_settings .wpacu_slider.wpacu_round{border-radius:29px}.toplevel_page_wpassetcleanup_settings .wpacu_slider.wpacu_round:before{border-radius:50%}.toplevel_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices{list-style:none;margin:0}.toplevel_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li{float:left;margin-right:30px}.toplevel_page_wpassetcleanup_settings .assets_list_layout_areas_status_choices li:last-child{margin-right:0}.wpacu_asset_row td{width:100%}.wpacu_asset_row td .wpacu_asset_options_wrap{padding:8px 10px;margin:15px 0;background:#fff;border:1px solid #eee;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.wpacu_asset_row td .wpacu_asset_options_wrap p:first-child{margin-top:0;margin-bottom:8px!important}.wpacu_asset_row p.wpacu_handle{margin-top:0}.wpacu_asset_row li.wpacu_unload_this_page{display:block!important;position:relative}.wpacu_asset_row .wpacu_switch{position:relative;display:inline-block;width:52px;height:29px;margin-right:5px!important}.wpacu_asset_row .wpacu_switch input{display:none}.wpacu-clearfix:after,.wpacu-clearfix:before{content:'';display:table}.wpacu_asset_row .wpacu_slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;-webkit-transition:.2s;transition:.2s}.wpacu_asset_row .wpacu_slider:before{position:absolute;content:'';height:22px;width:22px;left:4px;bottom:4px;background-color:#fff;-webkit-transition:.2s;transition:.2s}.wpacu_asset_row .wpacu_slider_text{position:absolute;left:62px;top:3px}.wpacu_asset_row input:checked+.wpacu_slider{background-color:#C00}.wpacu_asset_row input:focus+.wpacu_slider{box-shadow:0 0 1px #C00}.wpacu_asset_row input:checked+.wpacu_slider:before{-webkit-transform:translateX(22px);-ms-transform:translateX(22px);transform:translateX(22px)}.wpacu_asset_row .wpacu_slider.wpacu_round{border-radius:29px}.wpacu_asset_row .wpacu_slider.wpacu_round:before{border-radius:50%}.wpacu-contract-expand-area{width:100%;margin:20px 0 0}.wpacu-contract-expand-area .col-left{float:left}.wpacu-contract-expand-area .col-left h4{margin-bottom:0}.wpacu-contract-expand-area .col-right{float:right}.wpacu-clearfix:after{clear:both}.wpacu-wp-button{color:#555;border-color:#ccc;background:#f7f7f7;box-shadow:0 1px 0 #ccc;vertical-align:top}body.wp-admin .wpacu-wp-button{font-size:13px;line-height:26px;height:28px}.wpacu-wp-button.wpacu-wp-button-secondary{display:inline-block;text-decoration:none;height:auto;margin:0 5px 0 0;padding:0 10px 1px;cursor:pointer;border-width:1px;border-style:solid;-webkit-appearance:none;border-radius:3px;white-space:nowrap;box-sizing:border-box}.wpacu-assets-collapsible-wrap.wpacu-wrap-all,.wpacu-assets-collapsible-wrap.wpacu-wrap-styles{margin-top:20px}.wpacu-wp-button:hover{background:#fafafa;border-color:#999;color:#23282d}.wpacu-assets-collapsible-wrap{border:1px solid #e7e7e7}.wpacu-assets-collapsible-wrap.wpacu-wrap-all .distinguish-asset-list{list-style:none;margin-left:0;margin-bottom:5px;display:inline-block}.wpacu-assets-collapsible-wrap.wpacu-wrap-all .distinguish-asset-list li{float:left;margin-right:20px}.wpacu-assets-collapsible-wrap.wpacu-wrap-all .distinguish-asset-list li:last-child{margin-right:0}.wpacu-assets-collapsible-wrap.wpacu-wrap-scripts{margin-top:10px}a.wpacu-assets-collapsible{color:#000;font-size:20px;text-decoration:none;display:block;position:relative;background-color:#f1f3f8;cursor:pointer;padding:15px 15px 15px 36px;width:auto;border:none;text-align:left;outline:0}a.wpacu-assets-collapsible>span.dashicons{font-size:25px;line-height:normal;position:absolute;top:50%;left:3px;transform:translate(50%,-50%)}.wpacu-assets-collapsible-active,.wpacu-assets-collapsible:hover{background-color:#f1f3f8}.wpacu-assets-collapsible:after{position:absolute;font-size:22px;font-family:Dashicons;right:14px;top:16px}.wpacu-assets-collapsible:not(.wpacu-assets-collapsible-active):after{content:"\f132"}.wpacu-assets-collapsible-active:after{content:"\f460"}.wpacu-assets-collapsible-content{padding:0 18px;max-height:0;overflow:hidden;background-color:#fbfbfb8c}.wpacu-assets-collapsible-content>div{padding:20px 0}.wpacu-assets-collapsible-content.wpacu-open{max-height:100%}.wpacu_table_wrap{margin:20px 0 0}.wpacu_table_wrap>table{border:1px solid #cdcdcd}.wpacu_table_wrap .table{width:100%;max-width:100%;margin-bottom:1rem;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.wpacu_table_wrap .table td,.wpacu_table_wrap .table th{padding:.75rem;vertical-align:top;border-top:1px solid #eceeef}.wpacu_table_wrap .table thead th{vertical-align:bottom;border-bottom:2px solid #eceeef}.wpacu_table_wrap .table tbody+tbody{border-top:2px solid #eceeef}.wpacu_table_wrap .table .table{background-color:#fff}.wpacu_table_wrap .table-sm td,.wpacu_table_wrap .table-sm th{padding:.3rem}.wpacu_table_wrap .table-bordered,.wpacu_table_wrap .table-bordered td,.wpacu_table_wrap .table-bordered th{border:1px solid #eceeef}.wpacu_table_wrap .table-bordered thead td,.wpacu_table_wrap .table-bordered thead th{border-bottom-width:2px}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(even){background-color:#f9f9f9}.wpacu_table_wrap .table-striped tbody tr:nth-of-type(odd){background-color:#fff}.wpacu_table_wrap .table-active,.wpacu_table_wrap .table-active>td,.wpacu_table_wrap .table-active>th,.wpacu_table_wrap .table-hover .table-active:hover,.wpacu_table_wrap .table-hover .table-active:hover>td,.wpacu_table_wrap .table-hover .table-active:hover>th,.wpacu_table_wrap .table-hover tbody tr:hover{background-color:rgba(0,0,0,.075)}.wpacu_table_wrap .table-success,.wpacu_table_wrap .table-success>td,.wpacu_table_wrap .table-success>th{background-color:#dff0d8}.wpacu_table_wrap .table-hover .table-success:hover,.wpacu_table_wrap .table-hover .table-success:hover>td,.wpacu_table_wrap .table-hover .table-success:hover>th{background-color:#d0e9c6}.wpacu_table_wrap .table-info,.wpacu_table_wrap .table-info>td,.wpacu_table_wrap .table-info>th{background-color:#d9edf7}.wpacu_table_wrap .table-hover .table-info:hover,.wpacu_table_wrap .table-hover .table-info:hover>td,.wpacu_table_wrap .table-hover .table-info:hover>th{background-color:#c4e3f3}.wpacu_table_wrap .table-warning,.wpacu_table_wrap .table-warning>td,.wpacu_table_wrap .table-warning>th{background-color:#fcf8e3}.wpacu_table_wrap .table-hover .table-warning:hover,.wpacu_table_wrap .table-hover .table-warning:hover>td,.wpacu_table_wrap .table-hover .table-warning:hover>th{background-color:#faf2cc}.wpacu_table_wrap .table-danger,.wpacu_table_wrap .table-danger>td,.wpacu_table_wrap .table-danger>th{background-color:#f2dede}.wpacu_table_wrap .table-hover .table-danger:hover,.wpacu_table_wrap .table-hover .table-danger:hover>td,.wpacu_table_wrap .table-hover .table-danger:hover>th{background-color:#ebcccc}.wpacu_table_wrap .thead-inverse th{color:#fff;background-color:#292b2c}.wpacu_table_wrap .thead-default th{color:#464a4c;background-color:#eceeef}.wpacu_table_wrap .table-inverse{color:#fff;background-color:#292b2c}.wpacu_table_wrap .table-inverse td,.wpacu_table_wrap .table-inverse th,.wpacu_table_wrap .table-inverse thead th{border-color:#fff}.wpacu_table_wrap .table-inverse.table-bordered,.wpacu_table_wrap .table-responsive.table-bordered{border:0}.wpacu_table_wrap .table-responsive{display:block;width:100%;overflow-x:auto;-ms-overflow-style:-ms-autohiding-scrollbar}
classes/Main.php CHANGED
@@ -916,10 +916,13 @@ class Main
916
917
// Front-end View while admin is logged in
918
if ($isFrontEndView) {
919
$data = array(
920
- 'is_updateable' => true,
921
- 'post_type' => '',
922
- 'bulk_unloaded' => array('post_type' => array())
923
);
924
925
// [wpacu_lite]
@@ -989,8 +992,8 @@ class Main
989
$data = apply_filters('wpacu_pro_get_bulk_unloads', $data);
990
// [/wpacu_pro]
991
992
- $data['total_styles'] = ! empty($data['all']['styles']) ? count($data['all']['styles']) : false;
993
- $data['total_scripts'] = ! empty($data['all']['scripts']) ? count($data['all']['scripts']) : false;
994
995
$this->parseTemplate('settings-frontend', $data, true);
996
} elseif ($isDashboardView) {
@@ -1013,8 +1016,6 @@ class Main
1013
*/
1014
public function parseTemplate($name, $data = array(), $echo = false)
1015
{
1016
- define('WPACU_TPL_LOADED', true);
1017
-
1018
$templateFile = apply_filters(
1019
'wpacu_template_file', // tag
1020
dirname(__DIR__) . '/templates/' . $name . '.php', // value
@@ -1047,6 +1048,8 @@ class Main
1047
1048
$wpacuList = $contents = '';
1049
1050
if (self::$domGetType === 'direct') {
1051
$contents = isset($_POST['contents']) ? $_POST['contents'] : '';
1052
$wpacuList = isset($_POST['wpacu_list']) ? $_POST['wpacu_list'] : '';
@@ -1074,7 +1077,8 @@ class Main
1074
if (! $wpacuList) {
1075
$data = array(
1076
'is_dashboard_view' => true,
1077
- 'wp_remote_post' => $wpRemotePost
1078
);
1079
1080
$this->parseTemplate('meta-box-loaded', $data, true);
@@ -1084,7 +1088,10 @@ class Main
1084
1085
$json = base64_decode($wpacuList);
1086
1087
- $data = array('post_id' => $postId);
1088
1089
$data['all'] = (array)json_decode($json);
1090
@@ -1149,8 +1156,8 @@ class Main
1149
1150
$data['load_exceptions'] = $this->getLoadExceptions($type, $postId);
1151
1152
- $data['total_styles'] = ! empty($data['all']['styles']) ? count($data['all']['styles']) : false;
1153
- $data['total_scripts'] = ! empty($data['all']['scripts']) ? count($data['all']['scripts']) : false;
1154
1155
$this->parseTemplate('meta-box-loaded', $data, true);
1156
916
917
// Front-end View while admin is logged in
918
if ($isFrontEndView) {
919
+ $wpacuSettings = new Settings();
920
+
921
$data = array(
922
+ 'is_updateable' => true,
923
+ 'post_type' => '',
924
+ 'bulk_unloaded' => array('post_type' => array()),
925
+ 'plugin_settings' => $wpacuSettings->getAll()
926
);
927
928
// [wpacu_lite]
992
$data = apply_filters('wpacu_pro_get_bulk_unloads', $data);
993
// [/wpacu_pro]
994
995
+ $data['total_styles'] = ! empty($data['all']['styles']) ? count($data['all']['styles']) : 0;
996
+ $data['total_scripts'] = ! empty($data['all']['scripts']) ? count($data['all']['scripts']) : 0;
997
998
$this->parseTemplate('settings-frontend', $data, true);
999
} elseif ($isDashboardView) {
1016
*/
1017
public function parseTemplate($name, $data = array(), $echo = false)
1018
{
1019
$templateFile = apply_filters(
1020
'wpacu_template_file', // tag
1021
dirname(__DIR__) . '/templates/' . $name . '.php', // value
1048
1049
$wpacuList = $contents = '';
1050
1051
+ $settings = new Settings();
1052
+
1053
if (self::$domGetType === 'direct') {
1054
$contents = isset($_POST['contents']) ? $_POST['contents'] : '';
1055
$wpacuList = isset($_POST['wpacu_list']) ? $_POST['wpacu_list'] : '';
1077
if (! $wpacuList) {
1078
$data = array(
1079
'is_dashboard_view' => true,
1080
+ 'plugin_settings' => $settings->getAll(),
1081
+ 'wp_remote_post' => $wpRemotePost,
1082
);
1083
1084
$this->parseTemplate('meta-box-loaded', $data, true);
1088
1089
$json = base64_decode($wpacuList);
1090
1091
+ $data = array(
1092
+ 'post_id' => $postId,
1093
+ 'plugin_settings' => $settings->getAll()
1094
+ );
1095
1096
$data['all'] = (array)json_decode($json);
1097
1156
1157
$data['load_exceptions'] = $this->getLoadExceptions($type, $postId);
1158
1159
+ $data['total_styles'] = ! empty($data['all']['styles']) ? count($data['all']['styles']) : 0;
1160
+ $data['total_scripts'] = ! empty($data['all']['scripts']) ? count($data['all']['scripts']) : 0;
1161
1162
$this->parseTemplate('meta-box-loaded', $data, true);
1163
classes/Settings.php CHANGED
@@ -16,6 +16,12 @@ class Settings
16
'dom_get_type',
17
'frontend_show',
18
19
'test_mode',
20
21
'disable_emojis',
16
'dom_get_type',
17
'frontend_show',
18
19
+ // [wpacu_pro]
20
+ 'assets_list_layout',
21
+ // [wpacu_pro]
22
+
23
+ 'assets_list_layout_areas_status',
24
+
25
'test_mode',
26
27
'disable_emojis',
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: speed, pagespeed, page speed, cleanup, remove style, remove script, dequeu
4
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7GJZCW6RD8ECS
5
Requires at least: 4.0
6
Tested up to: 4.9.8
7
- Stable tag: 1.2.8.1
8
License: GPLv3
9
License URI: http://www.gnu.org/licenses/gpl.html
10
@@ -20,7 +20,7 @@ For instance, you might use a plugin that generates contact forms and it loads i
20
21
"Asset CleanUp" scans your page and detects all the assets that are loaded. All you have to do when editing a page/post is just to select the ones you DO NOT wish to load.
22
23
- The plugin works best in combination with a cache plugin such as [WP Rocket](https://www.gabelivan.com/visit/wp-rocket).
24
25
= This plugin's benefits include =
26
* Decreases number of HTTP requests loaded (important for faster page load)
@@ -34,13 +34,13 @@ The plugin works best in combination with a cache plugin such as [WP Rocket](htt
34
Plugin works with WordPress Multisite Network enabled!
35
36
> <strong>Asset CleanUp Pro</strong><br />
37
- > This plugin is the lite version of Asset CleanUp Pro that comes with more features including managing assets (CSS and JS fies) on all WordPress pages, apply "async" and "defer" on loaded JavaScript files which would boost the speed score even higher, remove query strings from static resources (.css & .js), cleanup head section of the website. <a href="https://www.gabelivan.com/items/wp-asset-cleanup-pro/?utm_source=wp_org_lite&utm_medium=inside_quote">Click here to purchase Asset CleanUp Pro!</a>
38
39
= NOTES =
40
People that have tested the plugin are so far happy with it and I want to keep a good reputation for it. In case something is not working for you or have any suggestions, please write to me on the forum and I will be happy to assist you. **BEFORE rating this plugin**, please check the following post http://chrislema.com/theres-wrong-way-give-plugin-feedback-wordpress-org/ and then use your common sense when writing the feedback :)
41
42
= GO PRO =
43
- Give Asset CleanUp a try! If you want to unlock more features, you can <a href="https://www.gabelivan.com/items/wp-asset-cleanup-pro/?utm_source=wp_org_lite&utm_medium=go_pro">Upgrade to the Pro version</a>.
44
45
== Installation ==
46
* If you're planning to use the Lite version of the plugin:
@@ -91,7 +91,7 @@ If none of these apply to you and you just don't see assets that should definite
91
92
= How can I access all the features? =
93
94
- You can get access to more features, priority support and automatic updates by <a href="https://www.gabelivan.com/items/wp-asset-cleanup-pro/?utm_source=wp_org_lite&utm_medium=inside_faq">Upgrading to the Pro version</a>.
95
96
= jQuery and jQuery Migrate are often loading on pages/post. Are they always needed? =
97
@@ -131,6 +131,9 @@ If that's the case, then it's advisable to consult with a developer (ideally the
131
4. Scripts (.JS) are selected for site-wide unload
132
133
== Changelog ==
134
= 1.2.8.1 =
135
* Added "Test Mode" option which will unload assets only if the user is logged in as administrator and has capability of activating plugins.
136
* This is good for debugging in case one might worry that a CSS/JavaScript file could be unloaded by mistake and break the website for the regular (non-logged in) users.
4
Donate link: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=7GJZCW6RD8ECS
5
Requires at least: 4.0
6
Tested up to: 4.9.8
7
+ Stable tag: 1.2.8.2
8
License: GPLv3
9
License URI: http://www.gnu.org/licenses/gpl.html
10
20
21
"Asset CleanUp" scans your page and detects all the assets that are loaded. All you have to do when editing a page/post is just to select the ones you DO NOT wish to load.
22
23
+ The plugin works best in combination with a cache plugin such as [WP Rocket](https://gabelivan.com/visit/wp-rocket).
24
25
= This plugin's benefits include =
26
* Decreases number of HTTP requests loaded (important for faster page load)
34
Plugin works with WordPress Multisite Network enabled!
35
36
> <strong>Asset CleanUp Pro</strong><br />
37
+ > This plugin is the lite version of Asset CleanUp Pro that comes with more features including managing assets (CSS and JS fies) on all WordPress pages, apply "async" and "defer" on loaded JavaScript files which would boost the speed score even higher, remove query strings from static resources (.css & .js), cleanup head section of the website. <a href="https://gabelivan.com/items/wp-asset-cleanup-pro/?utm_source=wp_org_lite&utm_medium=inside_quote">Click here to purchase Asset CleanUp Pro!</a>
38
39
= NOTES =
40
People that have tested the plugin are so far happy with it and I want to keep a good reputation for it. In case something is not working for you or have any suggestions, please write to me on the forum and I will be happy to assist you. **BEFORE rating this plugin**, please check the following post http://chrislema.com/theres-wrong-way-give-plugin-feedback-wordpress-org/ and then use your common sense when writing the feedback :)
41
42
= GO PRO =
43
+ Give Asset CleanUp a try! If you want to unlock more features, you can <a href="https://gabelivan.com/items/wp-asset-cleanup-pro/?utm_source=wp_org_lite&utm_medium=go_pro">Upgrade to the Pro version</a>.
44
45
== Installation ==
46
* If you're planning to use the Lite version of the plugin:
91
92
= How can I access all the features? =
93
94
+ You can get access to more features, priority support and automatic updates by <a href="https://gabelivan.com/items/wp-asset-cleanup-pro/?utm_source=wp_org_lite&utm_medium=inside_faq">Upgrading to the Pro version</a>.
95
96
= jQuery and jQuery Migrate are often loading on pages/post. Are they always needed? =
97
131
4. Scripts (.JS) are selected for site-wide unload
132
133
== Changelog ==
134
+ = 1.2.8.2 =
135
+ * Added option to expand / contract "Styles" and "Scripts" management list and ability to choose the initial state on page load via plugin's "Settings" page
136
+
137
= 1.2.8.1 =
138
* Added "Test Mode" option which will unload assets only if the user is logged in as administrator and has capability of activating plugins.
139
* This is good for debugging in case one might worry that a CSS/JavaScript file could be unloaded by mistake and break the website for the regular (non-logged in) users.
templates/admin-page-settings-plugin.php CHANGED
@@ -69,6 +69,59 @@ $availableForPro = '<a href="'.WPACU_PLUGIN_GO_PRO_URL.'?utm_source=plugin_setti
69
<p><small>The area will be shown through the <code>wp_footer</code> action so in case you do not see the asset list at the bottom of the page, make sure the theme is using <a href="https://codex.wordpress.org/Function_Reference/wp_footer"><code>wp_footer()</code></a> function before the <code>&lt;/body&gt;</code> tag. Any theme that follows the standards should have it. If not, you will have to add it to make sure other plugins and code from functions.php will work fine.</small></p>
70
</td>
71
</tr>
72
<tr valign="top">
73
<th scope="row" class="setting_title">
74
<label for="wpacu_frontend">Enable Test Mode?</label>
69
<p><small>The area will be shown through the <code>wp_footer</code> action so in case you do not see the asset list at the bottom of the page, make sure the theme is using <a href="https://codex.wordpress.org/Function_Reference/wp_footer"><code>wp_footer()</code></a> function before the <code>&lt;/body&gt;</code> tag. Any theme that follows the standards should have it. If not, you will have to add it to make sure other plugins and code from functions.php will work fine.</small></p>
70
</td>
71
</tr>
72
+
73
+ <tr valign="top">
74
+ <th scope="row">
75
+ <label for="wpacu_assets_list_layout">Assets List Layout</label>
76
+ </th>
77
+ <td>
78
+ <?php echo $availableForPro; ?>
79
+ <label>
80
+ <select id="wpacu_assets_list_layout"
81
+ name="<?php echo WPACU_PLUGIN_NAME.'_settings'; ?>[assets_list_layout]">
82
+ <option value="default">All Styles &amp; All Scripts * 2 separate lists (default)</option>
83
+ <option disabled="disabled" value="all">All Styles &amp; Scripts * 1 mixed list sorted by name (Pro Version)</option>
84
+ </select>
85
+ </label>
86
+
87
+ <br />
88
+
89
+ <p><small>These are various ways in which the list of assets that you will manage will show up. Depending on your preference, you might want to see the list of styles &amp; scripts first, or all together sorted in alphabetical order etc.</small></p>
90
+ <p><small>Options that are disabled are available in the Pro version.</small></p>
91
+ </td>
92
+ </tr>
93
+
94
+ <tr valign="top">
95
+ <th scope="row">
96
+ <label for="wpacu_assets_list_layout">On Assets List Layout Load, keep "Styles &amp; Scripts" area:</label>
97
+ </th>
98
+ <td>
99
+ <ul class="assets_list_layout_areas_status_choices">
100
+ <li>
101
+ <label for="assets_list_layout_areas_status_expanded">
102
+ <input id="assets_list_layout_areas_status_expanded"
103
+ <?php if (! $data['assets_list_layout_areas_status'] || $data['assets_list_layout_areas_status'] === 'expanded') { ?>checked="checked"<?php } ?>
104
+ type="radio"
105
+ name="<?php echo WPACU_PLUGIN_NAME.'_settings'; ?>[assets_list_layout_areas_status]"
106
+ value="expanded"> Expanded (Default)
107
+ </label>
108
+ </li>
109
+ <li>
110
+ <label for="assets_list_layout_areas_status_contracted">
111
+ <input id="assets_list_layout_areas_status_contracted"
112
+ <?php if ($data['assets_list_layout_areas_status'] === 'contracted') { ?>checked="checked"<?php } ?>
113
+ type="radio"
114
+ name="<?php echo WPACU_PLUGIN_NAME.'_settings'; ?>[assets_list_layout_areas_status]"
115
+ value="contracted"> Contracted
116
+ </label>
117
+ </li>
118
+ </ul>
119
+ <div class="wpacu-clearfix"></div>
120
+
121
+ <p><small>Sometimes, when you have plenty of elements in the edit page, you might want to contract the list of assets when you're viewing the page as it will save space. This can be a good practice, especially when you finished optimising the pages and you don't want to keep seeing the long list of files everytime you edit a page.</small></p>
122
+ </td>
123
+ </tr>
124
+
125
<tr valign="top">
126
<th scope="row" class="setting_title">
127
<label for="wpacu_frontend">Enable Test Mode?</label>
templates/meta-box-loaded-assets/_asset-script-rows.php CHANGED
@@ -4,262 +4,52 @@ if (! isset($data)) {
4
}
5
6
foreach ($data['all']['scripts'] as $obj) {
7
- $active = (isset($data['current']['scripts']) && in_array($obj->handle, $data['current']['scripts']));
8
9
- $class = $active ? 'wpacu_not_load' : '';
10
- $checked = $active ? 'checked="checked"' : '';
11
12
/*
13
- * $isGlobalRule is only used to apply a red background in the script's area to point out that the script is unloaded
14
*/
15
- $globalUnloaded = $bulkTypeUnloaded = $isPostTypeUnloaded = $isLoadException = $isGlobalRule = false;
16
17
// Mark it as unloaded - Everywhere
18
- if (in_array($obj->handle, $data['global_unload']['scripts']) && !$class) {
19
- $globalUnloaded = $isGlobalRule = true;
20
}
21
22
// Mark it as unloaded - for the Current Post Type
23
- if ($data['bulk_unloaded_type'] && in_array($obj->handle, $data['bulk_unloaded'][$data['bulk_unloaded_type']]['scripts'])) {
24
- $bulkTypeUnloaded = $isGlobalRule = true;
25
26
if ($data['bulk_unloaded_type'] === 'post_type') {
27
- $isPostTypeUnloaded = true;
28
}
29
}
30
31
- if ($isGlobalRule) {
32
- if (in_array($obj->handle, $data['load_exceptions']['scripts'])) {
33
- $isLoadException = true;
34
} else {
35
- $class .= ' wpacu_not_load';
36
}
37
}
38
39
- $extraDataJS = (is_object($obj->extra) && isset($obj->extra->data)) ? $obj->extra->data : false;
40
41
- if (! $extraDataJS) {
42
- $extraDataJS = (is_array($obj->extra) && isset($obj->extra['data'])) ? $obj->extra['data'] : false;
43
}
44
45
- $class .= ' script_'.$obj->handle;
46
- ?>
47
- <tr class="wpacu_asset_row <?php echo $class; ?>">
48
- <td valign="top">
49
- <p class="wpacu_handle">
50
- <label for="script_<?php echo $obj->handle; ?>"> <?php _e('Handle:', WPACU_PLUGIN_NAME); ?> <strong><span style="color: green;"><?php echo $obj->handle; ?></span></strong></label>
51
- <?php
52
- if (isset($obj->wp) && $obj->wp) {
53
- ?>
54
- <span class="dashicons dashicons-warning wordpress-core-file"><span class="tooltip">WordPress Core File<br />Not sure if needed or not? In this case, it's better to leave it loaded to avoid breaking the website.</span></span>
55
- <?php
56
- }
57
- ?>
58
- </p>
59
-
60
- <div class="wpacu_asset_options_wrap">
61
- <ul class="wpacu_asset_options wpacu_exception_options_area" <?php /* [wpacu_lite] */ if ($globalUnloaded || $isPostTypeUnloaded) { /* [/wpacu_lite] */ echo 'style="display: none;"'; } ?>>
62
- <li class="wpacu_unload_this_page">
63
- <label class="wpacu_switch"><input class="input-unload-on-this-page" id="script_<?php echo $obj->handle; ?>" <?php /* [wpacu_lite] */ if ($globalUnloaded || $isPostTypeUnloaded) { /* [/wpacu_lite] */ echo 'disabled="disabled"'; } echo $checked; ?> name="<?php echo WPACU_PLUGIN_NAME; ?>[scripts][]" type="checkbox" value="<?php echo $obj->handle; ?>" /><span class="wpacu_slider wpacu_round"></span></label> <label class="wpacu_slider_text" for="script_<?php echo $obj->handle; ?>">Unload on this page</label>
64
- </li>
65
- </ul>
66
-
67
- <?php
68
- /* [wpacu_lite] */ if ($globalUnloaded || $isPostTypeUnloaded) { /* [/wpacu_lite] */
69
- ?>
70
- <em>"Unload on this page" rule is locked and irrelevant as there are global rules set below that overwrite it. Once all the rules below are removed, this option will become available again.</em>
71
- <?php
72
- }
73
- ?>
74
- </div>
75
-
76
- <div class="wpacu_asset_options_wrap">
77
- <?php
78
- // Unloaded Everywhere
79
- if ($globalUnloaded) {
80
- ?>
81
- <p><strong style="color: #d54e21;">This JavaScript file is unloaded everywhere</strong></p>
82
- <?php
83
- }
84
- ?>
85
-
86
- <ul class="wpacu_asset_options">
87
- <?php
88
- // [START] UNLOAD EVERYWHERE
89
- if ($globalUnloaded) {
90
- ?>
91
- <li>
92
- <label><input data-handle="<?php echo $obj->handle; ?>"
93
- class="wpacu_bulk_option wpacu_script"
94
- type="radio"
95
- name="wpacu_options_scripts[<?php echo $obj->handle; ?>]"
96
- checked="checked"
97
- value="default" />
98
- Keep the unload global rule</label>
99
- </li>
100
-
101
- <li>
102
- <label><input data-handle="<?php echo $obj->handle; ?>"
103
- class="wpacu_bulk_option wpacu_script"
104
- type="radio"
105
- name="wpacu_options_scripts[<?php echo $obj->handle; ?>]"
106
- value="remove" />
107
- Remove global unload rule</label>
108
- </li>
109
- <?php
110
- } else {
111
- ?>
112
- <li>
113
- <label><input data-handle="<?php echo $obj->handle; ?>"
114
- class="wpacu_global_unload wpacu_global_script"
115
- id="wpacu_global_unload_script_<?php echo $obj->handle; ?>"
116
- type="checkbox"
117
- name="wpacu_global_unload_scripts[]"
118
- value="<?php echo $obj->handle; ?>"/>
119
- Unload Everywhere <small>* bulk unload</small></label>
120
- </li>
121
- <?php
122
- }
123
- // [END] UNLOAD EVERYWHERE
124
- ?>
125
-
126
- </ul>
127
- </div>
128
-
129
- <?php if ($data['bulk_unloaded_type'] === 'post_type') { ?>
130
- <div class="wpacu_asset_options_wrap">
131
- <?php } ?>
132
-
133
- <?php
134
- // Unloaded On All Pages Belonging to the page's Post Type
135
- if ($isPostTypeUnloaded) {
136
- ?>
137
- <p><strong style="color: #d54e21;">This JavaScript file is unloaded on all <u><?php echo $data['post_type']; ?></u> post types.</strong></p>
138
- <div class="clear"></div>
139
- <?php
140
- }
141
- ?>
142
-
143
- <ul class="wpacu_asset_options">
144
- <?php
145
- if ($data['bulk_unloaded_type'] === 'post_type') {
146
- // [START] ALL PAGES HAVING THE SAME POST TYPE
147
- if ($isPostTypeUnloaded) {
148
- ?>
149
- <li>
150
- <label><input data-handle="<?php echo $obj->handle; ?>"
151
- class="wpacu_post_type_option wpacu_post_type_script wpacu_keep_bulk_rule"
152
- type="radio"
153
- name="wpacu_options_post_type_scripts[<?php echo $obj->handle; ?>]"
154
- checked="checked"
155
- value="default"/>
156
- Keep rule</label>
157
- </li>
158
-
159
- <li>
160
- <label><input data-handle="<?php echo $obj->handle; ?>"
161
- class="wpacu_post_type_option wpacu_remove_bulk_rule wpacu_post_type_script"
162
- type="radio"
163
- name="wpacu_options_post_type_scripts[<?php echo $obj->handle; ?>]"
164
- value="remove"/>
165
- Remove rule</label>
166
- </li>
167
- <?php
168
- } else {
169
- ?>
170
- <li>
171
- <label><input data-handle="<?php echo $obj->handle; ?>"
172
- class="wpacu_bulk_unload wpacu_post_type_unload wpacu_post_type_script"
173
- id="wpacu_global_unload_post_type_script_<?php echo $obj->handle; ?>"
174
- type="checkbox"
175
- name="wpacu_bulk_unload_scripts[post_type][<?php echo $data['post_type']; ?>][]"
176
- value="<?php echo $obj->handle; ?>"/>
177
- Unload on All Pages of <strong><?php echo $data['post_type']; ?></strong> post type <small>* bulk unload</small></label>
178
- </li>
179
- <?php
180
- }
181
- }
182
- // [END] ALL PAGES HAVING THE SAME POST TYPE
183
- ?>
184
- </ul>
185
- <?php if ($data['bulk_unloaded_type'] === 'post_type') { ?>
186
- </div>
187
- <?php } ?>
188
-
189
- <?php
190
- do_action('wpacu_pro_bulk_unload_output', $data, $obj, 'js');
191
- ?>
192
-
193
- <ul class="wpacu_asset_options wpacu_exception_options_area">
194
- <li id="wpacu_load_it_option_script_<?php echo $obj->handle; ?>">
195
- <label><input data-handle="<?php echo $obj->handle; ?>"
196
- id="wpacu_script_load_it_<?php echo $obj->handle; ?>"
197
- class="wpacu_load_it_option wpacu_script wpacu_load_exception"
198
- type="checkbox"
199
- name="wpacu_scripts_load_it[]"
200
- <?php if ($isLoadException) { ?> checked="checked" <?php } ?>
201
- value="<?php echo $obj->handle; ?>" />
202
- Load it on this page (make exception<?php if (! $isGlobalRule) { echo ' * works only IF any of bulk rule above is selected'; } ?>)</label>
203
- </li>
204
- </ul>
205
- <?php
206
- if (isset($obj->src) && $obj->src !== '') {
207
- ?>
208
- <p><strong><?php _e('Source:', WPACU_PLUGIN_NAME); ?></strong> <a target="_blank" href="<?php echo $obj->srcHref; ?>"><?php echo $obj->src; ?></a></p>
209
- <?php
210
- }
211
-
212
- if ($extraDataJS) { ?>
213
- <p><strong><?php _e('Inline:', WPACU_PLUGIN_NAME); ?></strong> <em><?php echo htmlspecialchars($extraDataJS); ?></em></p>
214
- <?php
215
- }
216
-
217
- $extraInfo = array();
218
-
219
- if (! empty($obj->deps)) {
220
- $extraInfo[] = '<strong>'.__('Depends on:', WPACU_PLUGIN_NAME).'</strong> '.implode(', ', $obj->deps);
221
- }
222
-
223
- if (isset($obj->ver) && $obj->ver !== '') {
224
- $extraInfo[] = '<strong>'.__('Version:', WPACU_PLUGIN_NAME).'</strong> '.$obj->ver;
225
- }
226
-
227
- if (isset($obj->position) && $obj->position !== '') {
228
- $extraInfo[] = '<strong>'.__('Position:', WPACU_PLUGIN_NAME).'</strong> '.(($obj->position === 'head') ? 'HEAD' : 'BODY');
229
- }
230
-
231
- // [wpacu_lite]
232
- $extraInfo[] = '<strong>'.__('File Size:', WPACU_PLUGIN_NAME).'</strong> <a class="go-pro-link-no-style" href="'.WPACU_PLUGIN_GO_PRO_URL.'?utm_source=manage_asset&utm_medium=file_size"><span class="tooltip">Upgrade to Pro to unlock all features</span><img width="20" height="20" src="'.WPACU_PLUGIN_URL.'/assets/icons/icon-lock.svg" valign="top" alt="" /> Pro Version</a>';
233
- // [/wpacu_lite]
234
-
235
- if (! empty($extraInfo)) {
236
- echo '<p>'.implode(' &nbsp;/&nbsp; ', $extraInfo).'</p>';
237
- }
238
- ?>
239
-
240
- <!-- [wpacu_lite] -->
241
- <?php if (isset($obj->src) && $obj->src !== '') { ?>
242
- <div class="wpacu-script-attributes-area wpacu-lite">
243
- <p>If loaded (not unloaded by any of the rules above), apply the following attributes: <em><a class="go-pro-link-no-style" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>">* this option is available in Pro version</a></em></p>
244
-
245
- <ul class="wpacu-script-attributes-settings wpacu-first">
246
- <li><a class="go-pro-link-no-style" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>"><span class="tooltip wpacu-larger">This feature is available in the premium version of the plugin.<br /> Click here to upgrade to Pro!</span><img width="20" height="20" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg" valign="top" alt="" /></a>&nbsp; <strong>async</strong> &#10230;</li>
247
- <li><label for="async_none_<?php echo $obj->handle; ?>"><input disabled="disabled" id="async_none_<?php echo $obj->handle; ?>" type="radio" name="wpacu_async[<?php echo $obj->handle; ?>]" value="none" />none (default)</label></li>
248
- <li><label for="async_on_this_page_<?php echo $obj->handle; ?>"><input disabled="disabled" id="async_on_this_page_<?php echo $obj->handle; ?>" type="radio" name="wpacu_async[<?php echo $obj->handle; ?>]" value="on_this_page" />on this page</label></li>
249
- <li><label for="async_everywhere_<?php echo $obj->handle; ?>"><input disabled="disabled" id="async_everywhere_<?php echo $obj->handle; ?>" type="radio" name="wpacu_async[<?php echo $obj->handle; ?>]" value="everywhere" />everywhere</label></li>
250
- </ul>
251
-
252
253
- <ul class="wpacu-script-attributes-settings">
254
- <li><a class="go-pro-link-no-style" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>"><span class="tooltip wpacu-larger">This feature is available in the premium version of the plugin.<br /> Click here to upgrade to Pro!</span><img width="20" height="20" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg" valign="top" alt="" /></a>&nbsp; <strong>defer</strong> &#10230;</li>
255
- <li><label for="defer_none_<?php echo $obj->handle; ?>"><input disabled="disabled" id="defer_none_<?php echo $obj->handle; ?>" type="radio" name="wpacu_defer[<?php echo $obj->handle; ?>]" value="none" />none (default)</label></li>
256
- <li><label for="defer_on_this_page_<?php echo $obj->handle; ?>"><input disabled="disabled" id="defer_on_this_page_<?php echo $obj->handle; ?>" type="radio" name="wpacu_defer[<?php echo $obj->handle; ?>]" value="on_this_page" />on this page</label></li>
257
- <li><label for="defer_everywhere_<?php echo $obj->handle; ?>"><input disabled="disabled" id="defer_everywhere_<?php echo $obj->handle; ?>" type="radio" name="wpacu_defer[<?php echo $obj->handle; ?>]" value="everywhere" />everywhere</label></li>
258
- </ul>
259
- </div>
260
- <?php } ?>
261
- <!-- [/wpacu_lite] -->
262
- </td>
263
- </tr>
264
- <?php
265
}
4
}
5
6
foreach ($data['all']['scripts'] as $obj) {
7
+ $data['row'] = array();
8
+ $data['row']['obj'] = $obj;
9
10
+ $active = (isset($data['current']['scripts']) && in_array($data['row']['obj']->handle, $data['current']['scripts']));
11
+
12
+ $data['row']['class'] = $active ? 'wpacu_not_load' : '';
13
+ $data['row']['checked'] = $active ? 'checked="checked"' : '';
14
15
/*
16
+ * $data['row']['is_global_rule'] is only used to apply a red background in the script's area to point out that the script is unloaded
17
*/
18
+ $data['row']['global_unloaded'] = $data['row']['is_post_type_unloaded'] = $data['row']['is_load_exception'] = $data['row']['is_global_rule'] = false;
19
20
// Mark it as unloaded - Everywhere
21
+ if (in_array($data['row']['obj']->handle, $data['global_unload']['scripts']) && !$data['row']['class']) {
22
+ $data['row']['global_unloaded'] = $data['row']['is_global_rule'] = true;
23
}
24
25
// Mark it as unloaded - for the Current Post Type
26
+ if ($data['bulk_unloaded_type'] && in_array($data['row']['obj']->handle, $data['bulk_unloaded'][$data['bulk_unloaded_type']]['scripts'])) {
27
+ $data['row']['is_global_rule'] = true;
28
29
if ($data['bulk_unloaded_type'] === 'post_type') {
30
+ $data['row']['is_post_type_unloaded'] = true;
31
}
32
}
33
34
+ if ($data['row']['is_global_rule']) {
35
+ if (in_array($data['row']['obj']->handle, $data['load_exceptions']['scripts'])) {
36
+ $data['row']['is_load_exception'] = true;
37
} else {
38
+ $data['row']['class'] .= ' wpacu_not_load';
39
}
40
}
41
42
+ $data['row']['extra_data_js'] = (is_object($data['row']['obj']->extra) && isset($data['row']['obj']->extra->data)) ? $data['row']['obj']->extra->data : false;
43
44
+ if (! $data['row']['extra_data_js']) {
45
+ $data['row']['extra_data_js'] = (is_array($data['row']['obj']->extra) && isset($data['row']['obj']->extra['data'])) ? $data['row']['obj']->extra['data'] : false;
46
}
47
48
+ $data['row']['class'] .= ' script_'.$data['row']['obj']->handle;
49
50
+ // Load Template
51
+ echo \WpAssetCleanUp\Main::instance()->parseTemplate(
52
+ '/meta-box-loaded-assets/_asset-script-single-row',
53
+ $data
54
+ );
55
}
templates/meta-box-loaded-assets/_asset-script-single-row.php ADDED
@@ -0,0 +1,225 @@
1
+ <?php
2
+ /*
3
+ * The file is included from _asset-script-rows.php
4
+ */
5
+ if (! isset($data)) {
6
+ exit; // no direct access
7
+ }
8
+ ?>
9
+ <tr class="wpacu_asset_row <?php echo $data['row']['class']; ?>">
10
+ <td valign="top">
11
+ <p class="wpacu_handle">
12
+ <label for="script_<?php echo $data['row']['obj']->handle; ?>"> <?php _e('Handle:', WPACU_PLUGIN_NAME); ?> <strong><span style="color: green;"><?php echo $data['row']['obj']->handle; ?></span></strong></label>
13
+ <?php
14
+ if (isset($data['row']['obj']->wp) && $data['row']['obj']->wp) {
15
+ ?>
16
+ <span class="dashicons dashicons-warning wordpress-core-file"><span class="tooltip">WordPress Core File<br />Not sure if needed or not? In this case, it's better to leave it loaded to avoid breaking the website.</span></span>
17
+ <?php
18
+ }
19
+ ?>
20
+ </p>
21
+
22
+ <div class="wpacu_asset_options_wrap">
23
+ <ul class="wpacu_asset_options wpacu_exception_options_area" <?php /* [wpacu_lite] */ if ($data['row']['global_unloaded'] || $data['row']['is_post_type_unloaded']) { /* [/wpacu_lite] */ echo 'style="display: none;"'; } ?>>
24
+ <li class="wpacu_unload_this_page">
25
+ <label class="wpacu_switch"><input class="input-unload-on-this-page" id="script_<?php echo $data['row']['obj']->handle; ?>" <?php /* [wpacu_lite] */ if ($data['row']['global_unloaded'] || $data['row']['is_post_type_unloaded']) { /* [/wpacu_lite] */ echo 'disabled="disabled"'; } echo $data['row']['checked']; ?> name="<?php echo WPACU_PLUGIN_NAME; ?>[scripts][]" type="checkbox" value="<?php echo $data['row']['obj']->handle; ?>" /><span class="wpacu_slider wpacu_round"></span></label> <label class="wpacu_slider_text" for="script_<?php echo $data['row']['obj']->handle; ?>">Unload on this page</label>
26
+ </li>
27
+ </ul>
28
+
29
+ <?php
30
+ /* [wpacu_lite] */ if ($data['row']['global_unloaded'] || $data['row']['is_post_type_unloaded']) { /* [/wpacu_lite] */
31
+ ?>
32
+ <em>"Unload on this page" rule is locked and irrelevant as there are global rules set below that overwrite it. Once all the rules below are removed, this option will become available again.</em>
33
+ <?php
34
+ }
35
+ ?>
36
+ </div>
37
+
38
+ <div class="wpacu_asset_options_wrap">
39
+ <?php
40
+ // Unloaded Everywhere
41
+ if ($data['row']['global_unloaded']) {
42
+ ?>
43
+ <p><strong style="color: #d54e21;">This JavaScript file is unloaded everywhere</strong></p>
44
+ <?php
45
+ }
46
+ ?>
47
+
48
+ <ul class="wpacu_asset_options">
49
+ <?php
50
+ // [START] UNLOAD EVERYWHERE
51
+ if ($data['row']['global_unloaded']) {
52
+ ?>
53
+ <li>
54
+ <label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
55
+ class="wpacu_bulk_option wpacu_script"
56
+ type="radio"
57
+ name="wpacu_options_scripts[<?php echo $data['row']['obj']->handle; ?>]"
58
+ checked="checked"
59
+ value="default" />
60
+ Keep the unload global rule</label>
61
+ </li>
62
+
63
+ <li>
64
+ <label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
65
+ class="wpacu_bulk_option wpacu_script"
66
+ type="radio"
67
+ name="wpacu_options_scripts[<?php echo $data['row']['obj']->handle; ?>]"
68
+ value="remove" />
69
+ Remove global unload rule</label>
70
+ </li>
71
+ <?php
72
+ } else {
73
+ ?>
74
+ <li>
75
+ <label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
76
+ class="wpacu_global_unload wpacu_global_script"
77
+ id="wpacu_global_unload_script_<?php echo $data['row']['obj']->handle; ?>"
78
+ type="checkbox"
79
+ name="wpacu_global_unload_scripts[]"
80
+ value="<?php echo $data['row']['obj']->handle; ?>"/>
81
+ Unload Everywhere <small>* bulk unload</small></label>
82
+ </li>
83
+ <?php
84
+ }
85
+ // [END] UNLOAD EVERYWHERE
86
+ ?>
87
+
88
+ </ul>
89
+ </div>
90
+
91
+ <?php if ($data['bulk_unloaded_type'] === 'post_type') { ?>
92
+ <div class="wpacu_asset_options_wrap">
93
+ <?php } ?>
94
+
95
+ <?php
96
+ // Unloaded On All Pages Belonging to the page's Post Type
97
+ if ($data['row']['is_post_type_unloaded']) {
98
+ ?>
99
+ <p><strong style="color: #d54e21;">This JavaScript file is unloaded on all <u><?php echo $data['post_type']; ?></u> post types.</strong></p>
100
+ <div class="clear"></div>
101
+ <?php
102
+ }
103
+ ?>
104
+
105
+ <ul class="wpacu_asset_options">
106
+ <?php
107
+ if ($data['bulk_unloaded_type'] === 'post_type') {
108
+ // [START] ALL PAGES HAVING THE SAME POST TYPE
109
+ if ($data['row']['is_post_type_unloaded']) {
110
+ ?>
111
+ <li>
112
+ <label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
113
+ class="wpacu_post_type_option wpacu_post_type_script wpacu_keep_bulk_rule"
114
+ type="radio"
115
+ name="wpacu_options_post_type_scripts[<?php echo $data['row']['obj']->handle; ?>]"
116
+ checked="checked"
117
+ value="default"/>
118
+ Keep rule</label>
119
+ </li>
120
+
121
+ <li>
122
+ <label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
123
+ class="wpacu_post_type_option wpacu_remove_bulk_rule wpacu_post_type_script"
124
+ type="radio"
125
+ name="wpacu_options_post_type_scripts[<?php echo $data['row']['obj']->handle; ?>]"
126
+ value="remove"/>
127
+ Remove rule</label>
128
+ </li>
129
+ <?php
130
+ } else {
131
+ ?>
132
+ <li>
133
+ <label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
134
+ class="wpacu_bulk_unload wpacu_post_type_unload wpacu_post_type_script"
135
+ id="wpacu_global_unload_post_type_script_<?php echo $data['row']['obj']->handle; ?>"
136
+ type="checkbox"
137
+ name="wpacu_bulk_unload_scripts[post_type][<?php echo $data['post_type']; ?>][]"
138
+ value="<?php echo $data['row']['obj']->handle; ?>"/>
139
+ Unload on All Pages of <strong><?php echo $data['post_type']; ?></strong> post type <small>* bulk unload</small></label>
140
+ </li>
141
+ <?php
142
+ }
143
+ }
144
+ // [END] ALL PAGES HAVING THE SAME POST TYPE
145
+ ?>
146
+ </ul>
147
+ <?php if ($data['bulk_unloaded_type'] === 'post_type') { ?>
148
+ </div>
149
+ <?php } ?>
150
+
151
+ <?php
152
+ do_action('wpacu_pro_bulk_unload_output', $data, $data['row']['obj'], 'js');
153
+ ?>
154
+
155
+ <ul class="wpacu_asset_options wpacu_exception_options_area">
156
+ <li id="wpacu_load_it_option_script_<?php echo $data['row']['obj']->handle; ?>">
157
+ <label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
158
+ id="wpacu_script_load_it_<?php echo $data['row']['obj']->handle; ?>"
159
+ class="wpacu_load_it_option wpacu_script wpacu_load_exception"
160
+ type="checkbox"
161
+ name="wpacu_scripts_load_it[]"
162
+ <?php if ($data['row']['is_load_exception']) { ?> checked="checked" <?php } ?>
163
+ value="<?php echo $data['row']['obj']->handle; ?>" />
164
+ Load it on this page (make exception<?php if (! $data['row']['is_global_rule']) { echo ' * works only IF any of bulk rule above is selected'; } ?>)</label>
165
+ </li>
166
+ </ul>
167
+ <?php
168
+ if (isset($data['row']['obj']->src) && $data['row']['obj']->src !== '') {
169
+ ?>
170
+ <p><strong><?php _e('Source:', WPACU_PLUGIN_NAME); ?></strong> <a target="_blank" href="<?php echo $data['row']['obj']->srcHref; ?>"><?php echo $data['row']['obj']->src; ?></a></p>
171
+ <?php
172
+ }
173
+
174
+ if ($data['row']['extra_data_js']) { ?>
175
+ <p><strong><?php _e('Inline:', WPACU_PLUGIN_NAME); ?></strong> <em><?php echo htmlspecialchars($data['row']['extra_data_js']); ?></em></p>
176
+ <?php
177
+ }
178
+
179
+ $extraInfo = array();
180
+
181
+ if (! empty($data['row']['obj']->deps)) {
182
+ $extraInfo[] = '<strong>'.__('Depends on:', WPACU_PLUGIN_NAME).'</strong> '.implode(', ', $data['row']['obj']->deps);
183
+ }
184
+
185
+ if (isset($data['row']['obj']->ver) && $data['row']['obj']->ver !== '') {
186
+ $extraInfo[] = '<strong>'.__('Version:', WPACU_PLUGIN_NAME).'</strong> '.$data['row']['obj']->ver;
187
+ }
188
+
189
+ if (isset($data['row']['obj']->position) && $data['row']['obj']->position !== '') {
190
+ $extraInfo[] = '<strong>'.__('Position:', WPACU_PLUGIN_NAME).'</strong> '.(($data['row']['obj']->position === 'head') ? 'HEAD' : 'BODY');
191
+ }
192
+
193
+ // [wpacu_lite]
194
+ $extraInfo[] = '<strong>'.__('File Size:', WPACU_PLUGIN_NAME).'</strong> <a class="go-pro-link-no-style" href="'.WPACU_PLUGIN_GO_PRO_URL.'?utm_source=manage_asset&utm_medium=file_size"><span class="tooltip">Upgrade to Pro to unlock all features</span><img width="20" height="20" src="'.WPACU_PLUGIN_URL.'/assets/icons/icon-lock.svg" valign="top" alt="" /> Pro Version</a>';
195
+ // [/wpacu_lite]
196
+
197
+ if (! empty($extraInfo)) {
198
+ echo '<p>'.implode(' &nbsp;/&nbsp; ', $extraInfo).'</p>';
199
+ }
200
+ ?>
201
+
202
+ <!-- [wpacu_lite] -->
203
+ <?php if (isset($data['row']['obj']->src) && $data['row']['obj']->src !== '') { ?>
204
+ <div class="wpacu-script-attributes-area wpacu-lite">
205
+ <p>If loaded (not unloaded by any of the rules above), apply the following attributes: <em><a class="go-pro-link-no-style" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>">* this option is available in Pro version</a></em></p>
206
+
207
+ <ul class="wpacu-script-attributes-settings wpacu-first">
208
+ <li><a class="go-pro-link-no-style" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>"><span class="tooltip wpacu-larger">This feature is available in the premium version of the plugin.<br /> Click here to upgrade to Pro!</span><img width="20" height="20" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg" valign="top" alt="" /></a>&nbsp; <strong>async</strong> &#10230;</li>
209
+ <li><label for="async_none_<?php echo $data['row']['obj']->handle; ?>"><input disabled="disabled" id="async_none_<?php echo $data['row']['obj']->handle; ?>" type="radio" name="wpacu_async[<?php echo $data['row']['obj']->handle; ?>]" value="none" />none (default)</label></li>
210
+ <li><label for="async_on_this_page_<?php echo $data['row']['obj']->handle; ?>"><input disabled="disabled" id="async_on_this_page_<?php echo $data['row']['obj']->handle; ?>" type="radio" name="wpacu_async[<?php echo $data['row']['obj']->handle; ?>]" value="on_this_page" />on this page</label></li>
211
+ <li><label for="async_everywhere_<?php echo $data['row']['obj']->handle; ?>"><input disabled="disabled" id="async_everywhere_<?php echo $data['row']['obj']->handle; ?>" type="radio" name="wpacu_async[<?php echo $data['row']['obj']->handle; ?>]" value="everywhere" />everywhere</label></li>
212
+ </ul>
213
+
214
+
215
+ <ul class="wpacu-script-attributes-settings">
216
+ <li><a class="go-pro-link-no-style" href="<?php echo WPACU_PLUGIN_GO_PRO_URL; ?>"><span class="tooltip wpacu-larger">This feature is available in the premium version of the plugin.<br /> Click here to upgrade to Pro!</span><img width="20" height="20" src="<?php echo WPACU_PLUGIN_URL; ?>/assets/icons/icon-lock.svg" valign="top" alt="" /></a>&nbsp; <strong>defer</strong> &#10230;</li>
217
+ <li><label for="defer_none_<?php echo $data['row']['obj']->handle; ?>"><input disabled="disabled" id="defer_none_<?php echo $data['row']['obj']->handle; ?>" type="radio" name="wpacu_defer[<?php echo $data['row']['obj']->handle; ?>]" value="none" />none (default)</label></li>
218
+ <li><label for="defer_on_this_page_<?php echo $data['row']['obj']->handle; ?>"><input disabled="disabled" id="defer_on_this_page_<?php echo $data['row']['obj']->handle; ?>" type="radio" name="wpacu_defer[<?php echo $data['row']['obj']->handle; ?>]" value="on_this_page" />on this page</label></li>
219
+ <li><label for="defer_everywhere_<?php echo $data['row']['obj']->handle; ?>"><input disabled="disabled" id="defer_everywhere_<?php echo $data['row']['obj']->handle; ?>" type="radio" name="wpacu_defer[<?php echo $data['row']['obj']->handle; ?>]" value="everywhere" />everywhere</label></li>
220
+ </ul>
221
+ </div>
222
+ <?php } ?>
223
+ <!-- [/wpacu_lite] -->
224
+ </td>
225
+ </tr>
templates/meta-box-loaded-assets/_asset-style-rows.php CHANGED
@@ -4,243 +4,53 @@ if (! isset($data)) {
4
}
5
6
foreach ($data['all']['styles'] as $obj) {
7
- $active = (isset($data['current']['styles']) && in_array($obj->handle, $data['current']['styles']));
8
9
- $class = $active ? 'wpacu_not_load' : '';
10
- $checked = $active ? 'checked="checked"' : '';
11
12
/*
13
- * $isGlobalRule is only used to apply a red background in the style's area to point out that the style is unloaded
14
* is set to `true` if either the asset is unloaded everywhere or it's unloaded on a group of pages (such as all pages belonging to 'page' post type)
15
*/
16
- $globalUnloaded = $bulkTypeUnloaded = $isPostTypeUnloaded = $isLoadException = $isGlobalRule = false;
17
18
// Mark it as unloaded - Everywhere
19
- if (in_array($obj->handle, $data['global_unload']['styles'])) {
20
- $globalUnloaded = $isGlobalRule = true;
21
}
22
23
// Mark it as unloaded - for the Current Post Type
24
- if ($data['bulk_unloaded_type'] && in_array($obj->handle, $data['bulk_unloaded'][$data['bulk_unloaded_type']]['styles'])) {
25
- $bulkTypeUnloaded = $isGlobalRule = true;
26
27
if ($data['bulk_unloaded_type'] === 'post_type') {
28
- $isPostTypeUnloaded = true;
29
}
30
}
31
32
- if ($isGlobalRule) {
33
- if (in_array($obj->handle, $data['load_exceptions']['styles'])) {
34
- $isLoadException = true;
35
} else {
36
- $class .= ' wpacu_not_load';
37
}
38
}
39
40
- $class .= ' style_'.$obj->handle;
41
-
42
- $extraDataCSSList = (is_object($obj->extra) && isset($obj->extra->after)) ? $obj->extra->after : array();
43
44
- if (! $extraDataCSSList) {
45
- $extraDataCSSList = (is_array($obj->extra) && isset($obj->extra['after'])) ? $obj->extra['after'] : array();
46
}
47
- ?>
48
- <tr class="wpacu_asset_row <?php echo $class; ?>">
49
- <td valign="top">
50
- <p class="wpacu_handle">
51
- <label for="style_<?php echo $obj->handle; ?>"><?php _e('Handle:', WPACU_PLUGIN_NAME); ?> <strong><span style="color: green;"><?php echo $obj->handle; ?></span></strong></label>
52
- <?php
53
- if (isset($obj->wp) && $obj->wp) {
54
- ?>
55
- <span class="dashicons dashicons-warning wordpress-core-file"><span class="tooltip">WordPress Core File<br />Not sure if needed or not? In this case, it's better to leave it loaded to avoid breaking the website.</span></span>
56
- <?php
57
- }
58
- ?>
59
- </p>
60
-
61
- <div class="wpacu_asset_options_wrap">
62
- <ul class="wpacu_asset_options" <?php /* [wpacu_lite] */ if ($globalUnloaded || $isPostTypeUnloaded) { /* [/wpacu_lite] */ echo 'style="display: none;"'; } ?>>
63
- <li class="wpacu_unload_this_page">
64
- <label class="wpacu_switch"><input class="input-unload-on-this-page" id="style_<?php echo $obj->handle; ?>" <?php /* [wpacu_lite] */ if ($globalUnloaded || $isPostTypeUnloaded) { /* [/wpacu_lite] */ echo 'disabled="disabled"'; } echo $checked; ?> name="<?php echo WPACU_PLUGIN_NAME; ?>[styles][]" type="checkbox" value="<?php echo $obj->handle; ?>" /><span class="wpacu_slider wpacu_round"></span></label> <label class="wpacu_slider_text" for="style_<?php echo $obj->handle; ?>">Unload on this page</label>
65
- </li>
66
- </ul>
67
-
68
- <?php
69
- /* [wpacu_lite] */ if ($globalUnloaded || $isPostTypeUnloaded) { /* [/wpacu_lite] */
70
- ?>
71
- <em>"Unload on this page" rule is locked and irrelevant as there are global rules set below that overwrite it. Once all the rules below are removed, this option will become available again.</em>
72
- <?php
73
- }
74
- ?>
75
- </div>
76
-
77
- <div class="wpacu_asset_options_wrap">
78
- <?php
79
- // Unloaded Everywhere
80
- if ($globalUnloaded) {
81
- ?>
82
- <p><strong style="color: #d54e21;">This stylesheet file is unloaded everywhere</strong></p>
83
- <div class="clear"></div>
84
- <?php
85
- }
86
- ?>
87
-
88
- <ul class="wpacu_asset_options">
89
- <?php
90
- // [START] UNLOAD EVERYWHERE
91
- if ($globalUnloaded) {
92
- ?>
93
- <li>
94
- <label><input data-handle="<?php echo $obj->handle; ?>"
95
- class="wpacu_global_option wpacu_style"
96
- type="radio"
97
- name="wpacu_options_styles[<?php echo $obj->handle; ?>]"
98
- checked="checked"
99
- value="default" />
100
- Keep the unload global rule</label>
101
- </li>
102
-
103
- <li>
104
- <label><input data-handle="<?php echo $obj->handle; ?>"
105
- class="wpacu_global_option wpacu_style"
106
- type="radio"
107
- name="wpacu_options_styles[<?php echo $obj->handle; ?>]"
108
- value="remove" />
109
- Remove global unload rule</label>
110
- </li>
111
- <?php
112
- } else {
113
- ?>
114
- <li>
115
- <label><input data-handle="<?php echo $obj->handle; ?>"
116
- class="wpacu_global_unload wpacu_global_style"
117
- id="wpacu_global_unload_style_<?php echo $obj->handle; ?>" type="checkbox"
118
- name="wpacu_global_unload_styles[]" value="<?php echo $obj->handle; ?>"/>
119
- Unload Everywhere <small>* bulk unload</small></label>
120
- </li>
121
- <?php
122
- }
123
- // [END] UNLOAD EVERYWHERE
124
- ?>
125
- </ul>
126
- </div>
127
-
128
- <?php if ($data['bulk_unloaded_type'] === 'post_type') { ?>
129
- <div class="wpacu_asset_options_wrap">
130
- <?php } ?>
131
-
132
- <?php
133
- // Unloaded On All Pages Belonging to the page's Post Type
134
- if ($isPostTypeUnloaded) {
135
- ?>
136
- <p><strong style="color: #d54e21;">This stylesheet file is unloaded on all <u><?php echo $data['post_type']; ?></u> post types.</strong></p>
137
- <div class="clear"></div>
138
- <?php
139
- }
140
- ?>
141
-
142
- <?php
143
- if ($data['bulk_unloaded_type'] === 'post_type') {
144
- ?>
145
- <ul class="wpacu_asset_options">
146
- <?php
147
- // [START] ALL PAGES HAVING THE SAME POST TYPE
148
- if ($isPostTypeUnloaded) {
149
- ?>
150
- <li>
151
- <label><input data-handle="<?php echo $obj->handle; ?>"
152
- class="wpacu_bulk_option wpacu_style wpacu_keep_bulk_rule"
153
- type="radio"
154
- name="wpacu_options_post_type_styles[<?php echo $obj->handle; ?>]"
155
- checked="checked"
156
- value="default"/>
157
- Keep rule</label>
158
- </li>
159
-
160
- <li>
161
- <label><input data-handle="<?php echo $obj->handle; ?>"
162
- class="wpacu_bulk_option wpacu_style wpacu_remove_bulk_rule"
163
- type="radio"
164
- name="wpacu_options_post_type_styles[<?php echo $obj->handle; ?>]"
165
- value="remove"/>
166
- Remove rule</label>
167
- </li>
168
- <?php
169
- } else {
170
- ?>
171
- <li>
172
- <label><input data-handle="<?php echo $obj->handle; ?>"
173
- class="wpacu_bulk_unload wpacu_post_type_unload wpacu_post_type_style"
174
- id="wpacu_bulk_unload_post_type_style_<?php echo $obj->handle; ?>"
175
- type="checkbox"
176
- name="wpacu_bulk_unload_styles[post_type][<?php echo $data['post_type']; ?>][]"
177
- value="<?php echo $obj->handle; ?>"/>
178
- Unload on All Pages of <strong><?php echo $data['post_type']; ?></strong> post type <small>* bulk unload</small></label>
179
- </li>
180
- <?php
181
- }
182
- ?>
183
- </ul>
184
- <?php
185
- }
186
- // [END] ALL PAGES HAVING THE SAME POST TYPE
187
- ?>
188
-
189
- <?php if ($data['bulk_unloaded_type'] === 'post_type') { ?>
190
- </div>
191
- <?php } ?>
192
-
193
- <?php
194
- // [wpacu_pro]
195
- do_action('wpacu_pro_bulk_unload_output', $data, $obj, 'css');
196
- // [/wpacu_pro]
197
- ?>
198
-
199
- <ul class="wpacu_asset_options wpacu_exception_options_area">
200
- <li id="wpacu_load_it_option_style_<?php echo $obj->handle; ?>">
201
- <label><input data-handle="<?php echo $obj->handle; ?>"
202
- id="wpacu_style_load_it_<?php echo $obj->handle; ?>"
203
- class="wpacu_load_it_option wpacu_style wpacu_load_exception"
204
- type="checkbox"
205
- <?php if ($isLoadException) { ?> checked="checked" <?php } ?>
206
- name="wpacu_styles_load_it[]"
207
- value="<?php echo $obj->handle; ?>"/>
208
- Load it on this page (make exception<?php if (! $isGlobalRule) { echo ' * works only IF any of bulk rule above is selected'; } ?>)</label>
209
- </li>
210
- </ul>
211
- <?php
212
- if (isset($obj->src) && $obj->src !== '') {
213
- ?>
214
- <p><strong><?php _e('Source:', WPACU_PLUGIN_NAME); ?></strong> <a target="_blank" href="<?php echo $obj->srcHref; ?>"><?php echo $obj->src; ?></a></p>
215
- <?php }
216
-
217
- if (! empty($extraDataCSSList)) { ?>
218
- <p><strong><?php _e('Inline styling associated with the handle:', WPACU_PLUGIN_NAME); ?></strong></p>
219
- <p style="margin-bottom: 15px;"><?php foreach ($extraDataCSSList as $extraDataCSS) {
220
- echo '<em>'.htmlspecialchars($extraDataCSS).'</em>'.'<br />';
221
- } ?></p>
222
- <?php
223
- }
224
-
225
- $extraInfo = array();
226
-
227
- if (! empty($obj->deps)) {
228
- $extraInfo[] = '<strong>'.__('Depends on:', WPACU_PLUGIN_NAME).'</strong> '.implode(', ', $obj->deps);
229
- }
230
-
231
- if ($obj->ver) {
232
- $extraInfo[] = '<strong>'.__('Version:', WPACU_PLUGIN_NAME).'</strong> '.$obj->ver;
233
- }
234
235
- // [wpacu_lite]
236
- $extraInfo[] = '<strong>'.__('File Size:', WPACU_PLUGIN_NAME).'</strong> <a href="'.WPACU_PLUGIN_GO_PRO_URL.'?utm_source=manage_asset&utm_medium=file_size" class="go-pro-link-no-style"><span class="tooltip">Upgrade to Pro to unlock all features</span><img width="20" height="20" src="'.WPACU_PLUGIN_URL.'/assets/icons/icon-lock.svg" valign="top" alt="" /> Pro Version</a>';
237
- // [/wpacu_lite]
238
239
- if (! empty($extraInfo)) {
240
- echo '<p>'.implode(' &nbsp;/&nbsp; ', $extraInfo).'</p>';
241
- }
242
- ?>
243
- </td>
244
- </tr>
245
- <?php
246
}
4
}
5
6
foreach ($data['all']['styles'] as $obj) {
7
+ $data['row'] = array();
8
+ $data['row']['obj'] = $obj;
9
10
+ $active = (isset($data['current']['styles']) && in_array($data['row']['obj']->handle, $data['current']['styles']));
11
+
12
+ $data['row']['class'] = $active ? 'wpacu_not_load' : '';
13
+ $data['row']['checked'] = $active ? 'checked="checked"' : '';
14
15
/*
16
+ * $data['row']['is_global_rule'] is only used to apply a red background in the style's area to point out that the style is unloaded
17
* is set to `true` if either the asset is unloaded everywhere or it's unloaded on a group of pages (such as all pages belonging to 'page' post type)
18
*/
19
+ $data['row']['global_unloaded'] = $data['row']['is_post_type_unloaded'] = $data['row']['is_load_exception'] = $data['row']['is_global_rule'] = false;
20
21
// Mark it as unloaded - Everywhere
22
+ if (in_array($data['row']['obj']->handle, $data['global_unload']['styles'])) {
23
+ $data['row']['global_unloaded'] = $data['row']['is_global_rule'] = true;
24
}
25
26
// Mark it as unloaded - for the Current Post Type
27
+ if ($data['bulk_unloaded_type'] && in_array($data['row']['obj']->handle, $data['bulk_unloaded'][$data['bulk_unloaded_type']]['styles'])) {
28
+ $data['row']['is_global_rule'] = true;
29
30
if ($data['bulk_unloaded_type'] === 'post_type') {
31
+ $data['row']['is_post_type_unloaded'] = true;
32
}
33
}
34
35
+ if ($data['row']['is_global_rule']) {
36
+ if (in_array($data['row']['obj']->handle, $data['load_exceptions']['styles'])) {
37
+ $data['row']['is_load_exception'] = true;
38
} else {
39
+ $data['row']['class'] .= ' wpacu_not_load';
40
}
41
}
42
43
+ $data['row']['extra_data_css_list'] = (is_object($data['row']['obj']->extra) && isset($data['row']['obj']->extra->after)) ? $data['row']['obj']->extra->after : array();
44
45
+ if (! $data['row']['extra_data_css_list']) {
46
+ $data['row']['extra_data_css_list'] = (is_array($data['row']['obj']->extra) && isset($data['row']['obj']->extra['after'])) ? $data['row']['obj']->extra['after'] : array();
47
}
48
49
+ $data['row']['class'] .= ' style_'.$data['row']['obj']->handle;
50
51
+ // Load Template
52
+ echo \WpAssetCleanUp\Main::instance()->parseTemplate(
53
+ '/meta-box-loaded-assets/_asset-style-single-row',
54
+ $data
55
+ );
56
}
templates/meta-box-loaded-assets/_asset-style-single-row.php ADDED
@@ -0,0 +1,205 @@
1
+ <?php
2
+ /*
3
+ * The file is included from _asset-style-rows.php
4
+ */
5
+ if (! isset($data)) {
6
+ exit; // no direct access
7
+ }
8
+ ?>
9
+ <tr class="wpacu_asset_row <?php echo $data['row']['class']; ?>">
10
+ <td valign="top">
11
+ <p class="wpacu_handle">
12
+ <label for="style_<?php echo $data['row']['obj']->handle; ?>"><?php _e('Handle:', WPACU_PLUGIN_NAME); ?> <strong><span style="color: green;"><?php echo $data['row']['obj']->handle; ?></span></strong></label>
13
+ <?php
14
+ if (isset($data['row']['obj']->wp) && $data['row']['obj']->wp) {
15
+ ?>
16
+ <span class="dashicons dashicons-warning wordpress-core-file"><span class="tooltip">WordPress Core File<br />Not sure if needed or not? In this case, it's better to leave it loaded to avoid breaking the website.</span></span>
17
+ <?php
18
+ }
19
+ ?>
20
+ </p>
21
+
22
+ <div class="wpacu_asset_options_wrap">
23
+ <ul class="wpacu_asset_options wpacu_exception_options_area" <?php /* [wpacu_lite] */ if ($data['row']['global_unloaded'] || $data['row']['is_post_type_unloaded']) { /* [/wpacu_lite] */ echo 'style="display: none;"'; } ?>>
24
+ <li class="wpacu_unload_this_page">
25
+ <label class="wpacu_switch"><input class="input-unload-on-this-page" id="style_<?php echo $data['row']['obj']->handle; ?>" <?php /* [wpacu_lite] */ if ($data['row']['global_unloaded'] || $data['row']['is_post_type_unloaded']) { /* [/wpacu_lite] */ echo 'disabled="disabled"'; } echo $data['row']['checked']; ?> name="<?php echo WPACU_PLUGIN_NAME; ?>[styles][]" type="checkbox" value="<?php echo $data['row']['obj']->handle; ?>" /><span class="wpacu_slider wpacu_round"></span></label> <label class="wpacu_slider_text" for="style_<?php echo $data['row']['obj']->handle; ?>">Unload on this page</label>
26
+ </li>
27
+ </ul>
28
+
29
+ <?php
30
+ /* [wpacu_lite] */ if ($data['row']['global_unloaded'] || $data['row']['is_post_type_unloaded']) { /* [/wpacu_lite] */
31
+ ?>
32
+ <em>"Unload on this page" rule is locked and irrelevant as there are global rules set below that overwrite it. Once all the rules below are removed, this option will become available again.</em>
33
+ <?php
34
+ }
35
+ ?>
36
+ </div>
37
+
38
+ <div class="wpacu_asset_options_wrap">
39
+ <?php
40
+ // Unloaded Everywhere
41
+ if ($data['row']['global_unloaded']) {
42
+ ?>
43
+ <p><strong style="color: #d54e21;">This stylesheet file is unloaded everywhere</strong></p>
44
+ <div class="clear"></div>
45
+ <?php
46
+ }
47
+ ?>
48
+
49
+ <ul class="wpacu_asset_options">
50
+ <?php
51
+ // [START] UNLOAD EVERYWHERE
52
+ if ($data['row']['global_unloaded']) {
53
+ ?>
54
+ <li>
55
+ <label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
56
+ class="wpacu_global_option wpacu_style"
57
+ type="radio"
58
+ name="wpacu_options_styles[<?php echo $data['row']['obj']->handle; ?>]"
59
+ checked="checked"
60
+ value="default" />
61
+ Keep the unload global rule</label>
62
+ </li>
63
+
64
+ <li>
65
+ <label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
66
+ class="wpacu_global_option wpacu_style"
67
+ type="radio"
68
+ name="wpacu_options_styles[<?php echo $data['row']['obj']->handle; ?>]"
69
+ value="remove" />
70
+ Remove global unload rule</label>
71
+ </li>
72
+ <?php
73
+ } else {
74
+ ?>
75
+ <li>
76
+ <label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
77
+ class="wpacu_global_unload wpacu_global_style"
78
+ id="wpacu_global_unload_style_<?php echo $data['row']['obj']->handle; ?>" type="checkbox"
79
+ name="wpacu_global_unload_styles[]" value="<?php echo $data['row']['obj']->handle; ?>"/>
80
+ Unload Everywhere <small>* bulk unload</small></label>
81
+ </li>
82
+ <?php
83
+ }
84
+ // [END] UNLOAD EVERYWHERE
85
+ ?>
86
+ </ul>
87
+ </div>
88
+
89
+ <?php if ($data['bulk_unloaded_type'] === 'post_type') { ?>
90
+ <div class="wpacu_asset_options_wrap">
91
+ <?php } ?>
92
+
93
+ <?php
94
+ // Unloaded On All Pages Belonging to the page's Post Type
95
+ if ($data['row']['is_post_type_unloaded']) {
96
+ ?>
97
+ <p><strong style="color: #d54e21;">This stylesheet file is unloaded on all <u><?php echo $data['post_type']; ?></u> post types.</strong></p>
98
+ <div class="clear"></div>
99
+ <?php
100
+ }
101
+ ?>
102
+
103
+ <?php
104
+ if ($data['bulk_unloaded_type'] === 'post_type') {
105
+ ?>
106
+ <ul class="wpacu_asset_options">
107
+ <?php
108
+ // [START] ALL PAGES HAVING THE SAME POST TYPE
109
+ if ($data['row']['is_post_type_unloaded']) {
110
+ ?>
111
+ <li>
112
+ <label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
113
+ class="wpacu_bulk_option wpacu_style wpacu_keep_bulk_rule"
114
+ type="radio"
115
+ name="wpacu_options_post_type_styles[<?php echo $data['row']['obj']->handle; ?>]"
116
+ checked="checked"
117
+ value="default"/>
118
+ Keep rule</label>
119
+ </li>
120
+
121
+ <li>
122
+ <label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
123
+ class="wpacu_bulk_option wpacu_style wpacu_remove_bulk_rule"
124
+ type="radio"
125
+ name="wpacu_options_post_type_styles[<?php echo $data['row']['obj']->handle; ?>]"
126
+ value="remove"/>
127
+ Remove rule</label>
128
+ </li>
129
+ <?php
130
+ } else {
131
+ ?>
132
+ <li>
133
+ <label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
134
+ class="wpacu_bulk_unload wpacu_post_type_unload wpacu_post_type_style"
135
+ id="wpacu_bulk_unload_post_type_style_<?php echo $data['row']['obj']->handle; ?>"
136
+ type="checkbox"
137
+ name="wpacu_bulk_unload_styles[post_type][<?php echo $data['post_type']; ?>][]"
138
+ value="<?php echo $data['row']['obj']->handle; ?>"/>
139
+ Unload on All Pages of <strong><?php echo $data['post_type']; ?></strong> post type <small>* bulk unload</small></label>
140
+ </li>
141
+ <?php
142
+ }
143
+ ?>
144
+ </ul>
145
+ <?php
146
+ }
147
+ // [END] ALL PAGES HAVING THE SAME POST TYPE
148
+ ?>
149
+
150
+ <?php if ($data['bulk_unloaded_type'] === 'post_type') { ?>
151
+ </div>
152
+ <?php } ?>
153
+
154
+ <?php
155
+ // [wpacu_pro]
156
+ do_action('wpacu_pro_bulk_unload_output', $data, $data['row']['obj'], 'css');
157
+ // [/wpacu_pro]
158
+ ?>
159
+
160
+ <ul class="wpacu_asset_options wpacu_exception_options_area">
161
+ <li id="wpacu_load_it_option_style_<?php echo $data['row']['obj']->handle; ?>">
162
+ <label><input data-handle="<?php echo $data['row']['obj']->handle; ?>"
163
+ id="wpacu_style_load_it_<?php echo $data['row']['obj']->handle; ?>"
164
+ class="wpacu_load_it_option wpacu_style wpacu_load_exception"
165
+ type="checkbox"
166
+ <?php if ($data['row']['is_load_exception']) { ?> checked="checked" <?php } ?>
167
+ name="wpacu_styles_load_it[]"
168
+ value="<?php echo $data['row']['obj']->handle; ?>"/>
169
+ Load it on this page (make exception<?php if (! $data['row']['is_global_rule']) { echo ' * works only IF any of bulk rule above is selected'; } ?>)</label>
170
+ </li>
171
+ </ul>
172
+ <?php
173
+ if (isset($data['row']['obj']->src) && $data['row']['obj']->src !== '') {
174
+ ?>
175
+ <p><strong><?php _e('Source:', WPACU_PLUGIN_NAME); ?></strong> <a target="_blank" href="<?php echo $data['row']['obj']->srcHref; ?>"><?php echo $data['row']['obj']->src; ?></a></p>
176
+ <?php }
177
+
178
+ if (! empty($data['row']['extra_data_css_list'])) { ?>
179
+ <p><strong><?php _e('Inline styling associated with the handle:', WPACU_PLUGIN_NAME); ?></strong></p>
180
+ <p style="margin-bottom: 15px;"><?php foreach ($data['row']['extra_data_css_list'] as $extraDataCSS) {
181
+ echo '<em>'.htmlspecialchars($extraDataCSS).'</em>'.'<br />';
182
+ } ?></p>
183
+ <?php
184
+ }
185
+
186
+ $extraInfo = array();
187
+
188
+ if (! empty($data['row']['obj']->deps)) {
189
+ $extraInfo[] = '<strong>'.__('Depends on:', WPACU_PLUGIN_NAME).'</strong> '.implode(', ', $data['row']['obj']->deps);
190
+ }
191
+
192
+ if ($data['row']['obj']->ver) {
193
+ $extraInfo[] = '<strong>'.__('Version:', WPACU_PLUGIN_NAME).'</strong> '.$data['row']['obj']->ver;
194
+ }
195
+
196
+ // [wpacu_lite]
197
+ $extraInfo[] = '<strong>'.__('File Size:', WPACU_PLUGIN_NAME).'</strong> <a href="'.WPACU_PLUGIN_GO_PRO_URL.'?utm_source=manage_asset&utm_medium=file_size" class="go-pro-link-no-style"><span class="tooltip">Upgrade to Pro to unlock all features</span><img width="20" height="20" src="'.WPACU_PLUGIN_URL.'/assets/icons/icon-lock.svg" valign="top" alt="" /> Pro Version</a>';
198
+ // [/wpacu_lite]
199
+
200
+ if (! empty($extraInfo)) {
201
+ echo '<p>'.implode(' &nbsp;/&nbsp; ', $extraInfo).'</p>';
202
+ }
203
+ ?>
204
+ </td>
205
+ </tr>
templates/meta-box-loaded-assets/_inline_js.php ADDED
@@ -0,0 +1,69 @@
1
+ <?php
2
+ // no direct access
3
+ if (! isset($data)) {
4
+ exit;
5
+ }
6
+ ?>
7
+ <script type="text/javascript">
8
+ var wpacuContentLinks = document.getElementsByClassName('wpacu-assets-collapsible'), wpacuI;
9
+
10
+ for (wpacuI = 0; wpacuI < wpacuContentLinks.length; wpacuI++) {
11
+ wpacuContentLinks[wpacuI].addEventListener('click', function (e) {
12
+ e.preventDefault();
13
+
14
+ this.classList.toggle('wpacu-assets-collapsible-active');
15
+
16
+ var assetsListContent = this.nextElementSibling;
17
+
18
+ if (assetsListContent.style.maxHeight) {
19
+ assetsListContent.style.maxHeight = null;
20
+ } else {
21
+ assetsListContent.style.maxHeight = assetsListContent.scrollHeight + "px";
22
+ }
23
+ });
24
+ }
25
+
26
+ document.getElementById('wpacu-assets-contract-all').addEventListener('click', function (e) {
27
+ e.preventDefault();
28
+ wpacuContractAll();
29
+ });
30
+
31
+ document.getElementById('wpacu-assets-expand-all').addEventListener('click', function (e) {
32
+ e.preventDefault();
33
+ wpacuExpandAll();
34
+ });
35
+
36
+ function wpacuExpandAll() {
37
+ var wpacuI, assetsListContent, wpacuContentLinks = document.getElementsByClassName('wpacu-assets-collapsible');
38
+
39
+ for (wpacuI = 0; wpacuI < wpacuContentLinks.length; wpacuI++) {
40
+ wpacuContentLinks[wpacuI].classList.add('wpacu-assets-collapsible-active');
41
+ assetsListContent = wpacuContentLinks[wpacuI].nextElementSibling;
42
+ assetsListContent.style.maxHeight = assetsListContent.scrollHeight + 'px';
43
+ assetsListContent.classList.remove('wpacu-open');
44
+ }
45
+ }
46
+
47
+ function wpacuContractAll() {
48
+ var wpacuI, assetsListContent, wpacuContentLinks = document.getElementsByClassName('wpacu-assets-collapsible');
49
+
50
+ for (wpacuI = 0; wpacuI < wpacuContentLinks.length; wpacuI++) {
51
+ wpacuContentLinks[wpacuI].classList.remove('wpacu-assets-collapsible-active');
52
+ assetsListContent = wpacuContentLinks[wpacuI].nextElementSibling;
53
+ assetsListContent.style.maxHeight = null;
54
+ }
55
+ }
56
+
57
+ <?php
58
+ if ($data['plugin_settings']['assets_list_layout_areas_status'] === 'contracted') {
59
+ ?>
60
+ wpacuContractAll();
61
+ <?php
62
+ } else {
63
+ ?>
64
+ // Remove 'wpacu-open' and set the right max-height to ensure the click action below will work smoothly
65
+ wpacuExpandAll();
66
+ <?php
67
+ }
68
+ ?>
69
+ </script>
templates/meta-box-loaded-assets/default.php DELETED
@@ -1,104 +0,0 @@
1
- <?php
2
- if (! isset($data)) {
3
- exit;
4
- }
5
-
6
- /*
7
- * --------------------
8
- * [START] STYLES LIST
9
- * --------------------
10
- */
11
- ?>
12
- <h3><span style="font-size: 120%; line-height: 130%;" class="dashicons dashicons-admin-appearance"></span> &nbsp; <?php _e('Styles (.css files)', WPACU_PLUGIN_NAME); ?></h3>
13
-
14
- <?php
15
- if ($data['total_styles']) {
16
- ?>
17
- <h4>&#10141; Total enqueued stylesheets: <strong><?php echo $data['total_styles']; ?></strong></h4>
18
- <?php
19
- }
20
-
21
- if (! empty($data['all']['styles'])) {
22
- ?>
23
- <p><?php echo sprintf(__('The following styles are loading on this page. Please select the ones that are %sNOT NEEDED%s. If you are not sure which ones to unload, it is better to leave them enabled (unchecked) and consult with a developer about unloading the assets.', WPACU_PLUGIN_NAME), '<span style="color: #CC0000;"><strong>', '</strong></span>'); ?></p>
24
- <p><?php echo __('"Load in on this page (make exception)" will take effect when a bulk unload rule is used. Otherwise, the asset will load anyway unless you select it for unload.', WPACU_PLUGIN_NAME); ?></p>
25
- <?php
26
- if ($data['core_styles_loaded']) {
27
- ?>
28
- <div class="wpacu_note wpacu_warning"><em><?php
29
- echo sprintf(
30
- __('CSS files that are marked with %s are part of WordPress core files. Be careful if you decide to unload them! If you are not sure what to do, just leave them loaded by default and consult with a developer.', WPACU_PLUGIN_NAME),
31
- '<span class="dashicons dashicons-warning"></span>'
32
- );
33
- ?>
34
- </em></div><br />
35
- <?php
36
- }
37
- ?>
38
- <table class="wpacu_list_table wpacu_widefat wpacu_striped">
39
- <tbody>
40
- <?php
41
- require_once __DIR__.'/_asset-style-rows.php';
42
- ?>
43
- </tbody>
44
- </table>
45
- <?php
46
- } else {
47
- echo __('It looks like there are no public .css files loaded or the ones visible do not follow <a href="https://codex.wordpress.org/Function_Reference/wp_enqueue_style">the WordPress way of enqueuing styles</a>.', WPACU_PLUGIN_NAME);
48
- }
49
- /* -------------------
50
- * [END] STYLES LIST
51
- * -------------------
52
- */
53
-
54
- /*
55
- * ---------------------
56
- * [START] SCRIPTS LIST
57
- * ---------------------
58
- */
59
- ?>
60
- <h3><span style="font-size: 120%; line-height: 130%;" class="dashicons dashicons-media-code"></span> &nbsp; <?php _e('Scripts (.js files)', WPACU_PLUGIN_NAME); ?></h3>
61
-
62
- <?php
63
- if ($data['total_scripts']) {
64
- ?>
65
- <h4>&#10141; Total enqueued JavaScript files: <strong><?php echo $data['total_scripts']; ?></strong></h4>
66
- <?php
67
- }
68
- ?>
69
-
70
- <?php
71
- if (! empty($data['all']['scripts'])) {
72
- ?>
73
- <p><?php echo sprintf(__('The following scripts are loading on this page. Please select the ones that are %sNOT NEEDED%s. If you are not sure which ones to unload, it is better to leave them enabled and consult with a developer about unloading the assets.', WPACU_PLUGIN_NAME), '<span style="color: #CC0000;"><strong>', '</strong></span>'); ?></p>
74
- <p><?php echo __('"Load in on this page (make exception)" will take effect when a bulk unload rule is used. Otherwise, the asset will load anyway unless you select it for unload.', WPACU_PLUGIN_NAME); ?></p>
75
- <?php
76
- if ($data['core_scripts_loaded']) {
77
- ?>
78
- <div class="wpacu_note wpacu_warning"><em><?php
79
- echo sprintf(
80
- __('JavaScript files that are marked with %s are part of WordPress core files. Be careful if you decide to unload them! If you are not sure what to do, just leave them loaded by default and consult with a developer.', WPACU_PLUGIN_NAME),
81
- '<span class="dashicons dashicons-warning"></span>'
82
- );
83
- ?>
84
- </em></div><br />
85
- <?php
86
- }
87
- ?>
88
-
89
- <table class="wpacu_list_table wpacu_widefat wpacu_striped">
90
- <tbody>
91
- <?php
92
- require_once __DIR__.'/_asset-script-rows.php';
93
- ?>
94
- </tbody>
95
- </table>
96
- <?php
97
- } else {
98
- echo __('It looks like there are no public .js files loaded or the ones visible do not follow <a href="https://codex.wordpress.org/Function_Reference/wp_enqueue_script">the WordPress way of enqueuing scripts</a>.', WPACU_PLUGIN_NAME);
99
- }
100
- /*
101
- * -------------------
102
- * [END] SCRIPTS LIST
103
- * -------------------
104
- */
templates/meta-box-loaded-assets/view-default.php ADDED
@@ -0,0 +1,129 @@
1
+ <?php
2
+ // no direct access
3
+ if (! isset($data)) {
4
+ exit;
5
+ }
6
+
7
+ $listAreaStatus = $data['plugin_settings']['assets_list_layout_areas_status'];
8
+
9
+ /*
10
+ * --------------------
11
+ * [START] STYLES LIST
12
+ * --------------------
13
+ */
14
+ ?>
15
+ <div class="wpacu-contract-expand-area">
16
+ <div class="col-left">
17
+ <h4>&#10141; Total enqueued files: <strong><?php echo (int)$data['total_styles'] + (int)$data['total_scripts']; ?></strong></h4>
18
+ </div>
19
+ <div class="col-right">
20
+ <a href="#" id="wpacu-assets-contract-all" class="wpacu-wp-button wpacu-wp-button-secondary">Contract Both Areas</a>&nbsp;
21
+ <a href="#" id="wpacu-assets-expand-all" class="wpacu-wp-button wpacu-wp-button-secondary">Expand Both Areas</a>
22
+ </div>
23
+ <div class="wpacu-clearfix"></div>
24
+ </div>
25
+
26
+ <div class="wpacu-assets-collapsible-wrap wpacu-wrap-styles">
27
+ <a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-styles-collapsible-content">
28
+ <span class="dashicons dashicons-admin-appearance"></span> &nbsp; <?php _e('Styles (.css files)', WPACU_PLUGIN_NAME); ?> &#10141; Total: <?php echo $data['total_styles']; ?>
29
+ </a>
30
+
31
+ <div id="wpacu-assets-styles-collapsible-content"
32
+ class="wpacu-assets-collapsible-content <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-open<?php } ?>">
33
+ <div>
34
+ <?php
35
+ if (! empty($data['all']['styles'])) {
36
+ ?>
37
+ <p><?php echo sprintf(__('The following styles are loading on this page. Please select the ones that are %sNOT NEEDED%s. If you are not sure which ones to unload, it is better to leave them enabled (unchecked) and consult with a developer about unloading the assets.', WPACU_PLUGIN_NAME), '<span style="color: #CC0000;"><strong>', '</strong></span>'); ?></p>
38
+ <p><?php echo __('"Load in on this page (make exception)" will take effect when a bulk unload rule is used. Otherwise, the asset will load anyway unless you select it for unload.', WPACU_PLUGIN_NAME); ?></p>
39
+ <?php
40
+ if ($data['core_styles_loaded']) {
41
+ ?>
42
+ <div class="wpacu_note wpacu_warning"><em><?php
43
+ echo sprintf(
44
+ __('CSS files that are marked with %s are part of WordPress core files. Be careful if you decide to unload them! If you are not sure what to do, just leave them loaded by default and consult with a developer.', WPACU_PLUGIN_NAME),
45
+ '<span class="dashicons dashicons-warning"></span>'
46
+ );
47
+ ?>
48
+ </em></div><br />
49
+ <?php
50
+ }
51
+ ?>
52
+ <table class="wpacu_list_table wpacu_widefat wpacu_striped">
53
+ <tbody>
54
+ <?php
55
+ require_once __DIR__.'/_asset-style-rows.php';
56
+ ?>
57
+ </tbody>
58
+ </table>
59
+ <?php
60
+ } else {
61
+ echo __('It looks like there are no public .css files loaded or the ones visible do not follow <a href="https://codex.wordpress.org/Function_Reference/wp_enqueue_style">the WordPress way of enqueuing styles</a>.', WPACU_PLUGIN_NAME);
62
+ }
63
+ ?>
64
+ </div>
65
+ </div>
66
+ </div>
67
+ <?php
68
+ /*
69
+ * -------------------
70
+ * [END] STYLES LIST
71
+ * -------------------
72
+ */
73
+
74
+ /*
75
+ * ---------------------
76
+ * [START] SCRIPTS LIST
77
+ * ---------------------
78
+ */
79
+ ?>
80
+
81
+ <div class="wpacu-assets-collapsible-wrap wpacu-wrap-scripts">
82
+ <a class="wpacu-assets-collapsible <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-assets-collapsible-active<?php } ?>" href="#wpacu-assets-scripts-collapsible-content">
83
+ <span class="dashicons dashicons-media-code"></span> &nbsp; <?php _e('Scripts (.js files)', WPACU_PLUGIN_NAME); ?> &#10141; Total: <?php echo $data['total_scripts']; ?>
84
+ </a>
85
+
86
+ <div id="wpacu-assets-scripts-collapsible-content"
87
+ class="wpacu-assets-collapsible-content <?php if ($listAreaStatus !== 'contracted') { ?>wpacu-open<?php } ?>">
88
+ <div>
89
+ <?php
90
+ if (! empty($data['all']['scripts'])) {
91
+ ?>
92
+ <p><?php echo sprintf(__('The following scripts are loading on this page. Please select the ones that are %sNOT NEEDED%s. If you are not sure which ones to unload, it is better to leave them enabled and consult with a developer about unloading the assets.', WPACU_PLUGIN_NAME), '<span style="color: #CC0000;"><strong>', '</strong></span>'); ?></p>
93
+ <p><?php echo __('"Load in on this page (make exception)" will take effect when a bulk unload rule is used. Otherwise, the asset will load anyway unless you select it for unload.', WPACU_PLUGIN_NAME); ?></p>
94
+ <?php
95
+ if ($data['core_scripts_loaded']) {
96
+ ?>
97
+ <div class="wpacu_note wpacu_warning"><em><?php
98
+ echo sprintf(
99
+ __('JavaScript files that are marked with %s are part of WordPress core files. Be careful if you decide to unload them! If you are not sure what to do, just leave them loaded by default and consult with a developer.', WPACU_PLUGIN_NAME),
100
+ '<span class="dashicons dashicons-warning"></span>'
101
+ );
102
+ ?>
103
+ </em></div><br />
104
+ <?php
105
+ }
106
+ ?>
107
+
108
+ <table class="wpacu_list_table wpacu_widefat wpacu_striped">
109
+ <tbody>
110
+ <?php
111
+ require_once __DIR__.'/_asset-script-rows.php';
112
+ ?>
113
+ </tbody>
114
+ </table>
115
+ <?php
116
+ } else {
117
+ echo __('It looks like there are no public .js files loaded or the ones visible do not follow <a href="https://codex.wordpress.org/Function_Reference/wp_enqueue_script">the WordPress way of enqueuing scripts</a>.', WPACU_PLUGIN_NAME);
118
+ }
119
+ ?>
120
+ </div>
121
+ </div>
122
+ </div>
123
+ <?php
124
+ include '_inline_js.php';
125
+ /*
126
+ * -------------------
127
+ * [END] SCRIPTS LIST
128
+ * -------------------
129
+ */
templates/meta-box-loaded.php CHANGED
@@ -115,7 +115,7 @@ if (isset($data['page_template'])) {
115
<?php
116
}
117
118
- include_once __DIR__.'/meta-box-loaded-assets/default.php';
119
120
/*
121
Bug Fix: Make sure that savePost() from Update class is triggered ONLY if the meta box is loaded
115
<?php
116
}
117
118
+ include_once __DIR__.'/meta-box-loaded-assets/view-default.php';
119
120
/*
121
Bug Fix: Make sure that savePost() from Update class is triggered ONLY if the meta box is loaded
wpacu.php CHANGED
@@ -2,13 +2,13 @@
2
/*
3
* Plugin Name: Asset CleanUp: Page Speed Booster
4
* Plugin URI: https://wordpress.org/plugins/wp-asset-clean-up/
5
- * Version: 1.2.8.1
6
* Description: Prevent Chosen Scripts & Styles from loading in Posts/Pages to reduce HTTP Requests and have the website load faster
7
* Author: Gabriel Livan
8
* Author URI: http://www.gabelivan.com/
9
*/
10
11
- define('WPACU_PLUGIN_VERSION', '1.2.8.1');
12
13
// Exit if accessed directly
14
if (! defined('ABSPATH')) {
@@ -37,7 +37,7 @@ define('WPACU_PLUGIN_BASE', plugin_basename(WPACU_PLUGIN_FILE));
37
$wpacuWrongPhp = ((! defined('PHP_VERSION_ID')) || (defined('PHP_VERSION_ID') && PHP_VERSION_ID < 50300));
38
39
if ($wpacuWrongPhp && is_admin()) { // Dashboard
40
- add_action('admin_init', 'wpAssetCleanUpWrongPhp');
41
add_action('admin_notices', 'wpAssetCleanUpWrongPhpNotice');
42
43
/**
2
/*
3
* Plugin Name: Asset CleanUp: Page Speed Booster
4
* Plugin URI: https://wordpress.org/plugins/wp-asset-clean-up/
5
+ * Version: 1.2.8.2
6
* Description: Prevent Chosen Scripts & Styles from loading in Posts/Pages to reduce HTTP Requests and have the website load faster
7
* Author: Gabriel Livan
8
* Author URI: http://www.gabelivan.com/
9
*/
10
11
+ define('WPACU_PLUGIN_VERSION', '1.2.8.2');
12
13
// Exit if accessed directly
14
if (! defined('ABSPATH')) {
37
$wpacuWrongPhp = ((! defined('PHP_VERSION_ID')) || (defined('PHP_VERSION_ID') && PHP_VERSION_ID < 50300));
38
39
if ($wpacuWrongPhp && is_admin()) { // Dashboard
40
+ add_action('admin_init', 'wpAssetCleanUpWrongPhp');
41
add_action('admin_notices', 'wpAssetCleanUpWrongPhpNotice');
42
43
/**