Ce face l10n.js în WordPress 3.1? Și cum îl pot elimina?
Tocmai am instalat WP 3.1 Beta 2 pe serverul meu de test. Am observat că include un nou fișier l10n.js
care este inserat automat în header.
Am investigat puțin și are legătură cu localizarea. Presupun că mulți oameni nu folosesc acest fișier, așa că mă întreb cum aș putea să-l elimin?
Dacă este important să nu fie eliminat, te rog să-mi spui și asta.

Conține funcția convertEntities()
care (după cum spune și numele) convertește entitățile HTML în valoarea lor reală. Este folosită în principal pentru scripturile care trimit date de localizare din PHP în partea de JS folosind wp_localize_script()
. Doar căutați l10n_print_after
în baza de cod și o veți vedea des.
Datele pe care le adăugați în wp_localize_script()
sunt adăugate înaintea scriptului pe care îl traduce (trebuie să fie, pentru că este referențiat acolo). Totuși, dacă utilizați un concatenator de scripturi (astfel încât să aveți o singură cerere care returnează toate fișierele JS utilizate), acest fișier unic ar fi apelat și el după toate datele localizate - dar acum convertEntities()
nu este definit atunci când avem nevoie de el. Din acest motiv, această funcție este separată de fișierul general utils.js
și adăugată cu o prioritate mare în partea de sus.
Din acest motiv nu ar trebui să o eliminați: toate scripturile care folosesc șiruri de caractere traductibile o utilizează (chiar dacă sunt încă în engleză) și ați putea strica locuri care încă au entități.

Mulțumesc pentru explicația atât de detaliată! :) Totuși, mai am câteva întrebări. Principala mea preocupare este adăugarea unei cereri inutile pentru fiecare utilizator pe partea de front-end. Singurul JavaScript pe care îl văd utilizatorii este simplul meu scripts.js
și jquery
. Nu mă deranjează ca l10n să apară în Panoul de Control WP, dar site-ul la care lucrez primește o cantitate mare de trafic și sunt foarte atent să păstrez totul optimizat. Cineva a menționat că Bara de Administrare ar fi cauza, dar doar câțiva autori au acces la site. Nu mă deranjează dacă îi afectează pe ei, doar nu vreau să încetinească restul site-ului. Ce sugerezi să fac?

Se pare că wp_register_script
declanșează încărcarea l10n.js
chiar dacă am ZERO fișiere .js
înregistrate. Nu mă deranjează dacă se încarcă pentru autori, care au trafic redus, dar se încarcă pe paginile publice pentru vizitatorii obișnuiți chiar dacă nu servesc niciun javascript
pentru ei. Chiar dacă aș avea nevoie de un script precum jquery
, nu ar trebui să depindă de utils.js
. Cel puțin pe front-end, nu a fost nevoie de asta în trecut.

Se pare că este inclus atunci când încărci scriptul 'comment-reply'. Reține că probabil vei dori să te asiguri că 'comment-reply' este încărcat doar pe paginile care ar putea avea comentarii activate (de exemplu, verifică is_singular()
înainte de a încărca scriptul).

Hmm, nu cred că are legătură cu scriptul comment-reply
. Momentan nu am acest script încărcat pe site-ul meu de test. Apare pe absolut fiecare pagină a site-ului. Am revenit la WP 3.0.3 pentru a testa și problema a dispărut. Revine dacă rulez noua versiune beta 2 a 3.1.

Am descoperit pe instalarea mea că acest script era încărcat împreună cu noua bară de administrare, iar eliminarea barei de administrare a eliminat și l10n.js pentru mine (dar cred că răspunsul lui Jan este mai potrivit pentru a răspunde la "de ce").
Eliminarea barei a fost ușoară..
remove_action( 'init', 'wp_admin_bar_init' );
Aceasta nu răspunde efectiv la întrebare (după cum dovedesc celelalte răspunsuri), dar în cazul în care cineva dorește să elimine acea bară oribilă, mai sus este cum o puteți face..

Hmm, altceva în codul meu îl declanșează și pe acesta. Am creat o temă super simplă doar cu header/footer/index/sidebar.php
și acea acțiune de eliminare a rezolvat problema. Dar pe tema mea obișnuită, chiar dacă elimin toate încărcările, tot se încarcă. Am ZERO JavaScript în head/footer-ul WP în afară de Google Analytics care este hardcodat în template oricum.

Cu tema implicită activată, fără pluginuri (sau cu minimul), nu văd absolut niciun script încărcat în partea din față când elimin bara de administrare. Cred că Jan a postat câteva informații cruciale despre când și de ce este apelat acest script (eu vorbeam doar cu privire la eliminarea lui și am postat ceea ce am găsit că funcționează).

Sursa pentru dezvoltatori pentru fișier are următoarea descriere:
//Folosit pentru a se asigura că Entitățile folosite în șirurile L10N sunt corecte
și nota de commit spune:
Mută funcția helper l10n într-un fișier js separat astfel încât să o putem afișa întotdeauna primul.
Nu am lucrat încă cu versiunea 3.1, așa că nu sunt sigur ce o poate face să se încarce pe fiecare pagină.
