mircobabini
11/6/2015 - 11:17 AM

wp_enqueue_cdn.php

<?php
wp_enqueue_cdn( 'scrollto', 'http://cdnjs.cloudflare.com/ajax/libs/jquery-scrollTo/2.1.0/jquery.scrollTo.min.js', 'load_external_scrollto', 'load_local_scrollto' );
function wp_enqueue_cdn( $name, $get_the_url, $callback, $fallback ){
	$transient_name = $name.'_is_up';

	if( get_transient( $transient_name ) ){
	    $load_source = $callback;
	}else{
	    $cdn_response = wp_remote_get( $get_the_url );
	    if( is_wp_error( $cdn_response ) || wp_remote_retrieve_response_code( $cdn_response ) != '200' ){
	        $load_source = $fallback;
	    }else{
	        set_transient( $transient_name, true, MINUTE_IN_SECONDS * 20 );
	        $load_source = $callback;
	    }
	}

	add_action('wp_enqueue_scripts', $load_source );
}

function load_external_scrollto() {
    wp_register_script( 'scrollto', 'http://cdnjs.cloudflare.com/ajax/libs/jquery-scrollTo/2.1.0/jquery.scrollTo.min.js', array('jquery'), 3.3, true );
    wp_enqueue_script( 'scrollto' );
}
function load_local_scrollto() {
    wp_register_script( 'scrollto', get_stylesheet_directory_uri() . '/assets/jquery.scrollTo.min.js', __FILE__, array('jquery'), 3.3, true );
    wp_enqueue_script( 'scrollto' );
}