WordPress pare să fie peste tot în aceste zile, și nu e de mirare că este ușor de utilizat și ușor de personalizat. În acest tutorial, voi diseca tema implicită a tematicii WordPress's comments.php și vă va oferi diverse fragmente de cod pentru a vă ușura jupuirea.
Pentru referință, am inclus și un mic conținut.
post_password)):?> post_password):?> comment_approved == '0'):?>
Acesta este codul brut PHP care face funcția fișierului comments.php. Pentru un novice, acest lucru ar putea părea intimidant. Cu toate acestea, nu vă faceți griji: cu acest tutorial totul din fișierul dvs. de comentarii va deveni limpede!
Această linie de cod împiedică utilizatorii să vizualizeze comentarii.php accidental. Această pagină este destinată includerii într-o pagină de postare, nu separat. Ai putea considera asta o măsură de securitate. În cadrul instrucțiunii, puteți introduce orice mesaj pe care doriți să îl afișați persoanei care vizualizează fișierul comments.php, de preferință un a muri
afirmație.
post_password)):?> post_password):?>
Această declarație (bine, 2 de fapt, dar are sens dacă le vedeți ca una) verifică dacă este necesară o parolă pentru a vizualiza postarea. Evident, dacă nu aveți parola pentru a vedea postarea, de asemenea nu vi se permite să vizualizați comentariile.
Primul dacă
verifică dacă există o parolă setată. Al doilea dacă
instrucțiunea verifică dacă există un modul cookie cu o parolă în loc și afișează mesajul respectiv atunci când nu există. Puteți personaliza mesajul de eroare prin plasarea a ceea ce alegeți în cel de-al doilea dacă
afirmație.
comment_approved == '0'):?>
Această primă declarație condiționată (if ($ comentarii)
) verifică dacă există comentarii și apoi buclele prin intermediul acestora cu pentru fiecare
afirmație. În interiorul pentru fiecare
, veți observa următoarea declarație condiționată: dacă ($ comment-> comment_approved == '0')
. Aceasta verifică dacă comentariul a fost aprobat și afișează un mesaj dacă nu este încă aprobat.
Un exemplu de acest lucru ar fi următoarea bucată de cod.
- comment_approved == '0'):?>
Comentariul tau asteapta aprobare
Comentariul tau
Fara comentarii
Pentru a face acest lucru o piesă funcțională de cod, va trebui să utilizați etichetele de șablon pe care WordPress le oferă.
Șablon de șablon | Descriere |
---|---|
| ID-ul unui comentariu |
| autorul unui comentariu |
| autorul unui comentariu, înfășurat cu un link către site-ul său, dacă a specificat unul |
| tipul de comentariu; pingback, trackback sau un comentariu |
| comentariul real |
| data la care a fost postat |
| momentul în care a fost postat |
- comment_approved == '0'):?>
Comentariul tau asteapta aprobare
de pe laNiciun comentariu
Introducerea acestui mesaj în comments.php vă va oferi o listă ordonată cu comentariile și informațiile solicitate sau afișați un mesaj care să ateste că nu există comentarii.
Încă mă urmărești? Bun! Suntem aproape acolo. Trebuie doar să procesăm formularul de comentariu ... Bine, poate că am mințit că aproape sunt acolo. Formularul de comentariu este de fapt una dintre cele mai dificile părți ale întregului fișier skin.php.
Veți fi bombardați cu câteva declarații condiționate (este necesar un login, sunteți logat, ...). Această parte este cea în care cei mai mulți pietoni începători au cele mai mari probleme: deteriorarea elementelor de formă ar putea împiedica funcționarea formularului deloc, fără a da o eroare specifică PHP.
Pentru a vă oferi o perspectivă asupra afirmațiilor condiționale care sunt implicate în formularul de comentarii, voi explica mai întâi aceste declarații și va include mai târziu codul HTML explicând de ce ar trebui să fie locul unde este.
Prima declarație condiționată pe care o întâlniți este . Aceasta verifică, în principiu, dacă comentariile sunt deschise. Evident, dacă comentariile sunt închise, nu puteți posta un comentariu și nu este necesar formularul de comentarii. Puteți pune mesajul pe care doriți să îl afișați dacă comentariile sunt închise între ultimul
și
.
A doua declarație condiționată () verifică dacă trebuie să fiți înscris pentru a posta un comentariu și dacă sunteți conectat. Dacă declarația condițională este îndeplinită, scriptul ar trebui să afișeze un link către un loc unde utilizatorii se pot conecta. Dacă înregistrarea nu este necesară sau dacă sunteți deja conectat, scriptul va continua cu
altfel
și afișați formularul.
Declarația noastră condițională finală verifică dacă sunteți logat sau nu. Evident, dacă sunteți deja logat, este inutil să vă faceți să vă completați numele, e-mailul și site-ul dvs. din nou.
Felicitări, am arat toate declarațiile condiționale din fișierul comments.php. Acum, tot ce rămâne este să adăugați formularul acolo.
Primul lucru pe care pot să-l aud pe care îl credeți este: unde dracu este că forma va începe? Ei bine, trebuie doar să urmați bunul simț. A doua declarație condiționată verifică dacă trebuie să vă autentificați sau nu, prin urmare nu trebuie să afișați nici o formă decât după această declarație. Astfel, întreaga formă este localizată în această declarație condiționată.
Trebuie să fiți /wp-login.php?redirect_to="> conectat (ă) pentru a posta un comentariu.
Comentariile sunt închise.
De asemenea, am aruncat în legătură cu pagina de conectare, așa cum am găsit-o în comentariile implicite comments.php. După cum am spus mai devreme, ultima declarație condiționată verifică dacă sunteți conectat sau nu. Evident, câmpurile de introducere a numelui, a adresei de e-mail și a site-ului web sunt afișate numai dacă nu sunteți conectat. Hai să-i aruncăm acolo!
Trebuie să fiți /wp-login.php?redirect_to="> conectat (ă) pentru a posta un comentariu.
Comentariile sunt închise.
În regulă! Suntem aproape acolo! Trebuie doar să adăugăm câteva linii simple de cod, cum ar fi textarea și butonul de trimitere. Acestea merg după ultima declarație condiționată, deoarece este irelevantă pentru aceste elemente dacă sunteți conectat (ă) sau nu.
Trebuie să fiți /wp-login.php?redirect_to="> conectat (ă) pentru a posta un comentariu.
Comentariile sunt închise.
Acest cod ar trebui să fie destul de explicativ. Un câmp de textare pentru comentariu, un buton de trimitere, un câmp de intrare ascuns cu codul de viitor al comentariilor și un fragment PHP (ID); ?>
) WordPress trebuie să facă funcția formularului de comentarii.
Voila! Toate astea! Ați primit acum fișierul full comment.php. Vizualizați acest fișier pentru a obține toate codurile PHP și HTML necesare. Ar trebui să terminați acest lucru (pur și simplu am înlocuit fișierul comments.php cu skin-ul implicit cu al nostru și am adăugat un anumit stil minor.)
Desigur, aveți acum doar un fișier comment.php de bază. Există multe lucruri pe care le puteți face pentru ao îmbunătăți. Voi lista câteva sfaturi și trucuri pentru a vă ajuta în drumul vostru.
Începând cu WordPress 2.5, există o etichetă personalizată pentru șabloanele WordPress pentru a încorpora gravatare. Trage gravatarul din e-mailul pe care la intrat vizitatorul. Codul pentru a face acest lucru este foarte simplu.
Puteți înlocui $ author_email
cu cei dragi get_comment_author_email ();
funcţie, dimensiune $
este înălțimea (și lățimea) avatarului și $ default_avatar
este o legătură la imaginea avatar implicită (afișată atunci când comentatorul nu are gravatar).
Introduceți acest cod în interiorul pentru fiecare
care afișează comentariile. Ieșirea este o imagine cu clasele Avatar
și $ Dimensiune Avatar-
(Unde dimensiune $
este dimensiunea specificată de dvs.). Cu unele editări minore CSS, ați putea ajunge la ceva de genul:
Am oprit intenționat anteturile în fișierul comments.php pe care l-am creat mai târziu, deoarece am crezut că ar face ca codul exces într-un proces de învățare să fie destul de dificil așa cum este. Evident, nu-i uit nici pe ei.
De obicei, oamenii au o rubrică care afișează ceva similar cu "3 comentarii până acum". Acest lucru este foarte ușor de realizat datorită etichetelor șablon oferite de WordPress.
E destul de explicativ: $ zero_comments
este textul care trebuie afișat când nu există comentarii, $ one_comment
când există un comentariu și $ more_comments
atunci când există mai multe comentarii. Un exemplu real de viață ar fi astfel:
obisnuiam %
pentru mai multe comentarii, deoarece comments_number
funcția înlocuiește apoi %
cu numărul de comentarii (2, 3, ...)
Folosit în fișierul our comments.php, veți termina cu ceva de genul:
Pentru a afișa un link către partea de comentarii (cu numărul de comentarii afișate, etc.), pur și simplu utilizați următorul cod.
Primii 3 parametri din această funcție sunt aceiași cu cei de mai sus comments_number
funcţie. $ css_class
este, evident, clasa CSS pe care o acordați eticheta și
$ comments_closed
este textul care trebuie afișat atunci când comentariile sunt închise. Atunci când aplicați acest lucru unei teme, aceasta este o posibilă modalitate de ao utiliza.
Aceasta vă va da apoi o legătură cu clasa comentarii link
Uneori veți dori să editați imediat un comentariu. Din fericire, cu funcția edit_comment_link, puteți accesa cu ușurință pagina corectă pentru al edita, în loc să trebuiască să navigați la panoul de administrare pentru a ajunge în final la acel comentariu. Utilizarea este ca atare:
Trebuie să puneți asta înăuntru pentru fiecare
buclă de comentariu. Parametrii sunt destul de evideni: $ LINK_TEXT
este textul de ancorare pentru linkul de editare, $ before_link
și $ after_link
respectiv textul sau codul care trebuie afișat înainte sau după link.
Acest lucru face cu adevărat ușor schimbarea unui comentariu; puteți adăuga pur și simplu un mic link "Editați" la informațiile despre comentariul dvs. meta (vizibile numai de admin). Asa arata:
Este posibil să doriți să aveți culori alternante pentru comentarii, pentru a face o separare mai clară. Acest lucru este relativ ușor. Mai întâi, adăugați următorul cod în partea de sus a paginii:
funcția alternate_rows ($ i)
dacă ($ i% 2)
echo ";
altceva
ecou";
Apoi adăugați următoarele în interiorul pentru fiecare
bucla (din nou). Pur și simplu ați putea înlocui cu asta:
Acest lucru va da fiecărui alt comentariu clasa Alt
, făcând astfel posibilă schimbarea aspectului prin CSS.
Am decis să fac o funcție pentru asta, să am mai puțină aglomerație în dosarul tău tematic real. Ați putea adăuga definiția funcției în fișierul functions.php dacă doriți, dar pentru mine este mai logic să o aveți în partea de sus a paginii dvs..
Rândurile alternante facilitează diferențierea diferitelor comentarii; odată implementat, ați putea avea ceva de genul:
Pentru a afișa codul pe care vizitatorii pot folosi în comentariile lor, pur și simplu utilizați acest fragment mic.
Etichete permise:
Apoi veți obține o listă cu etichetele care sunt permise în comentariile dvs., cum ar fi:
Pentru a obține un link la feedul RSS pentru comentariile unei anumite postări, pur și simplu introduceți codul de mai jos în fișierul comments.php în locul în care doriți să fie.
Apoi înlocuiți pur și simplu $ link_test
cu textul de ancorare pentru link-ul RSS.
Acest lucru poate fi util dacă doriți să oferiți vizitatorilor posibilitatea de a vă abona la feedul de comentarii pentru un anumit articol sau post de blog. Ați putea să o implementați astfel:
Sper că v-ați bucurat de acest articol puțin despre jupuirea fișierului WordPress comments.php. Puteți obține codul complet aici, cu trucurile pe care le-am arătat incluse în el:
Evident, legătura cu comentariile nu este inclusă, deoarece aceasta trebuie utilizată în interiorul bucla.
Cel mai bun noroc în WordPress jupuirea aventurilor!