Skip to content

Releases: nielsoffice-projects/WPNinetyPlus

WPNinetyPlus

Choose a tag to compare

@nielsoffice-projects nielsoffice-projects released this 16 Oct 03:34
40c6d33

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

Choose a tag to compare

@nielsoffice-projects nielsoffice-projects released this 16 Oct 02:04

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

WPNinetyPlus Pre-release
Pre-release

Choose a tag to compare

@nielsoffice-projects nielsoffice-projects released this 15 Oct 08:52

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

WPNinetyPlus Pre-release
Pre-release

Choose a tag to compare

@nielsoffice-projects nielsoffice-projects released this 13 Oct 13:37
0600d09

Fixed Minify Client Side
Removed PRIVATE_JS

WPNinetyPlus

WPNinetyPlus Pre-release
Pre-release

Choose a tag to compare

@nielsoffice-projects nielsoffice-projects released this 13 Oct 08:28
ba1048c

Full Changelog: RawV1.0...Pre-release

NinetyPlus

NinetyPlus Pre-release
Pre-release

Choose a tag to compare

@nielsoffice-projects nielsoffice-projects released this 12 Oct 23:30

NinetyPlus WP Framework Raw v1.0

Full Changelog: https://github.com/nielsoffice-projects/WPNinetyPlus/commits/RawV1.0