Sfat rapid! 9 Fragmente de cod Handy WordPress (care ar trebui să știi!)

Iată câteva fragmente de cod scurte, dar la îndemână, care vă pot face viața mai ușoară ca dezvoltator WordPress. Vom acoperi un pic de tot, de la modul de ștergere automată a postărilor, de la descoperirea rapidă a unei miniaturi post, la modul de redirecționare a utilizatorilor odată ce v-ați conectat. Deschideți programul de înlocuire a textului și pregătiți-vă să adăugați câteva comenzi rapide noi!

Vom incepe cu cateva linii simple.


1. Ascundeți bara de bord frontală

De la v3.1, WordPress a oferit o bară de administrare front-end pentru toți utilizatorii. În funcție de intenția dvs., acest lucru poate afecta aspectul site-ului dvs. Pentru a le dezactiva, utilizați funcția show_admin_bar:

 show_admin_bar (FALSE);

De asemenea, puteți dezactiva acest lucru din profilul dvs. de utilizator, dar acest lucru este util în special dacă aveți o mulțime de autori / membri pe site și trebuie să dezactivați barul în totalitate.


2. Goliți mesajele trasate automat

Mesajele trasate se pot acumula dacă uitați să le ștergeți definitiv. Utilizați acest cod în /wp-config.php pentru a vă goli postările trase:

 define ('EMPTY_TRASH_DAYS', 5);

3. Porniți debuggerul intern WordPress

Când vă dezvoltați, trebuie să vedeți erorile pe care codul dvs. le aruncă. Rețineți că nu toate erorile împiedică executarea unui script, dar sunt totuși erori și pot avea efecte ciudate asupra celuilalt cod. Deci, activați depanarea WordPress prin plasarea acesteia în /wp-config.php:

 define ('WP_DEBUG', TRUE);

S-ar putea să fiți uimiți de ceea ce vedeți în subsol. Nu uitați să dezactivați depanarea atunci când site-ul dvs. este gata să facă publicitate. Informațiile de depanare pot fi valoroase pentru hackeri.


4. Redirecționați utilizatorii după ce vă conectați

Când un utilizator se conectează, în mod normal, acestea sunt trimise direct la tabloul de bord. Aceasta poate să nu fie experiența dorită de utilizatorii dvs. Următorul cod folosește filtrul login_redirect pentru a redirecționa ne-administratorii la pagina principală:

 add_filter ("login_redirect", "subscriber_login_redirect", 10, 3); (if_array ($ user-> roles)) if (in_array ('administrator', $ user-> roles)) reveniți home_url ('/ wp-admin / );  întoarcere home_url (); 

Pe baza rolului utilizatorului, le puteți trimite oricarei pagini doriți.


5. Afișați o imagine miniaturală postată implicită

Din v2.9, WordPress a oferit o opțiune de imagine miniaturală post, la fel ca imaginile pe care le vedeți aici pe wp.tutsplus. În pagina postului de admin se numește "Imagine recomandată". Dar dacă nu aveți o imagine pentru postarea dvs., puteți să apelați o imagine implicită.

În bucla:

 dacă (has_post_thumbnail ()) the_post_thumbnail ();  altceva echo '„; 
  • verificați dacă postul are o miniatură cu has_post_thumbnail
  • dacă da, afișați-l cu the_post_thumbnail ()
  • în caz contrar, generați o etichetă img pentru imaginea miniaturală prestabilită

Ați putea avea chiar și o grămadă de imagini implicite și alegeți unul la întâmplare


6. Afișați ora "Timp în avans" Post pentru mesaje și comentarii

În loc de: Postat pe 12 octombrie 2011, putem avea: Postat acum 2 zile.

Așa cum este folosit în buclă:

 echo human_time_diff (get_the_time ('U'), current_time ('timestamp')). ' în urmă';
  • human_time_diff () convertește o valoare a timestampului într-o formă prietenoasă
  • get_the_time () obține timpul în care a fost făcut postul, parametrul "U" devine valoare ca marcă de timp Unix
  • current_time () primește ora curentă, parametrul "timestamp" devine valoare ca marcă de timp Unix

Utilizați-l și pe comentarii:

 echo human_time_diff (get_comment_time ('U'), current_time ('timestamp')). ' în urmă';

Sau poate arata data / ora obisnuita a postului numai daca acum mai mult de o saptamana, altfel arata acum:

 $ time_diff = actual_time ('timestamp') - get_the_time ('U'); în cazul în care ($ time_diff < 604800)//seconds in a week = 604800 echo 'Posted ' . human_time_diff(get_the_time('U'), current_time('timestamp')) . ' ago'; else echo 'Posted on ' . get_the_date() . ', ' . get_the_time(); ;

7. Stil Post Post Comentarii autor Differently

Este frumos pentru utilizatori să poată vedea când autorul unei postări face un comentariu despre post, la fel cum facem aici pe wp.tutsplus. Tot ce trebuie sa facem este sa adaugam o clasa la wrapper-ul de comentarii si apoi sa-l stilisem in tema.

Pentru a afla care comentarii sunt făcute de autorul postului, vom folosi acest cod pentru a afișa un nume de clasă:

 dacă ($ comment-> user_id == get_the_author_meta ('ID')) echo '
„; altceva echo '
„;

Comparăm ID-ul de utilizator al comentariului cu ID-ul autorului postului de la get_the_author_meta. Dacă se potrivesc, vom econa o clasă de autor_comment pe care o putem apoi stil cu css.


8. Afișați informații despre utilizatori, postări și comentarii pentru site-ul dvs. WordPress

Puteți interoga baza de date WordPress direct pentru a afișa informații la îndemână. Puneți această funcție în funcțiile dvs. functions.php și apelați-o oriunde în fișierele șablonului cu get_site_data ()

 funcția get_site_data () global $ wpdb; $ users = $ wpdb-> get_var ("SELECT COUNT (ID) FROM $ wpdb-> utilizatori"); $ posts = $ wpdb-> get_var ("SELECT COUNT (ID) FROM $ wpdb-> posturi WHERE post_status = 'publicare'"); $ comments = $ wpdb-> get_var ("SELECT COUNT (comentariu_ID) din $ wpdb-> comentarii"); echo "

". $ utilizatori. "membrii au făcut". $ comentarii. "comentarii în". $ postări. "posturi

„;

Este mai bine decât să apelați unele dintre funcțiile WordPress native, deoarece numără toate tipurile de posturi și numai postările publicate în prezent.


9. Adăugați corect un fișier JavaScript

WordPress ne dă funcția wp_enqueue_script, astfel încât să putem adăuga scripturi în siguranță.

Spuneți că avem șir de șabloane în șablonul nostru șablon, și acolo avem un script numit do_stuff.js. Deci avem url_to_template_dir / scripts / do_stuff.js

Să includeți scenariul nostru pe calea cea bună. Aceasta trebuie inclusă înainte de apelul wp_head din fișierul cu antet:

 $ script_url = get_template_directory_uri (). '/Scripts/do_stuff.js'; wp_enqueue_script ('do_stuff', $ script_url);

Aici concatenăm calea și numele de script pe ieșirea funcției get_template_directory_uri din WordPress. Apoi inscripționăm scriptul oferind un mâner (pentru posibila referință ulterioară) și adresa URL a scriptului nostru. WordPress va include acum scriptul nostru în fiecare pagină.

Avantajul real pentru toate acestea este faptul că, spunem că scriptul nostru do_stuff este un script jQuery, atunci ar trebui să avem și jQuery încărcat.

Acum, jQuery este inclus în mod implicit în WordPress și a fost preînregistrat cu jquery-ul mânerului. Deci, tot ce trebuie să facem este să enqueue jQuery noastre, apoi enqueue noastre do_stuff.js, astfel:

 wp_enqueue_script ( 'jquery'); $ script_url = get_template_directory_uri (). '/Scripts/do_stuff.js'; wp_enqueue_script ('do_stuff', $ script_url, array ('jquery'));

Notați al treilea parametru pentru wp_enqueue_script pentru do_stuff: care spune WordPress că scriptul nostru do_stuff depinde de fișierul cu jquery handle. Acest lucru este important, deoarece înseamnă că jquery va fi încărcat înainte de do_stuff. De fapt, ați putea avea instrucțiunile enqueue în ordine inversă și nu ar conta dacă definirea dependențelor unui script îi permite WordPress să pună scripturile în ordinea corectă de încărcare, astfel încât toți să lucreze fericit împreună.

Cod