Tutoriale WordPress de încredere, atunci când aveți cea mai mare nevoie.
Ghidul începătorului pentru WordPress
Cupa WPB
25 de milioane+
Site-uri web care folosesc plugin-urile noastre
16+
Ani de experiență WordPress
3000+
Tutoriale WordPress de la experți

Cum: Postări similare cu miniaturi în WordPress fără plugin-uri

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.

Cum: Articole similare cu miniaturi în WordPress fără plugin-uri

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:

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.

Caseta de setări „Etichete” în 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();.

Previzualizare conținut asociat după etichete

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.

Exemplu de articole similare

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.

Opțiuni de inserare WPCode pentru fragmente de cod personalizate

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.

Doriți să aflați mai multe despre afișarea postărilor similare în WordPress? Consultați aceste tutoriale utile despre postări similare:

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.

Dezvăluire: Conținutul nostru este susținut de cititori. Acest lucru înseamnă că dacă faceți clic pe unele dintre linkurile noastre, este posibil să câștigăm un comision. Vedeți cum este finanțat WPBeginner, de ce contează și cum ne puteți susține. Iată procesul nostru editorial.

Cel mai bun instrumentar WordPress

Obține acces GRATUIT la instrumentarul nostru - o colecție de produse și resurse legate de WordPress pe care fiecare profesionist ar trebui să le aibă!

Interacțiuni cu cititorii

184 CommentsLeave a Reply

  1. 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.

  2. 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?

  3. Î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?

  4. 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…

    • 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.

  5. 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.

  6. @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

  7. @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.

  8. 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??

  9. 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.

  10. 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..

  11. 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..

  12. 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

  13. 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.

    • 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

  14. 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...

    • 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

  15. 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.

  16. Excelent!
    Ce se întâmplă dacă vreau să afișez postări similare pe categorii, fără imagini mici?
    Mulțumesc

  17. 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.

  18. 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!!!

  19. Căutam plugin-uri pentru postări similare cu miniaturi, dar codul pe care l-ați postat mai sus mi-a rezolvat problema.

  20. Adică, există o modalitate de a extrage doar etichete din același tip de postare? Poate folosind ceva de genul 'post_type=videos'?

    • 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’ );

  21. 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

  22. 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

  23. 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.

    • 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

  24. 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!

  25. 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

  26. 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.

  27. Î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!

        • 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.

  28. 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

  29. 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!

  30. Mulțumesc pentru asta, exact ceea ce căutam! Îmi place cât de directe sunt articolele dvs., fără confuzie.

  31. 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?

    • 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

  32. 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

  33. 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.

Lasă un răspuns

Vă mulțumim că ați ales să lăsați un comentariu. Vă rugăm să rețineți că toate comentariile sunt moderate conform politicii noastre de comentarii, iar adresa dvs. de e-mail NU va fi publicată. Vă rugăm să NU folosiți cuvinte cheie în câmpul nume. Să avem o conversație personală și semnificativă.