Când ajutăm utilizatorii să-și configureze blogurile WordPress, suntem adesea întrebați despre personalizarea aspectului, în special despre cum să facem ca cea mai recentă postare să iasă în evidență.
Uneori, nu doriți ca cel mai nou articol să se amestece cu restul fluxului de articole de pe blog. S-ar putea să aveți un design special în minte sau să aveți nevoie ca acesta să apară într-o locație complet diferită.
Aici intervine excluderea celei mai recente postări din bucla de postări WordPress. Acest lucru vă oferă flexibilitatea de a afișa conținutul recent așa cum doriți. În acest ghid, vă vom arăta două modalități de a exclude cea mai recentă postare din bucla de postări WordPress.

De ce să excluzi ultimul post din bucla de postări WordPress?
În mod implicit, WordPress afișează postările de pe blog vizitatorilor în ordine cronologică inversă, astfel încât postările mai noi apar primele. Cu toate acestea, s-ar putea să doriți să schimbați modul în care arată cea mai recentă postare pe pagina de pornire personalizată sau pe pagina de arhivă WordPress.
Prin excluderea celei mai recente postări din bucla de postări WordPress, puteți afișa acel conținut într-o locație diferită și chiar puteți adăuga propriul stil personalizat.
Acestea fiind spuse, să vedem cum puteți ascunde cel mai recent articol de pe blog excluzându-l din bucla de articole WordPress. Pur și simplu utilizați linkurile rapide de mai jos pentru a sări direct la metoda pe care doriți să o utilizați:
- Metoda 1: Utilizarea pluginului WPCode (recomandat)
- Metoda 2: Editarea fișierelor temei WordPress (nu este necesar plugin)
- Aflați mai multe sfaturi și trucuri pentru a vă gestiona postările WordPress
Metoda 1: Utilizarea pluginului WPCode (recomandat)
Cel mai simplu mod de a exclude cel mai recent articol din bucla de articole este prin adăugarea de cod pe site-ul dvs. WordPress.
Unii ghizi vă vor spune să editați fișierele temei manual, dar acest lucru poate cauza erori comune WordPress și poate chiar să vă distrugă complet site-ul.
Din acest motiv, recomandăm utilizarea WPCode. Este cel mai bun plugin pentru fragmente de cod care facilitează adăugarea de cod personalizat în WordPress fără a pune site-ul dvs. în pericol.
Mai întâi, va trebui să instalați și să activați pluginul gratuit WPCode. Pentru mai multe informații, consultați ghidul nostru pas cu pas despre cum să instalați un plugin WordPress.
Odată ce pluginul este activat, accesați Code Snippets » + Add Snippet.

Aici vei vedea toate fragmentele pre-făcute pe care le poți adăuga pe site-ul tău. Acestea includ un fragment care îți permite să dezactivezi complet comentariile, să încarci tipuri de fișiere pe care WordPress nu le suportă în mod obișnuit, să dezactivezi paginile de atașament și multe altele.
Acum puteți plasa cursorul mouse-ului peste opțiunea „Adăugați codul dvs. personalizat (Snippet nou)” și faceți clic pe butonul „+ Adăugați un snippet personalizat” atunci când apare.

Apoi, alegeți „PHP Snippet” ca tip de cod din lista de opțiuni afișate pe ecran.

Pe pagina următoare, introdu un titlu pentru fragmentul de cod. Acesta este doar pentru referința ta, așa că poți folosi orice dorești.

Cu asta gata, pur și simplu lipiți următorul cod în caseta „Previzualizare cod”:
<?php
function wpsites_exclude_latest_post( $query ) {
if ( $query->is_home() && $query->is_main_query() ) {
$query->set( 'offset', '1' );
}
}
add_action( 'pre_get_posts', 'wpsites_exclude_latest_post', 1 );
După aceea, derulați pagina în jos la secțiunea „Inserare”.
Dacă nu este deja selectat, alegeți „Inserare automată” și „Rulează peste tot”.

În final, derulează în partea de sus a ecranului și apasă pe glisorul „Inactiv” pentru ca acesta să afișeze „Activ”.
Apoi, pur și simplu apasă butonul „Salvează fragmentul” sau „Actualizează” pentru a face fragmentul de cod să fie activ.

Acum, dacă vizitați site-ul dvs. WordPress, cea mai recentă postare de pe blog va fi ascunsă.
Metoda 2: Editarea fișierelor temei WordPress (nu este necesar plugin)
Note: Acest tutorial va funcționa doar cu teme WordPress clasice, deoarece temele bazate pe blocuri au un set diferit de fișiere de temă. Dacă folosești o temă bazată pe blocuri, atunci îți sugerăm să folosești prima metodă.
De asemenea, recomandăm efectuarea unui backup al site-ului dvs. mai întâi și/sau utilizarea unui mediu de staging pentru a preveni erorile atunci când urmați această metodă.
Un alt mod de a exclude cel mai recent articol din bucla de articole WordPress este prin adăugarea de cod în fișierele temei dvs. WordPress.
Acest lucru realizează un rezultat similar cu codul de mai sus, dar va trebui să îl adăugați direct în bucla WordPress unde doriți să fie afișat.
De exemplu, dacă doriți să modificați bucla de postări pe întregul site web, va trebui să adăugați codul în fișierul dvs. index.php.
Fiți conștient că adăugarea de cod direct în fișierele dvs. WordPress poate cauza potențial probleme cu paginarea pe blogul dvs. WordPress.
Mai întâi, trebuie să deschideți managerul de fișiere al furnizorului dvs. de găzduire WordPress sau să vă conectați site-ul cu un client FTP.
Pentru acest tutorial, vom folosi managerul de fișiere al Bluehost, deoarece procesul este mult mai ușor decât utilizarea unui FTP. Acestea fiind spuse, pașii sunt mai mult sau mai puțin aceiași, indiferent dacă utilizați un FTP sau un alt furnizor de găzduire web.
Dacă sunteți un utilizator Bluehost, conectați-vă la tabloul de bord al contului dvs. de găzduire și navigați la fila „Site-uri web”. Apoi, faceți clic pe „Setări” pe site-ul web pe care doriți să îl editați.

Acum, accesați secțiunea Linkuri rapide.
Apoi, apasă pe butonul „Manager fișiere”. Bluehost îți arată și directorul rădăcină al site-ului tău, dacă ai nevoie de el.

Odată ce ești în managerul de fișiere, trebuie să localizezi fișierul pe care vrei să-l editezi. Să spunem că vrei să adaugi codul în index.php, atunci îl vei găsi în folderul temei tale curente, care se află în public_html/wp-content.
Odată ajuns acolo, faceți clic dreapta pe fișierul index.php și selectați „Editare”.

Acum, va trebui să copiați următorul cod și să îl adăugați la bucla dvs. WordPress:
query_posts('posts_per_page=6&offset=1');
Acest cod spune buclei să afișeze doar 5 postări după cea mai recentă postare.
Va trebui să adăugați codul chiar deasupra buclei WordPress, astfel încât să arate similar cu fragmentul de cod de mai jos:
<?php
query_posts('posts_per_page=6&offset=1');
if ( have_posts() ) {
// Load posts loop.
while ( have_posts() ) {
the_post();
get_template_part( 'template-parts/content/content', get_theme_mod( 'display_excerpt_or_full_post', 'excerpt' ) );
}
// Previous/next page navigation.
twenty_twenty_one_the_posts_navigation();
} else {
// If no content, include the "No posts found" template.
get_template_part( 'template-parts/content/content-none' );
}
Iată cum arată codul nostru în managerul de fișiere Bluehost:

Odată ce ați adăugat codul, pur și simplu faceți clic pe butonul „Salvează modificările”.
Apoi, continuați și previzualizați site-ul dvs. WordPress.
Aflați mai multe sfaturi și trucuri pentru a vă gestiona postările WordPress
Vrei să optimizezi și mai mult blogul tău WordPress? Verifică aceste ghiduri:
- Cum să redirecționați utilizatorii către un articol aleatoriu în WordPress
- Cum să afișați postări similare în WordPress (Pas cu Pas)
- Cum să reordonezi cu ușurință postările în WordPress (Pas cu Pas)
- Cum să schimbați numărul de articole afișate pe pagina blogului dvs. WordPress
- Cum să afișezi orice număr de postări într-o buclă WordPress
- Cum să mutați postări în masă în categorii și etichete în WordPress
Sperăm că acest articol v-a ajutat să învățați cum să excludeți cea mai recentă postare din bucla WordPress. De asemenea, ați putea dori să consultați ghidul nostru despre cum să adăugați în masă postări și pagini în WordPress și selecțiile noastre de experți ale celor mai bune pluginuri pentru postări similare pentru WordPress.
Dacă ți-a plăcut acest articol, te rugăm să te abonezi la canalul nostru de YouTube pentru tutoriale video WordPress. Ne poți găsi, de asemenea, pe Twitter și Facebook.


George
Această bucată de cod a ajutat la rezolvarea a 90% dintr-o problemă de pe blogul meu.
Suport WPBeginner
Glad to hear our code was able to help
Admin
ghazali
Există vreo modalitate de a elimina doar primele 3 postări prezentate de pe pagina principală?
ivan logan
Cum să elimini toate postările fără imagini de prezentare (miniaturi), am 9000 de eliminat!
Praveen
Mulțumesc, treabă bună, soluție bună
Matt
Postare de frumusețe! Simplu, clar și FOARTE util. Noroc pentru tine!
Dimarj
BGH_
Salutare, mulțumesc pentru acest articol! Vreau să implementez asta, dar ori de câte ori încerc, am o problemă ciudată: intrările ar arăta exact ca pagina principală, afișând o listă de postări recente în loc de postarea în sine. Codul meu este ușor diferit, deoarece este un SMTheme. Orice ajutor va fi mult apreciat. PS: Scuze pentru postarea de două ori, dar codul a fost tipărit greșit. Poftiți:
spațiu
Soluția funcționează bine, Mulțumesc. dar paginarea s-a stricat după aplicarea acestui cod, am încercat dar nu am reușit să funcționeze cu paginarea corectă. Vreo soluție pentru paginare? .
Rickie Anand
aplicați clasa la li conform numărului paginii și unui contor & dați stil la p1c1 ca display:none;
Sabi Maharjan
Am folosit două pluginuri. Unul este „Recent facebook post” pentru a afișa cele mai recente articole în WordPress și „Facebook publish page” pentru a publica articolele mele WordPress pe Facebook. Acum vreau să exclud cel mai recent articol de pe Facebook care a fost deja postat din articolele mele WordPress.
Cum pot face asta?
Suport WPBeginner
Pentru ca pluginul dvs. să posteze conținut de pe pagina dvs. de Facebook, ar trebui să existe o verificare pentru a vedea dacă o postare a fost deja publicată de pe WordPress pe Facebook. Nu recomandăm utilizatorilor să editeze direct fișierele pluginului. Cu toate acestea, dacă sunteți confortabil cu editarea fișierelor php, puteți crea un fork al pluginului ca un nou plugin și apoi adăugați codul pentru a realiza acest lucru.
Admin
Pastor Wynn
Mulțumesc pentru pontul excelent. Am petrecut ore încercând să înțeleg asta, iar tu ai făcut-o atât de simplu!
Gu-ens
Mulțumesc mult.
Opțiunea ‘post__not_in’ nu funcționează în wordpress 3.5
Jim
Hmm, când am încercat acest cod pe bucla unei pagini de categorie, nu a reușit să păstreze postările doar pentru acea categorie, ci a acționat ca și cum ar fi fost bucla paginii de pornire și a afișat toate postările.
Amin
Mulțumesc mult, omule! A ajutat mult!
Cu stimă!
Fernando
Mulțumesc mult!! sfat foarte util!
GangeshMatta
Mulțumesc!
PabloCovarrubias
Salut, am doar o întrebare, când fac asta, paginarea nu mai funcționează, cum pot rezolva asta?
mulțumesc, în afară de asta, funcționează perfect!!
Noroc!
spațiu
Yes, pagination not working. you have found any working solution for pagination, I am still searching ..
Kev Bowman
Ai găsit vreodată o soluție pentru asta?
de hams
paginarea nu funcționează pe pagina index, în mare parte, așa că putem face propria noastră apelare de paginare ajax și, în mare parte, query_posts() funcționează pentru paginare, mai degrabă decât WP_Query()
Jon
Mulțumesc mult pentru asta! Nu puteam să-mi dau seama deloc, dar asta a funcționat perfect.
Wordpwess
Există o modalitate de a omite un articol dintr-o categorie?
De exemplu, vreau să afișez toate postările, cu excepția ULTIMEI postări din categoria x
Personal editorial
Da, puteți selecta pur și simplu parametrul category_in și adăugați ID-ul categoriei dvs.
Admin
Luka
Thanks mate, you save my day
Khurram
“query_posts(‘posts_per_page=6&offset=1’);” this is not worked for me , while i am using the WP-PageNavi plugin for page navigation.
Personal editorial
ce eroare primești?
Admin
Ken
Thanks for the info. Worked well
Though, I’m encountering another issue for another site I’m currently doing. Is there a way to exclude from the loop only the latest post of a particular category?
Problema este că am un blog care publică podcasturi. Pagina principală evidențiază cel mai recent podcast – postările sunt publicate sub categoria: Podcast – cu stilizarea sa proprie. În același timp, pagina principală afișează și ultimele 5 postări cele mai recente, dintre care pot include postări din categoria „podcast”. Pur și simplu nu vreau să afișez în buclă cea mai recentă postare publicată sub „Podcast”, pur și simplu pentru că este deja prezentată cu stilizarea sa proprie. Sper că mă puteți ajuta. Mulțumesc!
Personal editorial
Puteți exclude toate postările din categoria „postcast” din bucla dvs. dacă doriți. Dar nu există o modalitate simplă de a exclude doar cea mai recentă postare.
Admin
Joffrey
Mulțumesc pentru pont!
Dar mă întrebam dacă există și o modalitate de a exclude postarea care este afișată în prezent pe ecran.
Dacă da, îmi puteți spune cum să fac asta?
Mulțumesc anticipat!
Personal editorial
Nu înțelegi prea bine întrebarea ta? Ce ecran?
Admin
Joffrey
Una dintre paginile mele afișează mai întâi cel mai recent sau curent post pe care utilizatorul îl vizualizează.
Postarea curentă este apelată de buclă.
Sub această postare vreau să afișez fragmente din alte postări anterioare, fără postarea curentă afișată în această listă.
Rezumatele articolelor anterioare sunt apelate prin query_posts:
query(‘showposts=3&cat=5’);
while($previousPosts->have_posts()) : $previousPosts->the_post();
?>
După cum puteți vedea, apelez 3 postări (fragmente) din categoria 5, care afișează trei postări din categoria Știri. Acest lucru pare în regulă, dar în aceste 3 fragmente de postări, postarea curentă care este apelată de buclă se află și ea în această listă.
Știți o modalitate de a exclude postarea curentă din această listă?
Mulțumesc din nou!
Personal editorial
Puteți adăuga offset=1 în interogare pentru a omite prima postare.
Joffrey
Mulțumesc din nou pentru răspunsul rapid!
Cu toate acestea, am încercat offset=1 în interogare, singurul lucru este că atunci când apeși pe un post mai vechi, vezi postul mai vechi în bucla principală, în cadrul rezumatelor listei, cel mai recent post este exclus, dar postul mai vechi care este acum postul curent este încă în lista rezumatelor.
Aveți idee cum să excludem nu cea mai recentă, ci postarea curentă?
Thanks so far already
Personal editorial
Trimite-ne prin e-mail linkul live al site-ului, pentru a vedea exact ce se întâmplă. Folosește formularul de contact pentru e-mail.
Bilal Ahmed
Thank you so much for this piece as i was looking for a way to exclude 4 latest posts form my home page and i got answer by this articles and i have replaced (query_posts(‘posts_per_page=6&offset=1’);) by query_posts(‘posts_per_page=6&offset=3’); and its done
Jeremy
Unde anume pun acest cod pentru a elimina toate postările, cu excepția celor importante, de pe pagina principală.
Mulțumesc,
Personal editorial
Acesta este un proces în mai mulți pași. Mai întâi, ar trebui să aveți un șablon de pagină personalizat. Apoi, ar trebui să creați acea pagină personalizată, pagina dvs. de pornire. Apoi, ați rula o interogare pe acel șablon personalizat, afișând doar postările lipicioase.
Admin
dominik
Mulțumesc, era exact ceea ce căutam! Mulțumesc pentru orice alte indicii.
Morning Copy
Mulțumesc pentru asta. Soluție bună pentru layout-uri în stil revistă.