WordPress hacks&snippets – del 3 – jQuery via Google CDN

21-03-14 brianbrandt 0 kommentarer

Hejsa!

Dette er tredje del, i en ny serie af blogindlæg, jeg vælger at kalde “WordPress hacks&snippets”. Denne serie henvender sig til dem, der har fået blod på tanden med selv at redigere i WordPress temaer og temafunktioner – i modsætning til at prøve at løse alt med plugins.

Se de øvrige dele af serien her:

WordPress hacks&snippets – del 1 – Personlig hilsen på login-side

WordPress hacks&snippets – del 2 – wp_head()

Kode snippet 3: jQuery via Google CDN

Hack #3 tillader dig – via et kode snippet – at overskrive den funktion der henter jQuery fra en lokal fil, med en definition, der henter jQuery fra Google’s CDN (Content Delivery Network).

Men hvorfor er det interessant?

Det er der er hele tre forskellige grunde for:

Hurtigere loadtid af din side – grundet det, at din browser henter jQuery fra den nærmeste Google server (der har dem mange steder).

Det hentes parallelt med andet fra din side – husk at en browser kan kun have et begrænset andtal forbindelser til ét domæne på samme tid, så det er fordele sidens ressourcer på flere domæner, formindsker også sidens loadtid.

Genbrug af cahce’et jQuery – sandsynligheden for at en bruger allerede har hentet jQuery fra Google’s CDN er meget stor, da mange benytter sig af den, og det betyder at browseren måske slet ikke behøver at foretage et kald for at hente filen, da den allerede ligger i cache på brugerens maskine.

Dette snippet er beregnet til filen “functions.php” i dit theme.

/* Denne funktion tillader dig at erstatte WordPress's standard jQuery
bibliotek med det, der serveres via Google's CDN */
function jquery_cdn() {
   if (!is_admin()) {
      wp_deregister_script('jquery');
      wp_register_script('jquery','http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js', false, '1.8.3');
      wp_enqueue_script('jquery');
   }
}
add_action('init', 'jquery_cdn');

Det, der sker, er at vi i vores funktion “jquery_cdn()” med funktionen “wp_deregister_script()” fjerner en registrering fra den kø WordPress danner, for de forskellige eksterne scripts den skal hente. Bagefter definerer vi alternativet vha. funktionen “wp_register_script()” og sætter det i køen vha. funktionen “wp_enqueue_script()”. Til sidst hægtes funktionen, vha. funktionen “add_action()”, til den liste af funktioner WordPress skal køre når den initialiserer siden.

Disse funktiner (på nær “jquery_cdn()”) er dele af WordPress’s ekstensive bibliotek af standard hjælper-funktioner.

[obs-hacks]

[obs-backup]