Tutorial WordPress affidabili, quando ne hai più bisogno.
Guida per principianti a WordPress
WPB Cup
25 Milioni+
Siti web che utilizzano i nostri plugin
16+
Anni di esperienza con WordPress
3000+
Tutorial WordPress di esperti

Come: Post correlati con miniature in WordPress senza plugin

Vuoi visualizzare un elenco di post correlati sul tuo sito WordPress e preferisci usare il codice piuttosto che un plugin?

Su WPBeginner, sottolineiamo spesso l'importanza di coinvolgere il tuo pubblico e mantenerlo alla scoperta dei tuoi contenuti. Una strategia efficace che abbiamo visto utilizzare su innumerevoli siti WordPress di successo è la visualizzazione di post correlati.

Quando i visitatori del tuo blog hanno finito di leggere un articolo che li interessa, offrire un elenco di post correlati li manterrà coinvolti e li aiuterà a trovare nuovi contenuti da leggere.

In questo articolo, ti mostreremo come visualizzare post correlati con WordPress usando il codice, senza bisogno di plugin.

Come fare: Post correlati con miniature in WordPress senza plugin

Perché mostrare post correlati in WordPress?

Quando il tuo blog WordPress inizia a crescere, può diventare più difficile per gli utenti trovare altri post sullo stesso argomento.

Visualizzare un elenco di contenuti correlati alla fine di ogni post del blog è un ottimo modo per mantenere i tuoi visitatori sul tuo sito e aumentare le visualizzazioni di pagina. Aiuta anche a migliorare la visibilità delle tue pagine più importanti mostrando i tuoi migliori contenuti dove le persone possono trovarli facilmente.

Se non hai familiarità con il codice, troverai più semplice scegliere uno dei tanti plugin per post correlati di WordPress che possono visualizzare post correlati senza codice.

Ma, se ti sei mai chiesto se puoi visualizzare post correlati senza usare un plugin, condivideremo due diversi algoritmi che puoi utilizzare per generare post correlati con miniature usando solo il codice:

Nota: Se desideri mostrare una miniatura con ogni post correlato, assicurati prima di aggiungere un'immagine in evidenza a tali post.

Metodo 1: Come mostrare post correlati in WordPress tramite tag

Un modo efficiente per individuare contenuti correlati è cercare altri post che condividono gli stessi tag. I tag vengono spesso utilizzati per concentrarsi sui dettagli specifici contenuti in un post.

Tenendo presente questo, potresti voler aggiungere alcuni tag comuni ai post che desideri mettere in relazione tra loro. Puoi inserirli nella casella 'Tag' nell'editor di WordPress.

La casella delle impostazioni 'Tag' nell'editor di WordPress

Dopo aver aggiunto i tag ai tuoi post, la cosa successiva da fare è aggiungere il seguente snippet di codice al template single.php del tuo tema.

Se hai bisogno di aiuto per aggiungere codice al tuo sito, consulta la nostra guida su come incollare snippet dal web in 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();

Questo codice cerca i tag associati a una pagina ed esegue quindi una query al database per recuperare pagine con tag simili.

Dove dovresti posizionare il codice? Dipende dal tuo tema, ma nella maggior parte dei casi, dovresti essere in grado di incollare il codice nel template single.php del tuo tema dopo il post principale e subito prima della sezione commenti.

Se stai usando il tema Twenty Twenty-One, come facciamo sul nostro sito demo, allora un buon posto dove incollare il codice è nel file template-parts/content/content-single.php dopo l'header e subito dopo <?php the_content();.

Anteprima contenuti correlati per tag

Questo visualizzerà automaticamente contenuti correlati su qualsiasi post di WordPress.

Dovrai modificare lo stile e l'aspetto dei tuoi post correlati per farli corrispondere al tuo tema aggiungendo CSS personalizzato.

Esempio post correlati

Suggerimento: Invece di modificare i file del tuo tema, cosa che potrebbe compromettere il tuo sito web, ti consigliamo di utilizzare un plugin per snippet di codice come WPCode.

WPCode rende sicuro e facile aggiungere codice personalizzato in WordPress. Inoltre, offre opzioni di 'Inserimento' che ti consentono di inserire ed eseguire automaticamente snippet in posizioni specifiche del tuo sito WordPress, come dopo un post.

Opzioni di inserimento WPCode per snippet di codice personalizzati

Per maggiori dettagli, consulta la nostra guida su come aggiungere codice personalizzato in WordPress. Puoi anche consultare la nostra recensione dettagliata di WPCode per saperne di più sul plugin.

Metodo 2: Come mostrare post correlati in WordPress tramite categoria

Un altro modo per visualizzare contenuti correlati è elencare i post che appartengono alla stessa categoria. Il vantaggio di questo metodo è che l'elenco dei post correlati non sarà quasi mai vuoto.

Come il Metodo 1, è necessario aggiungere uno snippet di codice al template single.php del tuo tema o in un plugin per snippet di codice come WPCode. Per maggiori dettagli, fai riferimento al Metodo 1 e alla nostra guida su come aggiungere codice personalizzato in 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();

Ora vedrai un elenco di contenuti correlati in fondo a ogni post.

Se desideri modificare lo stile e l'aspetto delle tue pagine correlate, dovrai aggiungere CSS personalizzato per abbinarlo al tuo tema.

Vuoi saperne di più sulla visualizzazione di post correlati in WordPress? Dai un'occhiata a questi utili tutorial sui post correlati:

Speriamo che questo tutorial ti abbia aiutato a imparare come visualizzare post correlati con miniature in WordPress senza plugin. Potresti anche voler imparare come tracciare i visitatori sul tuo sito WordPress, o dare un'occhiata alla nostra lista di 24 suggerimenti per velocizzare il tuo sito web.

Se ti è piaciuto questo articolo, iscriviti al nostro canale YouTube per tutorial video su WordPress. Puoi anche trovarci su Twitter e Facebook.

Dichiarazione: Il nostro contenuto è supportato dai lettori. Ciò significa che se fai clic su alcuni dei nostri link, potremmo guadagnare una commissione. Vedi come è finanziato WPBeginner, perché è importante e come puoi supportarci. Ecco il nostro processo editoriale.

Il Toolkit WordPress Definitivo

Ottieni l'accesso GRATUITO al nostro toolkit - una raccolta di prodotti e risorse relative a WordPress che ogni professionista dovrebbe avere!

Interazioni del lettore

184 CommentsLeave a Reply

  1. I post correlati sono un modo fantastico per attirare gli utenti verso altri contenuti sul tuo sito web. Dopo aver letto diversi tuoi articoli su questo argomento, ho finalmente capito il potere di questa funzionalità e l'ho implementata sulla mia pagina 404. Ora, invece di mostrare contenuti che non esistono più, offre alternative e articoli simili ai miei utenti. Questo ha notevolmente ridotto il tasso di rimbalzo del mio sito web. Grazie non solo per questo articolo, ma anche per gli altri articoli che hai scritto su questo argomento. Mi hanno aiutato a migliorare la mia pagina 404.

  2. Stavo cercando di correggere post relativi a WordPress ma non ci riuscivo quando ho visto questo codice e l'ho usato nel mio file WordPress, quindi ora i miei post relativi a WordPress vengono visualizzati correttamente

    • Felice di sapere che la nostra guida ti è potuta essere d'aiuto!

      Amministratore

  3. C'è un modo per avere post correlati basati sul titolo del post? Non ho tag e le mie categorie non funzionano davvero poiché non c'è distinzione tra loro.

    Sarebbe di grande aiuto se avessi un codice per mostrare contenuti correlati basati sul titolo del post.

    • Thank you for your feedback, this article should currently be using the php version everywhere :)

      Amministratore

  4. Grazie per il tuo bel post.

    Qui "ignore_sticky_posts" dovrebbe essere usato invece di "caller_get_posts". Perché "caller_get_posts" è deprecato.

    • Thanks for pointing that out, we’ll be sure to look into updating the article :)

      Amministratore

    • Questo metodo limita i post alla categoria in cui si trova il post. Per limitare le categorie dovresti creare un'istruzione if per escludere determinate categorie.

      Amministratore

  5. È possibile dove ci sono più di X post correlati per categoria che sono correlati che si possano randomizzare diciamo 3 post?

    • Sebbene sia possibile, richiederebbe l'aggiunta di molto altro a questo; potresti voler cercare un plugin per quel tipo di personalizzazione.

      Amministratore

  6. Ho trovato un modo per creare miniature più piccole, ma le mostra in una colonna e non in orizzontale. Come si può modificare?

  7. Lo script funziona bene. L'unico problema che ho è che le miniature sono molto grandi. Ci sarebbe un modo per renderle più piccole?

  8. come fare per creare uno shortcode per questo codice, ho creato la funzione ma non so come restituire la stampa alla pagina.

  9. Perché sto affrontando questo problema. Errore di sintassi, fine del file inattesa
    Per favore, aiutami.

  10. Ciao,
    Sono un principiante di WordPress.
    Vorrei mostrare Post Correlati.
    Nel menu principale ho la Categoria A, e nella Categoria A – Sottocategorie A, B e C. I post sono nella Categoria A, ma possono anche essere presenti in tutte e 3 le Sottocategorie.
    Quando scelgo uno dei Post Correlati, qualcosa va storto e i post della Sottocategoria inizialmente scelta non vengono più visualizzati correttamente.

  11. Ciao Admin, articolo molto informativo. Mi piace il tuo sito per la sua semplicità e immediatezza. Tutti gli articoli vanno dritti al punto, ma quando si tratta di condividere la conoscenza del codice diventi troppo tecnico. Ignora il fatto che molti visitatori non sono esperti di codifica. Non sarebbe molto meglio se aggiungessi solo 2 o 3 righe in più alla tua spiegazione per renderla completa e facilmente comprensibile a tutti. Comunque, ottimo articolo, ma voglio sapere quale codice o plugin sta usando Wpbeginner?

  12. Il vero problema dei tuoi articoli è che non dici mai COME fare qualcosa. Va bene dirmi di inserire il codice nel mio single.php, ma da principiante non so cosa sia né dove trovarlo. Potresti voler considerare di inserire questo tipo di informazioni critiche nei tuoi articoli invece di dare per scontato che sappiamo cosa significhi, o che abbiamo letto tutti i tuoi articoli per scoprirlo.

  13. Grazie per il fantastico post, molto utile. Mi sono imbattuto in un errore nel codice, quindi volevo condividerlo nella speranza che possa essere utile ad altri in futuro. L'errore era:

    WP_Query è stato chiamato con un argomento che è deprecato dalla versione 3.1.0! “caller_get_posts” è deprecato. Usa invece “ignore_sticky_posts”.

    Quindi l'ho semplicemente sostituito e ha funzionato bene. Sto anche usando i namespace, quindi ho dovuto cambiare WP_Query in \WP_Query e ho anche cambiato l'ordine di quanto segue:

    global $post;
    $orig_post = $post;

    Grazie ancora
    Rose

  14. Signore
    Sto usando il codice delle categorie che funziona correttamente, ma una cosa è che quando nella home page ci sono 2 o 3 post della stessa categoria, il link appare nero, ma io voglio che appaia la categoria del post successivo.

  15. Ciao,

    Grazie per il tuo post. Ho aggiunto il codice in content-single.php e ha funzionato. Tuttavia, viene visualizzato come 1 colonna e non 3 colonne come nel tuo esempio. Potresti aiutarmi in questo? Voglio che i miei post correlati vengano visualizzati in 1 riga, 3 colonne. Grazie mille.

  16. Ciao,

    Ho un'opzione 'Post correlati' dal mio tema WordPress e la sto già utilizzando. Ho visualizzato 6 post dopo il contenuto. Il problema è che mostra solo 3 post correlati e i successivi tre sono visibili quando si scorre orizzontalmente. Non voglio quell'opzione, voglio che il sito visualizzi tutti e 6 i post direttamente. Puoi dirmi come fare?

  17. Salve,

    La tua guida è stata fantastica, ma come posso escludere una categoria specifica dai post correlati per non visualizzarla?

    Grazie in anticipo!
    Cordiali saluti,
    LAszlo Gyuricza

  18. Bella soluzione ma non definitiva per le mie esigenze. Infatti il problema principale è che questo codice ordina i post correlati dai più recenti nella stessa categoria o tag. Il risultato è che quando navighi all'interno di una categoria/tag visualizzerai sempre gli stessi pochi ultimi post, limitando duramente i post più vecchi del tuo sito. Questa è una conclusione corretta? Per favore, se l'hai provato, condividi la tua opinione!

    • 1. Dopo ‘caller_get_posts’=>1 metti una virgola(,)
      2. Premi il tasto invio [nuova riga]
      3. Aggiungi ‘orderby’=>’rand’
      Fatto. Ora verranno visualizzati post correlati in modo casuale. Grazie.

  19. Questo codice funziona benissimo. Mi chiedevo se potessi spiegare cosa fa questa parte del codice?

    $orig_post = $post;
    global $post;

    $post = $orig_post;

    Penso di aver capito cosa fa il resto, ma questo mi sta confondendo.

    Grazie per tutti i tuoi ottimi contenuti!

  20. nel tema predefinito Twentyfifteen dove dovrei inserire questo codice nel file single.php? Se l'ho inserito sopra endwhile; mostra un errore di sintassi, 'endwhile' inatteso e se l'ho inserito sotto endwhile; ma sopra endif; mostra un errore di sintassi, 'endif' inatteso

    C'è una soluzione per questo?

    Grazie

  21. nel tema predefinito Twentyfifteen dove dovrei inserire questo codice nel file single.php? Se l'ho inserito sopra enwhile; mostra un errore di sintassi, 'endwhile' inatteso e se l'ho inserito sotto enwwile ma sopra endif; mostra un errore di sintassi, 'endif' inatteso

    C'è una soluzione per questo?

    Grazie

  22. Ciao! Ottimo post!

    C'è un modo per combinare entrambe le opzioni, in modo da chiamare i tag correlati solo nella categoria corrente?

  23. il mio layout di single.php:

    //the_content bla bla bla codice qui

    //Copia incolla codice Related Posts by Tags qui

    //comments_template bla bla bla codice qui

    ———————————
    il risultato che ho ottenuto è un errore:
    Parse error: syntax error, unexpected ‘endwhile’ (T_ENDWHILE) in …
    ———————————
    dopo aver cambiato " <? } " in " <?php } " ha funzionato,

    just sugestion, maybe it better if you put complete php open tag
    thanks :)

  24. Funziona perfettamente. Come escludere un tag specifico da Related Posts by Tags? Intendo come cambiare il codice quando l'algoritmo troverà altri post con uno qualsiasi dei tag (eccetto il tag 595 per esempio) che ha il post corrente e li elencherà.

  25. Grazie per il fantastico codice
    Funziona benissimo ma non hai inserito alcun codice CSS per un aspetto più gradevole per questa sezione. Puoi farlo per favore? Sono un principiante in programmazione e ho provato alcuni codici ma non hanno funzionato. Nei tuoi codici c'è:
    echo ‘Related Posts’;
    ma in alcuni codici simili che ho trovato in altre risorse c'è:

    e in CSS alcuni codici come questo:
    .relatedposts {
    font-size: 12px;
    width: 640px;
    }
    .relatedposts h3 {
    font-size: 20px;
    margin: 0 0 5px;
    }
    darebbero un bell'aspetto ma non ha funzionato con il tuo codice.
    Grazie

  26. Caro collega, questo è un errore che sto riscontrando incollando questo codice nel file single.php. Potresti dirmi esattamente dove dovrei incollare questo codice.

    Errore di analisi: errore di sintassi, fine file inattesa in C:\xampp\htdocs\beingusefull\wp-content\themes\TechPlus\single.php alla riga 78

  27. Ciò dipenderà dal tuo tema e modello individuali. Devi aggiungere il tag condizionale dopo l'inizio del loop di WordPress. Dopo questa riga:
    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

    • Ho riscontrato lo stesso errore e questo è il mio codice aggiornato:
      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, // Numero di post correlati che verranno mostrati.
      ‘caller_get_posts’=>1
      );
      $my_query = new wp_query( $args );
      if( $my_query->have_posts() ) { ?>
      Post Correlati
      have_posts() ) : $my_query->the_post(); ?>
      <a href="” rel=”bookmark” title=””>

      <a href="” rel=”bookmark” title=””>

  28. Quando il post che condivido su Facebook, la miniatura viene presa dal post correlato, posso ottenere la miniatura dalla pagina principale? grazie

    • Se stai usando il plugin Yoast WordPress SEO, puoi specificare l'URL della miniatura nella scheda social per il post. Se la scheda social non viene visualizzata, devi fare clic sul link Yoast SEO nel menu di amministrazione di WordPress, quindi fare clic su "Social". Nella pagina social, seleziona l'opzione "Aggiungi metadati Open Graph" e salva. Torna al tuo post e potrai specificare l'immagine in miniatura che desideri utilizzare quando il post viene condiviso. Se non imposti esplicitamente l'immagine del post, l'utente ha la possibilità di selezionare qualsiasi immagine che appare nella pagina, motivo per cui le immagini dei tuoi post recenti vengono visualizzate quando condividi il link dell'articolo.

  29. Qualche idea su quanto carico di database/server comporterebbe questo su un sito self-hosted di grandi dimensioni? Sto cercando un'alternativa ai post correlati ora che #nRelate non è più disponibile.

  30. Questo non funziona in single.php per me, perché i post correlati appaiono in fondo alla pagina. Funziona con loop.php ma poi appaiono anche sulla homepage - qualche idea per una soluzione in modo che appaiano solo nei post singoli e non sulla homepage?

  31. Ciao, devo essere l'unica a non fare questo correttamente. Il mio tema supporta le immagini in evidenza, ho aggiunto questo codice prima dei commenti all'interno del file single.php. Qualche consiglio su dove esattamente inserire il codice?

  32. C'è un modo per aggiungere la paginazione alla query dei post correlati? Non riesco a far funzionare la paginazione su una query secondaria all'interno di single.php. Grazie!

  33. Ciao, vorrei chiedere, c'è un modo per fare in modo che i post correlati siano per categoria e tag in un unico posto? Grazie.

  34. Le mie miniature sono troppo grandi, aiuto. Come si possono limitare le miniature dei post correlati?

  35. C'è un modo per scegliere una singola categoria (chiamiamola Marche) e poi far visualizzare post correlati solo affiliati alle categorie figlie sotto Marche? Quindi, la gerarchia per le categorie sarebbe Marche > JCPenny. Voglio mostrare solo post correlati per JCPenny. Ma, quella categoria figlia potrebbe essere diversa per post. Quindi se un post usa una categoria figlia diversa, mostrerà post correlati per quella categoria figlia. Questo codice può essere modificato per gestire in qualche modo questo?

  36. Ciao, grazie per il codice, ma invece di prendere l'immagine in evidenza come miniatura, posso invece prendere la prima immagine nei miei post? Grazie

      • Sarebbe fantastico se lo trattaste in un post. Grazie mille e attenderò. Spero che possiate gentilmente pubblicare qui una notifica una volta che avrete pubblicato il post, così sapremo.

Lascia una risposta

Grazie per aver scelto di lasciare un commento. Tieni presente che tutti i commenti sono moderati secondo la nostra politica sui commenti, e il tuo indirizzo email NON verrà pubblicato. Si prega di NON utilizzare parole chiave nel campo del nome. Avviamo una conversazione personale e significativa.