Inserțiile și ieșirile scripturilor de enqueue pentru temele și pluginurile WordPress

wp_enqueue_script este cea mai bună soluție pentru încărcarea fișierelor JavaScript în site-ul dvs. WordPress. Dacă dezvoltați o temă care utilizează biblioteci JavaScript sau JavaScript, wp_enqueue_script funcția este calea de parcurs. Dacă nu ați folosit cu adevărat acest lucru înainte, deși, poate fi confuzii ... deci astăzi, vom fi o privire în profunzime în modul de a încărca corect script-uri în tema sau plugin folosind funcția enqueue.

Modificări ulterioare ale tehnicilor și ale software-ului

Anumite aspecte ale aplicațiilor sau tehnicilor utilizate în acest tutorial s-au schimbat de când au fost publicate inițial. Acest lucru ar putea face un pic dificil de urmat de-a lungul. Vă recomandăm să consultați aceste tutoriale mai recente pe același subiect:

  • Cum să includem JavaScript și CSS în temele și pluginurile WordPress

De ce folosim funcția Enqueue?

Dacă veniți dintr-un fundal HTML de bază, probabil că ați folosit doar pentru încărcarea fișierelor Javascript (inclusiv orice de la jQuery la script-uri de plugin) direct în antetul sau subsolul documentului. Acest lucru este bine când sunteți într-un mediu independent ca o pagină HTML de bază ... dar odată ce introduceți nenumărate alte script-uri care ar putea rula pe o instalare WordPress, devine mai dificil să faceți ceea ce voi numi "managementul mulțimii" script-uri.

Deci, de ce nu încărcați JavaScript în Antet sau Footer? Răspunsul este destul de simplu: prin includerea JavaScript-ului dvs., riscați să aveți conflicte cu JavaScript în instalarea dvs. (gândiți-vă că mai multe pluginuri încearcă să încarce aceleași scripturi sau versiuni diferite ale scriptului respectiv). Mai mult, JavaScript-ul dvs. se va încărca fiecare pagina, chiar dacă nu aveți nevoie de ea. Acest lucru va determina un timp de încărcare inutil de mult pentru paginile dvs. și poate interfera cu alte funcții JavaScript, cum ar fi de la un plugin sau în tabloul de bord ... și că este vorba despre o dezvoltare nr în WP.

Prin utilizarea funcției wp_enqueue_script funcţie. Veți avea un control mai bun cu privire la modul în care și când încărcați JavaScript. Puteți decide chiar dacă să încărcați în antet sau subsol.


Înțelegerea wp_enqueue_script Funcţie

wp_enqueue_script funcția este ceea ce încarcă scripturi în site-ul dvs. WordPress. De obicei o să-l folosiți în dvs. functions.php fişier.

wp_enqueue_script funcția în sine este destul de drept înainte, deci haideți să aruncăm o privire asupra structurii sale.

wp_enqueue_script ($ mâner, $ src, $ deps, $ ver, $ in_footer);

  • $ mâner
    • Acesta este mânerul (numele) scriptului care trebuie încărcat. Ar trebui să fie în toate cazurile minuscule.
    • Acest lucru este necesar
    • Implicit: Niciuna
  • $ scr
    • Aceasta este adresa URL a scriptului.
    • Dacă încărcați la nivel local de pe serverul dvs. nu trebuie să codificați greu adresa URL pentru scripturile de pe serverul dvs. Este mai bine să o utilizați content_url, bloginfo ( "template_url"), sau get_template_directory_uri () (recomandat de WordPress Function Reference) pentru teme și plugins_url pentru pluginuri.
          
    • Dacă încărcați scriptul de la alt server. De exemplu, încărcarea librăriei jQuery din Google CDN. Tocmai ați pus URL-ul fișierului de încărcat.
       
    • Acest lucru este opțional
    • Implicit: fals
  • $ dependențele
    • Aceasta este o matrice care manipulează orice dependență de script. De exemplu, scriptul dvs. fade.js cere jQuery să ruleze. Acest parametru va asocia scriptul dvs. cu biblioteca jQuery.
    • Utilizați "false" dacă nu doriți să utilizați acest parametru, dar doriți să utilizați alți parametri.
       
    • Scriptul necesar trebuie încărcat mai întâi.
    • Utilizați mânerul scriptului necesar pentru matrice.
       
    • Acest lucru este opțional
    • Implicit: array ()
  • $ ver
    • Aceasta este versiunea scriptului tău.
    • Versiunea este concatenată până la sfârșitul căii ca șir de interogare. Versiunea poate fi numărul versiunii, false sau NULL.
    • Dacă folosiți fals pentru versiune. Versiunea WordPress va fi utilizată.
    • Dacă utilizați NULL. Nimic nu va fi folosit ca versiune. Acest lucru nu este recomandat de WordPress Function Reference.
    • Dacă nu utilizați parametrul $ ver. Versiunea WordPress va fi utilizată în mod implicit.
       
    • Acest lucru este opțional
    • Implicit: fals
  • $ in_footer
    • Acest lucru va determina unde este localizat scriptul dvs. pe pagină.
    • Acest parametru este boolean ("adevărat" sau "fals")
    • În mod implicit, scriptul dvs. va fi plasat în , dar este mai bine să o plasați chiar înainte de închiderea etichetă. Acest lucru se realizează prin trecerea parametrului "adevărat".
       
    • Acest lucru este opțional
    • Implicit: fals

După cum puteți vedea, cu excepția tuturor parametrilor $ mâner sunt opționale. La prima vedere acest lucru pare ciudat. Mai ales $ scr parametru. Cum poate WordPress localiza scriptul fără o adresă URL?

Motivul este ca WordPress vine cu scripturile construite. De exemplu, jQuery face parte din nucleul WordPress, iar echipa de dezvoltare WordPress a facut foarte simplu sa incarce aceste script-uri construite in script-uri. Tot ce trebuie să faceți este să treceți mânerul scenariului wp_enqueue_script.

 

Pentru lista completă a script-urilor construite în WordPress și a mânerilor lor. Uitați-vă la Referința funcțiilor WordPress.


Folosind scriptul Enqueue Script cu tema WordPress

Acum că înțelegi părțile lui wp_enqueue_script. Să ne uităm la modul în care utilizați acest lucru cu tema WordPress.

Să începem cu începutul

Există și alte funcții WordPress pe care trebuie să le cunoașteți înainte de a putea să începeți în mod corespunzător scripturile.

  • wp_register_script
    • wp_register_script funcția este utilizată pentru a vă înregistra scriptul cu WordPress. Ce inseamna asta, vei putea folosi wp_enqueue_script pentru scripturile dvs., la fel ca scenele construite în WordPress
    • Structura parametrilor pentru wp_register_script este exact la fel ca wp_enqueue_script structură, deci nu o voi mai trece peste ea. Puteți consulta secțiunea de mai sus, dacă este necesar.
    • Doar înființat wp_register_script la fel cum ai face wp_enqueue_script. Apoi introduceți scenariul cu wp_enqueue_script prin trecerea mânerului la el.
       
  • wp_deregister_script
    • wp_deregister_script elimină un script înregistrat.
    • Tot ce trebuie să faceți este să treceți mânerul la el.
       
  • wp_deregister_script
    • wp_dequeue_script elimină un script înregistrat.
    • Tot ce trebuie să faceți este să treceți mânerul la el.
       

Încărcarea scripturilor dvs.

Cea mai ușoară modalitate de a încărca scriptul dvs. este să plasați wp_enqueue_script unde vreți vreodată pe pagina dvs..

  

Destul de simplu, doar ca să nu fie elegant. O modalitate mai buna este sa folositi fisierul function.php pentru a incarca script-urile. Pentru a face acest lucru trebuie să faceți o funcție personalizată. Apoi folosiți ADD_ACTION pentru a vă inițializa funcția.

 
  • Linia 2 creează o funcție numită load_my_scripts
  • Linia 3 înregistrează scenariul myscript
  • Linia 4 enumeră scenariul myscript
  • Linia 6 inițiază funcția load_my_scripts

Scriptul pe care tocmai l-am încărcat are nevoie de versiunea curentă jQuery pentru a rula, deci să dezarhivez versiunea implicită care vine cu WordPress adăugați noua versiune funcției noastre.

 
  • Linia 2 dereglează jQuery implicit care vine cu WordPress
  • Linia 3 înregistrează o altă versiune a jQuery
  • Linia 4 enumeră scenariul myscript

OK, bunele practici pentru codarea WordPress dictează că trebuie să verificăm dacă există o funcție înainte de ao executa. Acest lucru este realizat astfel.

 

Acest lucru verifică dacă funcția dvs. există deja.Dacă nu, va funcționa.

Să adăugăm asta la adresa noastră load_my_scripts funcţie

 

Acum, dacă accesați pagina de administrare, nu doriți să încărcați scriptul. Este posibil să provoace un conflict și să rupă pagina de administrare. O regulă generală este că nu doriți să încărcați scripturile personalizate în pagina de administrare. Scripturile pentru pluginuri reprezintă o poveste diferită. Voi trece mai târziu.

Vom verifica dacă pagina este încărcată nu pagina admin cu! is_admin (). Dacă nu este, script-urile noastre se vor încărca.

 

Acum funcția arată așa.

 

Acolo te duci. Un șablon frumos pe care să-l folosiți pentru a vă scuza scripturile


Folosind scriptul Enqueue pentru pluginurile tale

Bine, acum că ai scăpat asta. Să adăugăm un script care se va încărca numai pe pagina de administrare a pluginului.

Este de fapt foarte simplu. Doar scrie script-ul dvs. funcția la fel ca pe noi am făcut în secțiunea anterioară în fișierul plugin-ului. Numai acum, în loc să utilizați 'init' în add_action, folosiți 'admin_init'.

 

Asta este, acum script-ul dvs. va încărca numai atunci când te duci la pagina de admin plugin-ului.


Concluzie

Sper că acest lucru vă va ajuta să înțelegeți mai bine Incriere scripturi în WordPress, așa că acum puteți să ieșiți acolo și să încărcați câteva scripturi ale tale!

Dacă există ceva ce nu înțelegeți sau doriți să citiți mai departe. Vă recomandăm să vizitați Codex-ul WordPress. Iată o listă a altor link-uri relevante codate pentru tine:

  • Funcția Referință / wp scenariu enqueue
  • Referință funcție / script registru wp
  • Funcția Referință / wp script deregister
  • Referință funcție / script de decriere wp
Cod