/ Published in: PHP
Add the following to your Wordpress theme's functions.php file. The jQuery paths/URLs might need to be changed to suite your circumstances.
Expand |
Embed | Plain Text
/** * Load jQuery from Google CDN, fallback to local */ // http://wp.tutsplus.com/tutorials/load-jquery-from-google-cdn-with-local-fallback-for-wordpress/ if( !is_admin()){ // Don't do this for admin area, since Google's jQuery isn't in noConflict mode and will interfere with WP's admin area. $url = 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js'; // the URL to check against if($test_url !== false) { // test if the URL exists function load_external_jQuery() { // load external file wp_deregister_script( 'jquery' ); // deregisters the default WordPress jQuery wp_register_script('jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js'); // register the external file wp_enqueue_script('jquery'); // enqueue the external file } add_action('wp_enqueue_scripts', 'load_external_jQuery'); // initiate the function } else { function load_local_jQuery() { wp_deregister_script('jquery'); // deregisters the default WordPress jQuery wp_register_script('jquery', get_bloginfo('template_url').'/js/jquery-1.6.2.min.js', __FILE__, false, '1.6.2', true); // register the local file wp_enqueue_script('jquery'); // enqueue the local file } add_action('wp_enqueue_scripts', 'load_local_jQuery'); // initiate the function } }
Comments
Subscribe to comments
You need to login to post a comment.

There are a few problems with this: * You shouldn't package your own jQuery, just use the one WP came with. To do this, inside the else just use wpenqueuescript('jquery') * An fopen on every front-end page load is pretty heavy. Maybe cache your results in a persistent cache and only check every 5 minutes? * Also, the fact that you can open a file from your server doesn't mean your user can open it from their computer. If there's something wrong with their route to Google apis but not the route between your server and Google apis, they'll still have issues.