Internaționalizarea modulului
După programarea modulului, un alt aspect (presupunând că ai planificat o distribuție a modulului) este internaționalizarea. Internaționalizarea este procesul de creare a software-ului, astfel încât să poată fi localizat; localizarea este procesul de traducere a textului afișat de software în mai multe limbi. WordPress este folosit în întreaga lume, deci are de internaționalizare și localizare construite în structura sa, inclusiv localizarea modulelor.
Fișierele de limbă pentru module nu sunt încărcate în mod automat. Adăugați codul de mai jos la codul modulului pentru a vă asigura că fișierele de limbă sunt încărcate:
load_plugin_textdomain(‘your-unique-name’, false, basename( dirname( __FILE__ ) ) . ‘/languages’ );
Pentru un șir pur și simplu utilizați
__(‘Nume șir’,’numele-ales-unic’);
pentru a returna traducerea, sau
_e(‘Nume șir’,’numele-ales-unic’);
pentru a afișa traducerea.
Traducerile vor merge apoi în folderul /languages al modulului.
Este foarte recomandat să se internaționalizeze modulul, astfel încât utilizatorii din diferite țări să îl poată localiza.
Actualizarea modulului
Această secțiune descrie măsurile necesare pentru a actualiza modulul atunci când este găzduit pe https://wordpress.org/plugins/, inclusiv detalii cu privire la utilizarea Subversion (SVN) cu wordpress.org.
Presupunând că ai trimis deja modulul la WordPress Plugin Repository, în timp vei dori, probabil, să adaugi caracteristici la modul sau să repari bug-urile. Lucrează la aceste schimbări și fă toate modificările la trunchiul modulului ori de câte ori dorești. Modificările vor fi vizibile în mod public, dar numai cei cu aptitusini tehnice vor verifica modulul prin SVN. Ceea ce alți utilizatori descarcă prin intermediul site-ului sau administrarea lor WordPress a modulului nu se va schimba.
Când ești gata să publici o nouă versiune a modulului:
- Asigură-te că totul este în regulă și noua versiune funcționează efectiv. Fii atent la toate suportul pentru toate versiunile WordPress încercând să-l testezi cu fiecare nouă versiune WordPress. Nu testa doar noile caracteristici. De asemenea, asigură-te că nu ai distrus accidental unele funcționalități mai vechi ale modulului.
- Modifică numărul de versiune în comentariul antet al fișierului principal PHP la numărul de versiune nouă (în folderul trunk).
- Modifică numărul de versiune în câmpul de „etichetă stabilă” a fișierului readme.txt (în folderul trunk).
- Adaugă un nou sub-secțiune în secțiunea „changelog” a fișierului readme.txt, descriind pe scurt ce s-a schimbat față de ultima versiune. Acest lucru va fi listat pe fila „Changelog” a paginii modulului.
- Înregistrează aceste schimbări.
- Creează o nouă etichetă SVN ca o copie a trunchiului.
Lasă sistemul câteva minute să lucxreze, și apoi verifică pagina modulului la wordpress.org și fă o instalare cu modulul WordPress pentru a vedea dacă totul s-a actualizat în mod corect și instalarea WordPress arată o actualizare a modulului (verificările de actualizare ar putea fi în cache, astfel acest lucru ar putea dura ceva timp – încearcă să vizitezi pagina de „actualizări disponibile” în instalarea ta WordPress).
Depanare:
- Pagina modulului pe wordpress.org încă listează versiunea veche. V-ați actualizat câmpul „etichetă stabilă” în folderul trunk? Doar crearea unei etichete și actualizarea fișierul readme.txt din folderul tag nu este de ajuns!
- Pagina modulului oferă un fișier zip cu noua versiune, dar butonul încă listează numărul versiunii vechi și nicio notificare de actualizare nu apare în instalarea ta WordPress. Ți-ai adus aminte să actualizezi comentariul „Version” în fișierul principal PHP?
Sugestii de dezvoltare a unui modul
- Codul modulului WordPress trebuie să urmeze standardele WordPress de codificare.
- Toate funcțiile din modul trebuie să aibă nume unice care să fie diferite de funcțiile din nucleul de module WordPress, alte module, și teme. Din acest motiv, este o idee bună să utilizați un unic prefix în numele funcției pentru toate funcțiile modulului tău. O posibilitate mult superioară este de a defini funcțiile modulului în interiorul unei clase (care trebuie, de asemenea, să aibă un nume unic).
- Nu modificați prefixul tabelului bazei de date WordPress (de obicei „wp_”) în modul. Asigură-te că utilizezi variabile $wpdb->prefix.
- Citirea bazei de date este ușoară, dar scrierea este complicată. Bazele de date sunt extrem de bune la preluarea de date și livrarea acestor date, iar aceste operațiuni sunt (de obicei) foarte rapide. Efectuarea de modificări în baza de date este un proces mult mai complex, și mai scump din punct de vedere computațional. Ca rezultat, încearcă să reduci la minimum cantitatea de scris în baza de date. Ia totul de-a gata în codul tău mai întâi, astfel încât să poți scrie doar acele operațiuni de care ai nevoie.
- Utilizează API-uri WordPress în loc să folosești SQL direct acolo unde este posibil. De exemplu, utilizează get_posts() sau new WP_Query() în loc de SELECT * FROM {$wpdb->prefix}_posts.
- Utilizează tabelele existente ale bazei de date în loc să creezi noi tabele personalizate, dacă este posibil. Cele mai multe cazuri se pot rezolva cu tipuri de postări personalizate și date meta, taxonomie personalizată și/sau unul dintre celelalte tabele standard, iar folosirea tabelelor standard oferă o mulțime de UI și alte funcționalități „gratis.” Gândește-te cu atenție înainte de a adăuga un tabel, pentru că adaugă complexitate modulului pe care mulți utilizatori și dezvoltatori de site-uri preferă să o evite.
- Folosește SELECT doar când ai nevoie. Chiar dacă bazele de date preiau datele foarte rapid, ar trebui să încerci să reduci chiar mai mult sarcina în baza de date selectând doar datele de care ai nevoie pentru a le utiliza. Dacă ai nevoie să numeri numărul de rânduri într-un tabel nu folosi SELECT * FROM, deoarece toate datele din toate rândurile vor fi verificate și consumi memorie. De asemenea, dacă ai nevoie doar de post_id și post_author în modul, atunci selectează doar acele câmpuri specifice, pentru a minimiza sarcina pe baza de date. Ține cont de faptul că sute de alte procese pot folosi baza de date în același timp. Baza de date și serverul au fiecare o cantitate limitată de resurse pentru toate acele procese. Învățând cum să reduci la minimum solicitările bazei de date de către modulul tău vei asigura că acesta nu va fi acuzat de abuz de resurse.
- Elimină erorile PHP din modul. Adaugă define(‘WP_DEBUG’, true); la fișierul wp-config.php, încearcă toate funcționalitățile modulului, și verifică să vezi dacă există erori sau avertismente. Fixează orice problemă care apare, și continuă să depanezi modulul până când vor fi eliminate toate problemele.
- Încearcă să nu afișezi etichetele <script> și <style> direct – utilizează în schimb funcțiile wp_enqueue_style() și wp_enqueue_script(). Ele ajută la eliminarea inclusiv a dupălicatelor de scripturi și stiluri, și introduc suportul dependență.
Lasă un răspuns