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.


Jiří Vaněk
Postările similare sunt o modalitate uimitoare de a atrage utilizatorii către mai mult conținut de pe site-ul dvs. După ce am citit mai multe dintre articolele dvs. pe această temă, am înțeles în sfârșit puterea acestei funcționalități și am implementat-o pe pagina mea de eroare 404. Acum, în loc să afișeze conținutul care nu mai există, oferă alternative și articole similare utilizatorilor mei. Acest lucru mi-a redus semnificativ rata de respingere a site-ului. Vă mulțumesc nu numai pentru acest articol, ci și pentru celelalte articole pe care le-ați scris pe această temă. M-au ajutat să-mi îmbunătățesc pagina de eroare 404.
Suport WPBeginner
Glad to hear our content was helpful
Admin
kabir bairwa
Încercam să corectez postările similare WordPress, dar nu se întâmpla când am văzut acest cod și am folosit acest cod în fișierul meu WordPress, acum postările mele similare WordPress apar corect
Suport WPBeginner
Mă bucur să aud că ghidul nostru ți-a fost de ajutor!
Admin
Jennifer
Există o modalitate de a avea postări similare bazate pe titlul postării. Nu am etichete și categoriile mele chiar nu fac trucul, deoarece nu există nicio distincție între ele.
Ar fi de mare ajutor dacă ați avea un cod pentru a afișa conținutul relevant pe baza titlului postării.
aman
Vreau cod pentru a afișa postări și pagini aleatorii cu miniatură
Suport WPBeginner
Veți dori să consultați ghidul nostru de mai jos:
https://www.wpbeginner.com/wp-tutorials/how-to-display-random-posts-in-wordpress/
Admin
karan4official
În loc să folosești <? folosește <?php peste tot
Suport WPBeginner
Thank you for your feedback, this article should currently be using the php version everywhere
Admin
Motahar Hossain
Mulțumesc pentru postarea dvs. frumoasă.
Aici „ignore_sticky_posts” ar trebui folosit în locul lui „caller_get_posts”. Deoarece „caller_get_posts” este depreciat.
Suport WPBeginner
Thanks for pointing that out, we’ll be sure to look into updating the article
Admin
Frank
Mă puteți îndruma unde să adaug categoriile pe care aș dori să le limitez pentru postările similare?
Suport WPBeginner
Această metodă limitează postările la categoria în care se află postarea. Pentru a limita categoriile, ar trebui să creați o instrucțiune if pentru a exclude anumite categorii.
Admin
Greg
Este posibil ca atunci când există mai mult de X postări similare pe categorie care sunt similare, să puteți randomiza, să zicem, 3 postări?
Suport WPBeginner
Deși este posibil, ar necesita adăugarea mult mai multor elemente la acest lucru, ați putea dori să căutați un plugin pentru acest tip de personalizare.
Admin
Akiode obasanjo
Nu este adăugat niciun CSS
luigi
Salut, este posibil să le limitezi pe bază de dată? Să afișeze doar pe cele de anul trecut?
Luis
Am găsit o modalitate de a face miniaturi mai mici, dar le afișează într-o coloană și nu orizontal. Cum se poate modifica asta?
Luis
Scriptul funcționează bine. Singura problemă pe care o am este că mini-imaginile sunt foarte mari. Ar exista o modalitate de a le face mai mici?
Suport WPBeginner
Salut Luis,
Folosește dimensiunea implicită post-thumbnail. Poți crea o nouă dimensiune pentru miniatură și apoi să o folosești în cod astfel:
1-click Use in WordPress
Admin
Ana
cum să creez un shortcode pentru acest cod, am creat funcția, dar nu știu cum să returnez printarea pe pagină.
Musarrof
De ce mă confrunt cu această problemă. eroare de sintaxă, sfârșit neașteptat de fișier
Vă rog să mă ajutați.
Mike
Bună ziua,
Sunt începător în WorldPress.
Aș dori să afișez Postări Similare.
În meniul principal am Categoria A, iar în Categoria A – Subcategoriile A, B și C. Postările sunt în Categoria A, dar pot fi prezente și în toate cele 3 Subcategorii.
Când aleg una dintre Postările Similare, ceva nu merge bine și postările din Subcategoria aleasă inițial nu mai sunt afișate corect.
Anthony Reese
Mulțumesc pentru tutorial. Acesta a fost incredibil de util și a funcționat ca prin farmec!
pawan singh
Salut Admin, Articol foarte informativ. Îmi place site-ul dvs. datorită simplității și clarității. Toate articolele sunt la obiect, dar când vine vorba de împărtășirea cunoștințelor de cod, deveniți prea tehnic. Ignorați faptul că mulți dintre vizitatori nu sunt experți în codare. Nu ar fi mult mai bine dacă ați adăuga încă 2-3 rânduri în explicația dvs. pentru a o face completă și ușor de înțeles pentru toți. Oricum, articol grozav, dar vreau să știu ce cod sau plugin folosește Wpbeginner?
Ahmad
foarte util, mulțumesc!
Tracy
Ceea ce este cu adevărat nasol la articolele tale este că nu spui niciodată CUM să faci ceva. Este foarte bine să-mi spui să pun cod în fișierul meu single.php, dar ca începător nu știu ce este acesta sau unde să-l găsesc. Poate ar trebui să te gândești să incluzi acest tip de informații critice în articolele tale, în loc să presupui că știm ce înseamnă sau că am parcurs toate articolele tale pentru a afla.
Victor Siyaya
Sunt de acord. Nu am nicio idee unde să lipesc acest cod.
Rose
Mulțumesc pentru postarea grozavă, foarte utilă. Am întâlnit o eroare în cod, așa că am vrut să o împărtășesc în speranța că va fi utilă pentru alții în viitor. Eroarea a fost:
WP_Query a fost apelat cu un argument care este depreciat de la versiunea 3.1.0! „caller_get_posts” este depreciat. Folosiți „ignore_sticky_posts” în schimb.
Deci, pur și simplu l-am înlocuit și a funcționat bine. Folosesc și spații de nume, așa că a trebuit să schimb WP_Query în \\WP_Query, plus că am schimbat ordinea celor de mai jos:
global $post;
$orig_post = $post;
Mulțumesc din nou
Rose
sanjeev Kumar
domnule
Folosesc codul categoriilor care funcționează corect, dar un lucru este că atunci când pe pagina principală aceeași categorie de 2 sau 3 postări, atunci linkul apare negru, dar vreau să apară categoria care este următoarea postare
Luan
Salut,
Mulțumesc pentru postarea ta. Am adăugat codul în content-single.php și a funcționat. Cu toate acestea, se afișează ca 1 coloană, nu 3 coloane ca în exemplul tău. Ai putea să mă ajuți cu asta? Vreau ca postările mele similare să fie afișate într-un rând, 3 coloane. Mulțumesc mult.
Claudio
Salut!
Primul link din Surse Suplimentare este defect.
Mulțumesc pentru cod.
Suport WPBeginner
Salut Claudio,
Vă mulțumim că ne-ați notificat. Am eliminat linkul defect.
Admin