Ins e Outs di The Enqueue Script per temi WordPress e plugin

Il wp_enqueue_script la funzione è la migliore soluzione per caricare i file JavaScript nel tuo sito WordPress. Se stai sviluppando un tema che utilizza librerie JavaScript o JavaScript, il wp_enqueue_script la funzione è la strada da percorrere. Se non l'hai mai usato prima, però, possono essere confusioni ... quindi oggi daremo un'occhiata approfondita su come caricare correttamente gli script nel tuo tema o plugin usando la funzione di accodamento.

Modifiche successive alle tecniche e al software

Alcuni aspetti delle applicazioni o delle tecniche utilizzate in questo tutorial sono cambiati da quando è stato originariamente pubblicato. Questo potrebbe rendere un po 'difficile da seguire. Ti consigliamo di guardare questi tutorial più recenti sullo stesso argomento:

  • Come includere JavaScript e CSS nei temi e plug-in di WordPress

Perché utilizziamo la funzione Enqueue?

Se provieni da uno sfondo HTML di base, probabilmente sei abituato a caricare semplicemente i file Javascript (incluso qualsiasi cosa, da jQuery a script di plug-in) direttamente nell'intestazione o nel piè di pagina del tuo documento. Va bene quando ti trovi in ​​un ambiente autonomo come una pagina HTML di base ... ma una volta introdotta la miriade di altri script che potrebbero potenzialmente essere eseguiti su un'installazione di WordPress, diventa più complicato fare ciò che chiamerò "gestione della folla" con il tuo script.

Quindi, perché non caricare il tuo JavaScript nell'intestazione o nel piè di pagina? La risposta è piuttosto semplice: includendo il tuo JavaScript in questo modo, corri il rischio di avere conflitti con il tuo JavaScript durante l'installazione (pensa, più plugin cercano di caricare gli stessi script, o versioni diverse di quello script). Inoltre, il tuo JavaScript verrà caricato ogni pagina, anche se non ne hai bisogno. Ciò causerà un tempo di caricamento inutilmente più lungo per le tue pagine e può interferire con altri JavaScript, come da un plugin o all'interno del dashboard ... e questo è un No No nello sviluppo del WP.

Usando il wp_enqueue_script funzione. Avrai un controllo migliore su come e quando carichi il tuo JavaScript. Puoi anche decidere se caricare nell'intestazione o nel piè di pagina.


Capire il wp_enqueue_script Funzione

Il wp_enqueue_script la funzione è ciò che carica gli script nel tuo sito WordPress. Di solito lo userai nel tuo functions.php file.

Il wp_enqueue_script la funzione stessa è piuttosto semplice, quindi diamo un'occhiata alla sua struttura.

wp_enqueue_script ($ handle, $ src, $ deps, $ ver, $ in_footer);

  • $ maniglia
    • Questo è l'handle (il nome) dello script da caricare. Dovrebbe essere in tutte le lettere minuscole.
    • Questo è Richiesto
    • Predefinito: nessuno
  • $ scr
    • Questo è l'URL dello script.
    • Se stai caricando localmente dal tuo server non dovresti codificare l'URL per gli script sul tuo server. È meglio da usare content_url, bloginfo ( "template_url"), o get_template_directory_uri () (consigliato dal riferimento alla funzione WordPress) per i temi e plugins_url per i plugin.
          
    • Se stai caricando lo script da un altro server. Ad esempio, caricando la libreria jQuery dal CDN di Google. Hai appena messo l'URL del file da caricare.
       
    • Questo è opzionale
    • Predefinito: falso
  • $ dipendenze
    • Questo è un array che gestisce tutte le dipendenze dello script. Ad esempio, il tuo script fade.js richiede l'esecuzione di jQuery. Questo parametro associa il tuo script alla libreria jQuery.
    • Si utilizza "false" se non si desidera utilizzare questo parametro, ma si desidera utilizzare altri parametri.
       
    • Lo script richiesto deve essere caricato per primo.
    • Si utilizza l'handle dello script richiesto per l'array.
       
    • Questo è opzionale
    • Predefinito: array ()
  • $ ver
    • Questa è la versione del tuo script.
    • La versione è concatenata alla fine del percorso come stringa di query. La versione può essere il numero di versione, falso o NULL.
    • Se usi false per la versione. Verrà utilizzata la versione di WordPress.
    • Se usi NULL. Nulla sarà usato come versione. Questo non è raccomandato dal riferimento alle funzioni di WordPress.
    • Se non si utilizza il parametro $ ver. La versione di WordPress verrà utilizzata per impostazione predefinita.
       
    • Questo è opzionale
    • Predefinito: falso
  • $ in_footer
    • Questo determinerà dove il tuo script è posto sulla pagina.
    • Questo parametro è un valore booleano ("true" o "false")
    • Di default il tuo script verrà inserito nel , ma è meglio posizionarlo subito prima della chiusura del etichetta. Questo si ottiene facendo passare "true" al parametro.
       
    • Questo è opzionale
    • Predefinito: falso

Come puoi vedere, tutti i parametri tranne $ maniglia sono opzionali. A prima vista potrebbe sembrare strano. Soprattutto il $ scr parametro. Come può WordPress localizzare lo script senza un URL?

La ragione di questo è che WordPress viene fornito con script integrati. Ad esempio, jQuery fa parte del core di WordPress e il team di sviluppo di WordPress ha reso molto semplice caricare questi script incorporati. Tutto quello che devi fare è passare l'handle dello script a wp_enqueue_script.

 

Per l'elenco completo degli script WordPress incorporati e delle loro maniglie. Dai un'occhiata alla Guida alle funzioni di WordPress.


Utilizzo di Enqueue Script con il tema WordPress

Ora che capisci le parti di wp_enqueue_script. Diamo un'occhiata a come lo usi effettivamente con il tuo tema WordPress.

Cominciando dall'inizio

Esistono altre funzioni di WordPress che è necessario conoscere prima di poter avviare correttamente gli script di enqueing.

  • wp_register_script
    • Il wp_register_script la funzione è utilizzata per registrare il tuo script con WordPress. Ciò significa che sarai in grado di usarlo wp_enqueue_script per i tuoi script proprio come gli script integrati forniti con WordPress
    • La struttura dei parametri per wp_register_script è esattamente lo stesso del wp_enqueue_script struttura, quindi non ho intenzione di rivederlo. È possibile fare riferimento alla sezione precedente se necessario.
    • Basta impostare wp_register_script proprio come faresti per wp_enqueue_script. Quindi accodare lo script con wp_enqueue_script passando la maniglia ad esso.
       
  • wp_deregister_script
    • Il wp_deregister_script rimuove uno script registrato.
    • Tutto ciò che devi fare è passare la maniglia.
       
  • wp_deregister_script
    • Il wp_dequeue_script rimuove uno script registrato.
    • Tutto ciò che devi fare è passare la maniglia.
       

Caricamento dei tuoi script

Il modo più semplice per caricare il tuo script è posizionare il wp_enqueue_script dove mai lo vuoi sulla tua pagina.

  

Abbastanza facile, non solo elegante. Un modo migliore è usare il tuo file function.php per caricare i tuoi script. Per fare questo è necessario creare una funzione personalizzata. Quindi utilizzare add_action per inizializzare la tua funzione.

 
  • La riga 2 crea una funzione chiamata load_my_scripts
  • La riga 3 registra lo script MyScript
  • La riga 4 accoda la sceneggiatura MyScript
  • La riga 6 inizializza la funzione load_my_scripts

Lo script appena caricato richiede l'esecuzione della versione corrente di jQuery, quindi deregistriamo la versione predefinita fornita con WordPress aggiungendo la nuova versione alla nostra funzione.

 
  • La riga 2 deregistra il jQuery predefinito fornito con WordPress
  • La riga 3 registra un'altra versione di jQuery
  • La riga 4 accoda la sceneggiatura MyScript

OK, le buone pratiche per la codifica di WordPress dettano che dobbiamo verificare se esiste una funzione prima di eseguirla. Questo è compiuto in questo modo.

 

Questo controlla se la tua funzione esiste già. Se non lo fa, eseguirà la tua funzione.

Aggiungiamo questo al nostro load_my_scripts funzione

 

Ora, se vai alla pagina di amministrazione, non vuoi caricare il tuo script. Potrebbe causare un conflitto e rompere la pagina di amministrazione. Una regola generale è che non si desidera caricare gli script personalizzati nella pagina di amministrazione. Gli script per i plugin sono una storia diversa. Lo esaminerò più tardi.

Verificheremo se la pagina è stata caricata non la pagina di amministrazione con! is_admin (). Se non lo è, i nostri script verranno caricati.

 

Ora la funzione è simile a questa.

 

Ecco qua. Un bel template da usare per te per accodare gli script


Usando Enqueue Script per i tuoi plugin

OK, ora che hai capito. Aggiungiamo uno script che verrà caricato solo sulla pagina di amministrazione del tuo plugin.

In realtà è molto semplice. Basta scrivere la tua funzione di script proprio come quella che abbiamo fatto nella sezione precedente del file del tuo plugin. Solo ora invece di usare 'init' in add_action, usa 'admin_init'.

 

Questo è tutto, ora il tuo script verrà caricato solo quando vai alla pagina di amministrazione del tuo plugin.


Conclusione

Spero che questo ti aiuterà a capire meglio Scripta gli script all'interno di WordPress, quindi ora puoi uscire e caricare alcuni script!

Se c'è qualcosa che non capisci o vorresti leggere. Raccomando di visitare il codice WordPress. Ecco una lista di altri link di codice rilevanti per te:

  • Guida alle funzioni / script di accodamento wp
  • Funzione Riferimento / script di registro wp
  • Funzione di riferimento / wp deregister script
  • Funzione Riferimento / Script di dequeue wp