Ricordo di aver pensato: "A cosa diamine serve JavaScript, quando abbiamo Flash?" quando avevo quattordici anni. Anche se ricordo ancora quanto mi piacesse scrivere codice con ActionScript 2.0, ho visto quanto si può raggiungere con JavaScript e se ne sono innamorati. Non sono ancora un esperto di JavaScript (ancora), ma posso dire che ho finito con Flash per molto tempo.
Quando si tratta di WordPress, la più grande piattaforma di blogging e sistema di gestione dei contenuti in tutto il mondo, JavaScript lo è - ovviamente - molto utile per molte cose: cursori di contenuti, gallerie di lightbox, carrelli della spesa chiari, elementi dell'interfaccia utente come schede o fisarmoniche ... tu lo chiami. Ma esattamente come dovremmo usare JavaScript con WordPress?
Ritornare o echeggiare un mucchio di HTML copione
gli elementi sono un modo per farlo - ed è così sbagliato. In questo tutorial, vedremo come enqueue File JavaScript all'interno delle nostre pagine e come trasferire dati traducibili nel codice JavaScript.
Ci sono fondamentalmente due problemi importanti che potresti incontrare se si iniettano i file JavaScript direttamente in WordPress con il codice HTML:
eco
il proprio copione
tag nella
e funziona! Ma cosa succede se un altro plugin vuole usare anche jQuery - come farebbe a sapere che jQuery è già caricato nel
? Non lo sarebbe, e anche se l'altro plugin include jQuery il modo giusto, la pagina sarebbe ancora hai due istanze di jQuery, perché non lo sei.
?La soluzione al primo problema è semplicemente "registrare" e "accodare" i file JS con le due funzioni principali di WordPress: wp_register_script ()
e wp_enqueue_script ()
. La soluzione del secondo problema è ancora più semplice: il nucleo wp_localize_script ()
la funzione ti consente di trasferire dati traducibili nel tuo codice JS.
Prima di poter "accodare" i file JavaScript, devi prima "registrarli". E questo è fatto semplicemente usando una funzione chiamata wp_register_script ()
:
Alcune note sui parametri:
array ('jquery')
per questo parametro.nullo
o lasciandolo vuoto. Se lo si imposta su string, verrà aggiunto al codice di output my-script.js? ver = 1.2
. Se lasci il parametro vuoto, la versione della tua installazione di WordPress verrà aggiunta come numero di versione. Se lo si imposta nullo
, nulla verrà aggiunto.
sezione. Ma se si imposta questo parametro su vero
, verrà caricato prima della chiusura
etichetta.Puoi anche "annullare la registrazione" degli script che sono già registrati dal core o da altri plugin con il wp_deregister_script ()
funzione. Accetta solo a 'nome'
parametro, che fornisci il nome dello script da "annullare la registrazione". Ovviamente.
Ci sono un sacco di script sul codice WordPress che sono già registrati nel nucleo. Sebbene, dovresti ricontrollare l'elenco per la versione corrente di WordPress, poiché si riferisce a WordPress versione 3.3 e potrebbe non essere aggiornato.
È possibile registrare uno script ma ciò non significa che verrà caricato automaticamente. Dopo aver registrato i tuoi script, dovresti "accodarli" con il wp_enqueue_script ()
funzione:
Alcune note sui parametri:
vero
, lo script verrà caricato poco prima
chiude.Puoi anche "dequeue" gli script con il wp_dequeue_script ()
funzione. Simile al wp_deregister_script ()
funzione, accetta solo a 'nome'
parametro.
Puoi controllare lo "stato" di uno script con il wp_script_is ()
funzione. Ad esempio, se vuoi controllare semia-script
'è accodato, basta usare wp_script_is ('my-script', 'coda')
in un Se
dichiarazione.
Il modo giusto per accodare i tuoi script (e anche gli stili) sta usando i seguenti hook:
A causa di problemi di compatibilità, tu non deve usa gli ami chiamati admin_print_scripts
o admin_print_styles
.
Per ulteriori informazioni sull'inclusione di JavaScript (e CSS!) Nei tuoi temi e plug-in, puoi fare riferimento a Come includere JavaScript e CSS nei temi e plug-in di WordPress di Japh Thomson su Wptuts+.
Quando si parla di localizzazione, JavaScript è sempre un problema con WordPress ... perché così tante persone non conoscono la bella funzione chiamata wp_localize_script ()
:
__ ('Successivo', 'mio-script'), 'prevItem' => __ ('Precedente', 'mio-script'), 'imageTitle' => __ ('Immagine% d di% d', 'mio- script ')); wp_localize_script ('name-of-the-script', // (richiesto) il nome dello script, 'my-script' per esempio 'nameOfTheObject', // (richiesto) il nome dello script, 'my-script' per esempio $ l10n_data // (richiesto) i dati da passare, che possono essere tradotti con la funzione __ ()); ?>
Dopo aver registrato, accodato e localizzato lo script, puoi passare la variabile localizzata nello script usando il nome dell'oggetto e i nomi dei dati, come alert (nameOfTheObject.prevItem);
!
Puoi fare riferimento all'articolo di Pipping Williamson per un'analisi più approfondita.
C'è un motivo per cui WordPress è il più grande sistema di gestione dei contenuti del mondo: il suo potere deriva dalla sua flessibilità. E credo che questo tutorial provi (ancora una volta) quanto sia flessibile.
Questo tutorial copre praticamente ciò che WordPress offre sull'utilizzo di JavaScript per i nostri progetti. Hai altri suggerimenti o tecniche su JavaScript e WordPress? Parlaci di questo!