Doriți să afișați o listă de postări similare pe site-ul dvs. WordPress și preferați să folosiți codul în loc de un plugin?
La WPBeginner, subliniem adesea importanța implicării audienței dvs. și menținerii acesteia în explorarea conținutului dvs. O strategie eficientă pe care am văzut-o utilizată pe nenumărate site-uri WordPress de succes este afișarea postărilor similare.
Când vizitatorii blogului tău au terminat de citit un articol care îi interesează, oferirea unei liste de articole similare îi va menține implicați și îi va ajuta să găsească conținut nou de citit.
În acest articol, vă vom arăta cum să afișați postări similare cu WordPress folosind cod, fără a fi necesar un plugin.

De ce să afișezi articole similare în WordPress?
Când blogul tău WordPress începe să crească, poate deveni mai dificil pentru utilizatori să găsească alte articole pe același subiect.
Afișarea unei liste de conținuturi conexe la sfârșitul fiecărui articol de blog este o modalitate excelentă de a-ți menține vizitatorii pe site și de a crește numărul de vizualizări ale paginilor. De asemenea, ajută la îmbunătățirea vizibilității paginilor tale cele mai importante, afișând cel mai bun conținut acolo unde oamenii îl pot găsi cu ușurință.
Dacă nu ești familiarizat cu codul, atunci vei găsi mai simplu să alegi unul dintre numeroasele pluginuri WordPress pentru postări similare care pot afișa postări similare fără cod.
Dar, dacă v-ați întrebat vreodată dacă puteți afișa postări similare fără a folosi un plugin, vă vom împărtăși doi algoritmi diferiți pe care îi puteți folosi pentru a genera postări similare cu miniaturi folosind doar cod:
- Metoda 1: Cum să afișați postări similare în WordPress după etichete
- Metoda 2: Cum să afișați articole similare în WordPress pe categorii
- Ghiduri experte despre postări similare în WordPress
Notă: Dacă doriți să afișați o miniatură cu fiecare postare similară, asigurați-vă că mai întâi adăugați o imagine de prezentare la acele postări.
Metoda 1: Cum să afișați postări similare în WordPress după etichete
O modalitate eficientă de a localiza conținut similar este să căutați alte postări care au aceleași etichete. Etichetele sunt adesea folosite pentru a se concentra pe detaliile specifice conținute într-o postare.
Având în vedere acest lucru, ați putea dori să adăugați câteva etichete comune la postările pe care doriți să le legați una de alta. Le puteți introduce în caseta „Etichete” din editorul WordPress.

După ce ați adăugat etichete la postările dvs., următorul pas este să adăugați următorul fragment de cod în șablonul single.php al temei dvs.
Dacă aveți nevoie de ajutor pentru a adăuga cod pe site-ul dvs., consultați ghidul nostru despre cum să copiați fragmente de pe web în WordPress.
$orig_post = $post;
global $post;
$tags = wp_get_post_tags($post->ID);
if ($tags) {
$tag_ids = array();
foreach($tags as $individual_tag) $tag_ids[] = $individual_tag->term_id;
$args=array(
'tag__in' => $tag_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=>5, // Number of related posts that will be shown.
'ignore_sticky_posts'=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) {
echo '<div id="relatedposts"><h3>Related Posts</h3><ul>';
while( $my_query->have_posts() ) {
$my_query->the_post(); ?>
<li><div class="relatedthumb"><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_post_thumbnail(); ?--></a></div>
<div class="relatedcontent">
<h3><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_title(); ?--></a></h3>
<!--?php the_time('M j, Y') ?-->
</div>
</li>
<!--?php }
echo '</ul--></ul></div>';
}
}
$post = $orig_post;
wp_reset_query();
Acest cod caută etichete asociate cu o pagină și apoi rulează o interogare în baza de date pentru a prelua pagini cu etichete similare.
Unde ar trebui să plasați codul? Aceasta depinde de tema dvs., dar în majoritatea cazurilor, ar trebui să puteți lipi codul în șablonul single.php al temei dvs., după postarea principală și chiar deasupra secțiunii de comentarii.
Dacă utilizați tema Twenty Twenty-One, așa cum facem noi pe site-ul nostru demo, atunci un loc bun pentru a lipi codul este în fișierul template-parts/content/content-single.php după antet și imediat după <?php the_content();.

Aceasta va afișa automat conținutul asociat pe orice postare WordPress.
Va trebui să schimbați stilul și aspectul postărilor dvs. similare pentru a se potrivi temei dvs. prin adăugarea de CSS personalizat.

Sfat: În loc să editați fișierele temei, ceea ce ar putea defecta site-ul dvs., recomandăm utilizarea unui plugin pentru fragmente de cod, cum ar fi WPCode.
WPCode face ca adăugarea de cod personalizat în WordPress să fie sigură și ușoară. În plus, vine cu opțiuni de „Inserare” care vă permit să inserați și să executați automat fragmente în locații specifice pe site-ul dvs. WordPress, cum ar fi după o postare.

Pentru mai multe detalii, consultați ghidul nostru despre cum să adăugați cod personalizat în WordPress. Puteți, de asemenea, să consultați recenzia noastră detaliată WPCode pentru a afla mai multe despre plugin.
Metoda 2: Cum să afișați articole similare în WordPress pe categorii
Un alt mod de a afișa conținut similar este să listați postările care se află în aceeași categorie. Avantajul acestei metode este că lista de postări similare aproape niciodată nu va fi goală.
La fel ca Metoda 1, trebuie să adăugați un fragment de cod în șablonul single.php al temei dvs. sau într-un plugin de fragmente de cod, cum ar fi WPCode. Pentru mai multe detalii, consultați Metoda 1 și ghidul nostru despre cum să adăugați cod personalizat în WordPress.
$orig_post = $post;
global $post;
$categories = get_the_category($post->ID);
if ($categories) {
$category_ids = array();
foreach($categories as $individual_category) $category_ids[] = $individual_category->term_id;
$args=array(
'category__in' => $category_ids,
'post__not_in' => array($post->ID),
'posts_per_page'=> 2, // Number of related posts that will be shown.
'ignore_sticky_posts'=>1
);
$my_query = new wp_query( $args );
if( $my_query->have_posts() ) {
echo '<div id="related_posts"><h3>Related Posts</h3><ul>';
while( $my_query->have_posts() ) {
$my_query->the_post();?>
<li><div class="relatedthumb"><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_post_thumbnail(); ?--></a></div>
<div class="relatedcontent">
<h3><a href="<?php the_permalink()?>" rel="bookmark" title="<?php the_title(); ?>"><!--?php the_title(); ?--></a></h3>
<!--?php the_time('M j, Y') ?-->
</div>
</li>
<!--?php }
echo '</ul--></ul></div>';
}
}
$post = $orig_post;
wp_reset_query();
Acum vei vedea o listă de conținut similar în partea de jos a fiecărui articol.
Dacă doriți să modificați stilul și aspectul paginilor dvs. asociate, atunci va trebui să adăugați CSS personalizat pentru a se potrivi temei dvs.
Ghiduri experte despre postări similare în WordPress
Doriți să aflați mai multe despre afișarea postărilor similare în WordPress? Consultați aceste tutoriale utile despre postări similare:
- Cum să afișați postări similare în WordPress (Pas cu Pas)
- Cum să afișezi postări similare ale aceluiași autor în WordPress
- Cum să afișezi postările recente în WordPress
- Cum să afișezi cele mai recente postări dintr-o anumită categorie în WordPress
- Cum să adăugați postări asociate inline în postările de pe blogul WordPress
- Cum să afișați postări aleatorii în WordPress
- Cum să afișezi pagini similare în WordPress
Sperăm că acest tutorial v-a ajutat să învățați cum să afișați postări similare cu miniaturi în WordPress fără plugin-uri. De asemenea, ați putea dori să învățați cum să urmăriți vizitatorii site-ului dvs. WordPress, sau să consultați lista noastră cu 24 de sfaturi pentru a accelera site-ul dvs..
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.


imranhunzai
Absolut uimitor! și da, ajută.
8MEDIA
amazing post ,, thanks
shaileshtr
Este bine să afișezi postări similare pe un blog WordPress fără plugin. Va consuma mai puțină lățime de bandă și timp pentru încărcare. http://shareitto.com Mulțumesc pentru sugestie.
zioneyemedia
Am o întrebare legată de asta: Mă lupt cu codul pentru a captura articole din categorii copil versus categorii părinte. Aveți vreun sfat?
AmandaLong
Asta e tare... Mulțumesc!
dustinporchia
Încerc să folosesc postările asociate pe categorii și am observat că ați spus că codul trebuie să vină înainte de comentarii în bucla principală. În codul meu, vreau ca postările asociate să vină după comentarii în buclă. Când fac acest lucru, observ că pluginul meu de comentarii Disqus durează mai mult să se încarce acum. Este din cauza unei erori cu comentariile sau este normal?
dustinporchia
Lasă-mă pe mine... tocmai am trecut la livefyre, deoarece asta caut mai mult într-un sistem de comentarii... mulțumesc!
subzerokh
te rog
ar putea cineva să ajute un începător ca mine să personalizeze acest script, astfel încât să afișeze articole similare pe orizontală?
de la stânga la dreapta..
în loc să-l afișeze în prezent de sus în jos, vertical…
zioneyemedia
Salut,
Modul în care am făcut acest lucru a fost să înlocuiesc codurile și cu propriul meu html și css. Codurile creează liste pentru fiecare postare, iar acestea sunt de obicei într-un mod vertical.
——————
<a href="” rel=”bookmark” title=””> <a href="” rel=”bookmark” title=””>
——————
Am înlocuit deschiderea cu și am înlocuit închiderea cu ca tag-uri html. Apoi scriu CSS-ul meu pentru a se potrivi nevoilor specifice ale clasei div pe site-ul dvs. De exemplu, o clasă pleft eșantion ar putea arăta așa:
.pleft {float:left; padding:2px; margin:10px; width:278px; height:190px;}
Folosesc selectorul float: pe CSS-ul meu pentru a muta postările pe orizontală, iar marginile și spațierea pentru a oferi fiecărei postări spațiu între ele. Am adăugat o lățime și o înălțime specifice pentru exemple suplimentare.
Sper să ajute.
Simos
@zioneyemedia mulțumesc!
gcog
Am etichete similare, sigur, dar când adaug codul nu văd nimic. De asemenea, când adaug codul dvs. pentru a restricționa la un tip de postare personalizat, îmi dă o eroare. Am schimbat tipul de postare la tipul meu specific de postare.
subzerokh
@wpbeginner salut
mulțumesc pentru răspunsul rapid…
dar sunt un începător absolut la tot ce spui..
poți, te rog, să oferi un mic exemplu?
pentru a le face orizontale, ca pe propriul tău blog?
puteți lua legătura prin e-mailul meu: khiloc la gmail punct com
wpbeginner
@subzerokh Ar trebui să editați stilul. Nu este atât de greu. Pur și simplu înfășurați fiecare postare într-un div. Specificați o lățime pentru acel div și apoi setați o proprietate float left. Ajustați marginile și altele și gata.
subzerokh
salutare tuturor!! mulțumesc pentru acest script minunat!!
Este singurul lucru pe care l-am găsit făcând exact ceea ce îmi doream!!!
Dar afișează articolele similare doar pe verticală (de sus în jos)
Aș dori să fie afișat de la stânga la dreapta (orizontal)
Cum fac asta, te rog??
ConnectIndia
Eroare Fatal error: Call to undefined function the_post_thumbnail() in /home/connec92/public_html/wp-content/themes/weekly/single.php on line 59 Poate cineva să mă ajute. site http://www.connectindia.co.in
xavpro
hei,
postare grozavă! poate m-ai putea ajuta:
am o miniatură automată dacă nu este definită niciuna,
if ($thumb_array[‘thumb’] == ”) $thumb_array[‘thumb’] = ‘link către imaginea ta implicită de miniatură’;return $thumb_array;
acum întrebarea mea este cum să definesc o miniatură pentru fiecare categorie, care va fi folosită dacă nu este definită la postare.
dehahs
funcționează frumos, mulțumesc pentru distribuire!
AdnanAsif
Salut
mulțumesc pentru postarea dvs. grozavă..
Dar există vreo posibilitate de a obține postări pe categorii, dar nu în ul și li și nu în miniatură?
Mă refer la articole complete afișate la articole similare... exact ca pe pagina principală, cu linkul 'citește mai mult'.
mulțumesc
aștept răspunsul tău..
AdnanAsif
Salut
mulțumesc pentru postarea dvs. grozavă..
Dar există vreo posibilitate de a obține postări pe categorii, dar nu în ul și li și nu în miniatură?
Mă refer la articole complete afișate la articole similare... exact ca pe pagina principală, cu linkul 'citește mai mult'.
mulțumesc
aștept răspunsul tău..
ibadullah25
Pot avea un CSS pentru asta, vă rog?
Personal editorial
CSS-ul pe care l-am folosit a fost pentru site-ul unui client. Puteți adăuga propriul CSS despre cum doriți să afișați acest lucru.
Admin
titusmagnet
Mulțumesc.. caut acest gen de cod
jaffa
Acest lucru este grozav, exact ceea ce căutam. Mă întreb însă, cum aș putea combina cele două de mai sus și dacă nu există etichete, atunci afișează postări din aceeași categorie?
Încerc să înțeleg asta, dar încă nu am ajuns departe
nikbanks
Mulțumesc pentru cod, a funcționat, dar cum îl stilizez. Aș dori să fie 4 povești una lângă alta ca ale tale. Pe site-ul meu sunt listate una deasupra celeilalte și nu sunt listate ca ale tale.
Personal editorial
Acesta este CSS. Nu folosim acest cod pentru a afișa povești similare. În al doilea rând, cred că ceea ce vorbiți sunt povești prezentate pe bara noastră laterală. Am scris un alt articol despre asta pe site-ul nostru.
Admin
Coolguy
Există o modalitate de a afișa miniaturi în postările similare fără a folosi imagini de prezentare sau miniaturi de postare??
adică să folosesc orice imagine folosită în postare...
Personal editorial
Da, puteți utiliza tehnicile de rezervă partajate de alți dezvoltatori, care preiau prima imagine din postare. Dar recomandăm utilizarea miniaturilor postărilor WordPress…
Admin
Hetal
Mulțumesc pentru acest articol. Mă întrebam dacă există o modalitate de a eticheta automat postările fără a fi nevoie să le introduc manual.
Personal editorial
Nu, trebuie să etichetezi fiecare postare manual.
Admin
Sisko
Excelent!
Ce se întâmplă dacă vreau să afișez postări similare pe categorii, fără imagini mici?
Mulțumesc
Personal editorial
Just remove the thumbnail code from the code above
Admin
Terry
Mulțumesc pentru postarea acestui tutorial, mă ajută mult.
Adrian
Salut... Voiam doar să spun că mi-am construit site-ul WordPress de la zero și acest cod funcționează perfect pentru mine folosind WP 3.1... Tot ce trebuie să fac acum este să stilizez CSS-ul și să obțin niște miniaturi pentru postări. Mulțumesc pentru ajutorul cu codul.
lansare mașină nouă
mulțumesc, caut acest hack de mult timp și mi l-ați adus!
Patricia
Salut, există o modalitate de a exclude categorii? Am două categorii principale la care sunt atribuite toate categoriile. Categoriile principale au subcategorii și aș dori să afișez doar postări similare din subcategorii.
Este posibil acest lucru, excluzând ID-urile categoriilor principale?
Mulțumesc pentru sfat!
Apropo…îmi place codul…și funcționează excelent!!!
Personal editorial
Ar trebui să puteți folosi categoria nu în <<
Admin
usman
Căutam plugin-uri pentru postări similare cu miniaturi, dar codul pe care l-ați postat mai sus mi-a rezolvat problema.
John
Adică, există o modalitate de a extrage doar etichete din același tip de postare? Poate folosind ceva de genul 'post_type=videos'?
John
Apropo, am rezolvat și asta:
Doar adăugați-l în array:
$args=array( ‘category__in’ => $category_ids, ‘post__not_in’ => array($post->ID), ‘posts_per_page’=> 2, // Numărul de postări similare care vor fi afișate. ‘caller_get_posts’=>1, ‘post_type’=>’videos’ );
marion
Salut,
Vă mulțumesc pentru acest tutorial. Mă întreb totuși dacă există vreo modalitate ca produsele înrudite să fie aleatorii? Am verificat diferite produse din aceeași categorie și au fost afișate aceleași produse înrudite.
Mulțumesc
Personal editorial
Da, folosește parametrul Query_Post pentru ordonare și îl poți amesteca.
Admin
Clarence Johnson
Bine de știut.
phdean
Salut,
Și eu aș dori să am postările aleatorii care se afișează pentru categorii, deoarece, altfel, se vor afișa mereu aceleași 2. Îmi puteți da codul pentru a face acest lucru?
Many thanks in advance
John
Lasă-mă pe mine, am rezolvat. Mulțumesc pentru postare!
Personal editorial
care a fost problema?
Admin
John
Nu aveam alte postări cu aceleași etichete, adică nicio postare similară. Greșeală stupidă.
John
Am copiat acest cod și l-am pus în fișierul meu single.php fără să schimb nimic și nu se afișează nimic. Este ceva greșit în codul meu? pastebin.com/kg0SkrAg
James
Acest lucru nu afișează o miniatură — nici măcar nu există o apelare pentru o imagine în cod. Nu înțeleg cum cineva poate face acest lucru să funcționeze.
Personal editorial
Codul pentru imagine este: the_post_thumbnail(); << Acesta nu este HTML static unde veți vedea codul img src. Funcția caută în baza de date o imagine prezentată, cunoscută și sub denumirea de miniatură, care este atașată fiecărui articol. Dacă este găsită, va afișa imaginea. Acum, dacă nu aveți miniaturi de postare activate în tema dvs., atunci trebuie să le adăugați mai întâi:
https://www.wpbeginner.com/wp-themes/how-to-add-post-thumbnails-in-wordpress/
Articolul a menționat clar acest lucru în secțiunea Notă:. Ar trebui să considerați să îl citiți cu atenție.
Admin
Roberto Silva
Salut, îmi place blogul tău!
Am o întrebare?
Poți face același truc dar „DUPĂ Autor”?
afișează cele mai recente postări ale autorului?
you will save my life
Apropo, mulțumesc pentru acest site!
Personal editorial
Yes we will que the article soon
Admin
Roberto Silva
yessss, mulțumesc…
Va fi un articol grozav.
deoarece „ultimele postări ale autorului fără plugin” sunt greu de găsit pe internet.
ești cel mai bun.
Quinn
Mulțumesc pentru acest cod! L-am încercat și funcționează oarecum.
Pot obține o listă a articolelor conexe, un beneficiu uriaș.
Dar nu reușesc să afișez nicio imagine.
Articolele au imagini dacă acest cod le extrage.
De asemenea, am creat imagini pentru fiecare postare cu eticheta personalizată „relatedthumb”. Dar, vai, tot nu apar imagini.
Mai este ceva ce trebuie să fac?
Mulțumesc anticipat!
Quinn
Personal editorial
Acest truc folosește miniaturile implicite WordPress, adăugate în WP 2.9. Dacă aveți o imagine atașată ca miniatură, atunci o va prelua.
Admin
Anthony
Este posibil să exclud o categorie din acest modul?
Mulțumesc mult,
Anthony
Personal editorial
Va afișa postări doar din categoria în care se află cealaltă postare...
Admin
Madhav Tripathi
Salut, mulțumesc pentru acest tutorial bun, în prezent folosesc tema Thesis, așa că vreau să știu dacă există o modalitate în tema Thesis de a implementa acest cod .php.
Sophie
Încerc să modific codul lui pentru a-l folosi cu categorii în cadrul unui tip de postare personalizat. Poate cineva să mă ajute? Sunt destul de nou în php.
Mulțumesc!
rulethenation
ok, am reușit să funcționeze, există vreo modalitate de a pune o imagine implicită dacă o miniatură nu este disponibilă
Personal editorial
Da, poți folosi parametrul if pentru a verifica dacă există plugin-uri… dacă nu, poți afișa o imagine implicită.
Admin
rulethenation
cum aș putea face asta? sunt un noob php lol
Quickbrown
Pentru a folosi imagini implicite atunci când nu există o miniatură a postării disponibilă, înlocuiți cu <?php if (has_post_thumbnail()) {the_post_thumbnail()} else {echo '’;} ?>
Apoi plasați un fișier default-image.jpg în folderul de imagini al temei dvs.
rulethenation
nu reușesc să fac asta să funcționeze, îmi strică întregul aspect lângă comentarii, îmi lipsește ceva? a trebuit să o scot de pe site-ul meu
Clarence Johnson
Postările mele sunt acum îmbogățite datorită vouă și acestui tutorial.
Heather Hill
Salut!
Mulțumesc pentru aceste informații! Acesta este exact ceea ce căutam.
Există o modalitate de a adăuga un rezumat la aceasta, împreună cu fotografia?
Mulțumesc din nou pentru ajutor!
Personal editorial
Da. Doar adaugă the_excerpt(); unde vrei să afișeze rezumatul.
Admin
Jez
Mulțumesc pentru asta, exact ceea ce căutam! Îmi place cât de directe sunt articolele dvs., fără confuzie.
Omer Greenwald
Mulțumesc pentru distribuire. Folosesc acest cod de ceva vreme, dar are o problemă: la adăugarea de etichete la o postare, WP le sortează alfabetic, indiferent de prioritatea cu care le-am adăugat. Deci, acest cod afișează postări similare care se potrivesc doar cu prima etichetă, ceea ce uneori este mai puțin relevant.
Poate aveți o idee cum să preveniți această sortare automată a etichetelor de către WordPress sau orice altă soluție?
Personal editorial
Nu folosește prima etichetă. Acest cod folosește toate etichetele din postări pentru a găsi postări similare.
Admin
Clarence Johnson
Și eu experimentez aceeași problemă.
Doug C.
Tot ce a făcut primul cod a fost să pună două instanțe ale aceleiași postări pe pagină. Nu a afișat nimic legat.
Personal editorial
Doug, te rugăm să ne contactezi folosind formularul cu un exemplu de link live și te putem ajuta. Știm că acest cod funcționează deoarece câteva site-uri ale clienților noștri îl folosesc.
Admin
Noor
Articol foarte util, mulțumesc pentru actualizare
Liam
Tutorial grozav. Ar dori cineva să-mi arate un fișier single.php funcțional cu acest cod?
Încă învăț php.
Din păcate
Eroare de analiză: eroare de sintaxă, T_ENDIF neașteptat în C:\xampplite\htdocs\mock\wp-content\themes\scwd\single.php pe linia 76
Personal editorial
Iată un exemplu funcțional Flowtown Blog.
Rețineți că acest cod este pentru a funcționa în interiorul buclei. Unde încercați să postați asta? Dacă este în afara buclei, atunci adăugați codul end if endif; << așa.
Admin
Liam
http://pastebin.com/m60c96f5f
Sper că linkul funcționează. Mulțumesc.
Personal editorial
Nu știu ce ar putea merge prost. După clasa clearfloat ar trebui să funcționeze bine. Așa l-am pus în flowtown și funcționează perfect.
Liam
Voi termina tema și o voi încerca pe un site live în loc de xamp. Vă voi anunța.
Shahab
Tutorial grozav!
Momentan folosesc YARPP, dar aș vrea să încerc și asta!
Mulțumesc
Suriya Kumar P
Voi chiar faceți o treabă grozavă. Mulțumesc mult.
Vivek @ InfoEduTech
Mulțumesc pentru acest articol. Caut de mult timp să afișez miniaturi cu articolul meu, dar nu am reușit. Am încercat multe plugin-uri WordPress, dar nu am reușit. Sper că acest lucru mă va ajuta.