Cum să afișați mesajele săptămânii trecute în WordPress

Cum să afișați mesajele săptămânii trecute în WordPress / Tutoriale

Mulți dintre cititorii noștri începători încep să își modifice temele WordPress, de aceea avem o foaie de cheat pentru a le ajuta să înceapă. Acest lucru aduce câteva provocări interesante pentru noii utilizatori. Un astfel de cititor ne-a întrebat recent cum să afișăm postările de săptămâna trecută în WordPress. Doar vroiau să adauge o secțiune pe pagina lor de pornire, care afișa posturile din săptămâna precedentă. În acest articol, vă vom arăta cum să afișați postările de săptămâna trecută în WordPress.

Înainte de a vă arăta cum să afișați postările săptămânii anterioare, să aruncăm mai întâi o privire asupra modului în care puteți afișa postările săptămânii curente folosind WP_Query. Copiați și inserați următorul cod în fișierul functions.php al temei sau pe un plugin specific site-ului.

 funcția wpb_this_week () $ week = date ('W'); $ year = data ('Y'); $ the_query = noua valoare WP_Query ('year ='. $ year. '& w ='. $ week); dacă ($ the_query-> have_posts ()): în timp ce ($ the_query-> have_posts ()): $ the_query-> the_post (); ?>        

În exemplul de mai sus, am aflat mai întâi săptămâna și anul curent. Apoi am folosit aceste valori în WP_Query pentru a afișa postările din săptămâna curentă. Acum tot ce trebuie să faceți este să adăugați în fișierul temă în care doriți să afișați postările.

A fost simplu, nu-i așa? Pentru a afișa postările de săptămâna trecută tot ce trebuie să faceți este minus 1 din valoarea săptămânii. Dar dacă aceasta este prima săptămână a anului, atunci veți primi 0 pentru săptămâna și anul curent în loc de anul trecut. Iată cum rezolvăți această problemă.

 funcția wpb_last_week_posts () $ thisweek = data ('W'); dacă ($ thisweek! = 1): $ lastweek = $ thisweek - 1; altceva: $ lastweek = 52; endif; $ year = data ('Y'); dacă ($ lastweek! = 52): $ year = date ("Y"); altfel: $ year = date ('Y') -1; endif; $ the_query = noua valoare WP_Query ('year ='. $ year. '& w ='. $ lastweek); dacă ($ the_query-> have_posts ()): în timp ce ($ the_query-> have_posts ()): $ the_query-> the_post (); ?>        

În exemplul de mai sus am plasat două verificări. Primul cec stabilește valoarea săptămânii trecute la 52 (care este ultima săptămână într-un an) când valoarea săptămânii curente este 1. Cea de-a doua verificare stabilește valoarea anului la anul trecut când valoarea din ultima săptămână este de 52.

Pentru a afișa postările de săptămâna trecută tot ce trebuie să faceți este să adăugați la fișierul șablon al temei în care doriți să le afișați. Sau dacă doriți să aveți un scurtcod, astfel încât să puteți adăuga aceasta într-o pagină sau un widget, atunci pur și simplu adăugați această linie sub codul de mai sus.

 add_shortcode ('lastweek', 'wpb_last_week_posts'); 

Acum puteți utiliza acest scurtcod într-o postare, într-o pagină sau într-un widget ca acesta:

[săptămâna trecută]

Rețineți că nu aveți întotdeauna nevoie de WP_Query pentru a crea interogări personalizate. WordPress vine cu o mulțime de funcții pentru a vă ajuta să afișați mesajele recente, arhivele, comentariile etc. Dacă există o modalitate mai ușoară de a utiliza funcțiile existente, atunci nu trebuie să scrieți cu adevărat propriile dvs. interogări.

Sperăm că acest articol v-a ajutat să afișați postările de săptămâna trecută în WordPress. Experimentați codul și modificați-l pentru a vă satisface nevoile. Spuneți-ne dacă aveți întrebări dacă lăsați un comentariu de mai jos sau vă alăturați pe Twitter.