Repository navigation
Releases: nielsoffice-projects/WPNinetyPlus
Releases · nielsoffice-projects/WPNinetyPlus
Release list
WPNinetyPlus
Full Changelog: v1.0-Free...v1.0.1-Free
// IF using Manger | safe <head>
style.css
<style id="layout"></style>
<script id="interactive"> </script>
<?php
/**
* 1. Define Keywords / Assets to Delay
* Provide partial strings or full filenames of CSS/JS files you want stripped
* from the head and loaded lazily in the footer.
*/
add_filter( 'wpninetyplus_sync_assets', function( $keywords ) {
return array(
'wp-includes/js/jquery/jquery.min.js',
'/wp-content/plugins/fluentform/assets/css/fluent-forms-public.css',
'/wp-content/plugins/fluentform/assets/js/form-submission.js',
);
});
/**
* 2. Define Font Preloads
* Injects high-priority font preloads right into the <head> block.
*/
add_filter( 'wpninetyplus_sync_font_preloads', function( $preload_block, $theme_uri ) {
$preload_block = '<link rel="preload" href="' . esc_url( $theme_uri . '/fonts/Roboto-Light.woff2' ) . '" as="font" type="font/woff2" crossorigin="anonymous">';
$preload_block .= '<link rel="preload" href="' . esc_url( $theme_uri . '/fonts/Barlow-ExtraBold.woff2' ) . '" as="font" type="font/woff2" crossorigin="anonymous">';
return $preload_block;
}, 10, 2 );
/**
* 3. Define Dynamic Loading Timeout Period Logic
* Adjusts how long the browser waits after the 'load' event before injecting delayed assets,
* scaled by screen width (responsive timeouts).
*/
add_filter( 'wpninetyplus_loading_period', function( $js_string ) {
return 'var loadingPeriod = window.innerWidth <= 680 ? 4000 : (window.innerWidth <= 2014 ? 3500 : 2500);';
});
add_filter( 'wpninetyplus_sync_loading_period', function( $js_string ) {
return 'var loadingPeriod = window.innerWidth <= 680 ? 4000 : (window.innerWidth <= 2014 ? 3500 : 2500);';
});
/**
* 4. Define Conditional Page Assets, Styles, and Scripts
* Inject specific scripts or stylesheets only on target pages or conditions.
*/
add_filter( 'wpninetyplus_sync_assets_conditional', function( $block, $theme_uri, $version ) {
// Front page / Blog conditional assets
$block .= 'if ( window.location.pathname === "/" || document.body.classList.contains("home") ) {';
$block .= ' var homeCss = document.createElement("link"); homeCss.rel = "stylesheet"; homeCss.href = "' . esc_url_raw( $theme_uri . '/css/home.min.css?ver=' . $version ) . '"; document.head.appendChild(homeCss);';
$block .= '}';
// Specific Page ID conditional assets (e.g., Course page 1609)
$block .= 'if ( document.body.classList.contains("page-id-1609") ) {';
$block .= ' var courseCss = document.createElement("link"); courseCss.rel = "stylesheet"; courseCss.href = "' . esc_url_raw( $theme_uri . '/css/course.min.css?ver=' . $version ) . '"; document.head.appendChild(courseCss);';
$block .= '}';
// Global component styles loaded on every frontend page after timeout
$block .= 'var compCss = document.createElement("link"); compCss.rel = "stylesheet"; compCss.href = "' . esc_url_raw( $theme_uri . '/css/components.min.css?ver=' . $version ) . '"; document.head.appendChild(compCss);';
return $block;
}, 10, 3 );
/**
* 5. Define Selectors to Remove .r-temporary Class From
* Helps prevent layout shifts or flashing elements by safely removing temporary visibility classes
* once the deferred assets execute.
*/
add_filter( 'wpninetyplus_sync_temporary', function( $selectors ) {
return array(
'.content-blocks .content-blocks__item',
'#mobile-menu-btn',
'.marketingHeroBackground'
);
});WPNinetyPlus
Full Changelog: v1.0.2Alpha...v1.0-Free
// IF using Manger | safe <head>
style.css
<style id="layout"></style>
<script id="interactive"> </script>
<?php
/**
* 1. Define Keywords / Assets to Delay
* Provide partial strings or full filenames of CSS/JS files you want stripped
* from the head and loaded lazily in the footer.
*/
add_filter( 'wpninetyplus_sync_assets', function( $keywords ) {
return array(
'wp-includes/js/jquery/jquery.min.js',
'/wp-content/plugins/fluentform/assets/css/fluent-forms-public.css',
'/wp-content/plugins/fluentform/assets/js/form-submission.js',
);
});
/**
* 2. Define Font Preloads
* Injects high-priority font preloads right into the <head> block.
*/
add_filter( 'wpninetyplus_sync_font_preloads', function( $preload_block, $theme_uri ) {
$preload_block = '<link rel="preload" href="' . esc_url( $theme_uri . '/fonts/Roboto-Light.woff2' ) . '" as="font" type="font/woff2" crossorigin="anonymous">';
$preload_block .= '<link rel="preload" href="' . esc_url( $theme_uri . '/fonts/Barlow-ExtraBold.woff2' ) . '" as="font" type="font/woff2" crossorigin="anonymous">';
return $preload_block;
}, 10, 2 );
/**
* 3. Define Dynamic Loading Timeout Period Logic
* Adjusts how long the browser waits after the 'load' event before injecting delayed assets,
* scaled by screen width (responsive timeouts).
*/
add_filter( 'wpninetyplus_loading_period', function( $js_string ) {
return 'var loadingPeriod = window.innerWidth <= 680 ? 4000 : (window.innerWidth <= 2014 ? 3500 : 2500);';
});
add_filter( 'wpninetyplus_sync_loading_period', function( $js_string ) {
return 'var loadingPeriod = window.innerWidth <= 680 ? 4000 : (window.innerWidth <= 2014 ? 3500 : 2500);';
});
/**
* 4. Define Conditional Page Assets, Styles, and Scripts
* Inject specific scripts or stylesheets only on target pages or conditions.
*/
add_filter( 'wpninetyplus_sync_assets_conditional', function( $block, $theme_uri, $version ) {
// Front page / Blog conditional assets
$block .= 'if ( window.location.pathname === "/" || document.body.classList.contains("home") ) {';
$block .= ' var homeCss = document.createElement("link"); homeCss.rel = "stylesheet"; homeCss.href = "' . esc_url_raw( $theme_uri . '/css/home.min.css?ver=' . $version ) . '"; document.head.appendChild(homeCss);';
$block .= '}';
// Specific Page ID conditional assets (e.g., Course page 1609)
$block .= 'if ( document.body.classList.contains("page-id-1609") ) {';
$block .= ' var courseCss = document.createElement("link"); courseCss.rel = "stylesheet"; courseCss.href = "' . esc_url_raw( $theme_uri . '/css/course.min.css?ver=' . $version ) . '"; document.head.appendChild(courseCss);';
$block .= '}';
// Global component styles loaded on every frontend page after timeout
$block .= 'var compCss = document.createElement("link"); compCss.rel = "stylesheet"; compCss.href = "' . esc_url_raw( $theme_uri . '/css/components.min.css?ver=' . $version ) . '"; document.head.appendChild(compCss);';
return $block;
}, 10, 3 );
/**
* 5. Define Selectors to Remove .r-temporary Class From
* Helps prevent layout shifts or flashing elements by safely removing temporary visibility classes
* once the deferred assets execute.
*/
add_filter( 'wpninetyplus_sync_temporary', function( $selectors ) {
return array(
'.content-blocks .content-blocks__item',
'#mobile-menu-btn',
'.marketingHeroBackground'
);
});WPNinetyPlus
Full Changelog: v1.0.1...v1.0.2Alpha
/**
* .env | plugin directory
* Free Version
* */
WPNINETYPLUS_ISOLATE = true | Function | Description | Focus Area |
|---|---|---|
WPNinetyPlus() |
Executes a comprehensive, full-site performance audit to identify bottlenecks and elevate overall Core Web Vitals. | Full Website Audit |
WPNinetyPlusAssetsInteractive() |
Deep-dives into JavaScript execution, script loading behavior, and interactivity bottlenecks to minimize Total Blocking Time (TBT). | JavaScript Optimization |
WPNinetyPlusAsstesLayout() |
Analyzes CSS delivery, uncovers render-blocking stylesheets, and optimizes layout shifts for smoother rendering. | CSS & Layout Performance |
WPNinetyPlusAssetsPaint() |
Audits typography delivery, web fonts, and favicons to ensure fast First Contentful Paint (FCP) and prevent flash of unstyled text. | Fonts & Visual Elements |
WPNinetyPlusGetImages() |
Catalogs and analyzes all image assets, verifying next-gen format usage, proper sizing, and lazy-loading implementation. | Image Optimization |
WPNinetyPlusGetVideos() |
Scans, inspects, and audits embedded and hosted video content, reviewing compression, streaming efficiency, and lazy-loading policies to eliminate bandwidth bloat. | Video & Media Optimization |
WPNinetyPlusMetaData() |
Scans and validates meta tags, Open Graph data, and technical SEO markers to ensure search engine readiness and social share efficiency. | SEO & Metadata |
WPNinetyPlus
Fixed Minify Client Side
Removed PRIVATE_JS
WPNinetyPlus
NinetyPlus
NinetyPlus WP Framework Raw v1.0
Full Changelog: https://github.com/nielsoffice-projects/WPNinetyPlus/commits/RawV1.0