Il tuo blog WordPress probabilmente ha decine di ottimi post più vecchi, ma i nuovi visitatori vedono solo i tuoi più recenti, mentre tutto il resto rimane sepolto nei tuoi archivi.
Visualizzare post casuali è un modo semplice per risolvere questo problema. Ogni caricamento di pagina mostra contenuti diversi, il che dà ai vecchi post una nuova esposizione e mantiene i visitatori più a lungo sul tuo sito. Puoi persino aggiungere un pulsante "Post Casuale" che consente ai lettori di saltare a un articolo a sorpresa, in stile classico StumbleUpon.
In questo tutorial, ti mostreremo come visualizzare post casuali in WordPress, oltre a come reindirizzare i visitatori a un post casuale con un singolo link.

Utilizza semplicemente i collegamenti rapidi qui sotto per passare al metodo che desideri utilizzare:
Come visualizzare post casuali in WordPress
Cerchi un modo divertente per mantenere i visitatori che navigano sul tuo sito? Puoi facilmente aggiungere un elenco di articoli casuali direttamente nella tua barra laterale, nelle pagine o direttamente all'interno dei tuoi post del blog.
Mentre alcuni tutorial potrebbero suggerire di aggiungere codice personalizzato al file functions.php del tuo tema, ti consigliamo di utilizzare WPCode, il plugin gratuito per snippet di codice per WordPress.
WPCode è dotato di una convalida intelligente degli snippet di codice per impedire che errori di codice comuni danneggino il tuo sito. Rende inoltre le tue personalizzazioni a prova di futuro, il che significa che puoi aggiornare o passare a un tema diverso senza preoccuparti di perdere tutte le funzioni di codice personalizzato.
Innanzitutto, devi installare e attivare il plugin gratuito WPCode. Per istruzioni dettagliate, consulta la nostra guida per principianti su come installare un plugin WordPress.
Dopo l'attivazione del plugin, vai alla pagina Snippet di codice » + Aggiungi snippet dalla barra laterale di amministrazione di WordPress.
Una volta lì, fai clic sul pulsante 'Aggiungi snippet personalizzato' sotto l'opzione 'Aggiungi il tuo codice personalizzato (Nuovo snippet)'.

Successivamente, seleziona 'Snippet PHP' come tipo di codice.
Verrai quindi reindirizzato alla pagina ‘Crea snippet personalizzato’, dove potrai iniziare digitando un nome per lo snippet di codice.
Questo titolo è solo per tuo riferimento e non apparirà da nessuna parte sul tuo sito.

Successivamente, copia e incolla semplicemente il seguente codice nella casella ‘Anteprima codice’:
<?php
$number_of_posts = 5; // Change this to the number of random posts you want to display.
$title = 'You might also like:'; // This is the title that will be displayed above the list of posts.
$current_post_id = get_the_ID();
$args = array(
'post_type' => 'post',
'orderby' => 'rand',
'posts_per_page' => $number_of_posts,
'post__not_in' => array( $current_post_id ),
);
$random_posts = new WP_Query( $args );
if ( $random_posts->have_posts() ) {
echo '<h3>' . esc_html( $title ) . '</h3>';
echo '<ul>';
while ( $random_posts->have_posts() ) {
$random_posts->the_post();
echo '<li><a href="' . esc_url( get_permalink() ) . '">' . esc_html( get_the_title() ) . '</a></li>';
}
echo '</ul>';
}
wp_reset_postdata();
Questo snippet mostra 5 post casuali ovunque tu posizioni il suo shortcode, e lascia automaticamente fuori il post che il visitatore sta già leggendo.
Per mostrare un numero diverso, cambia il valore di $number_of_posts all'inizio dello snippet. La riga $title controlla l'intestazione "Potrebbe interessarti anche:" che appare sopra l'elenco, quindi modifica quel testo o impostalo su '' se preferisci non avere affatto un'intestazione.
Successivamente, dovrai salvare lo snippet per generare uno shortcode univoco, quindi fai clic sul pulsante 'Salva snippet'.

Dopo di che, scorri fino alla sezione 'Inserimento' e scegli l'opzione 'Shortcode'.
Ora vedrai lo shortcode generato automaticamente da WPCode. Fai clic sul pulsante "Copia" poiché utilizzerai questo shortcode nel passaggio successivo.

Infine, scorri di nuovo verso l'alto e imposta l'interruttore ‘Inattivo’ su ‘Attivo’.
Dopodiché, fai semplicemente clic sul pulsante "Aggiorna" per salvare le tue modifiche.

Dopo aver salvato lo snippet di codice, puoi visualizzare post casuali sul tuo sito utilizzando lo shortcode che abbiamo copiato in precedenza.

Per maggiori dettagli su come fare ciò, consulta la nostra guida su come aggiungere shortcode WordPress.
Se continuano a essere visualizzati gli stessi post casuali invece di cambiare, di solito è la cache della pagina che serve una copia salvata della pagina. Inizia svuotando la cache e ricaricando la pagina.
Se ancora non cambiano, escludi quella pagina dalla cache completa del tuo plugin di caching.
Come reindirizzare gli utenti a un post casuale (con un plugin)
Mentre visualizzare un elenco di post casuali funziona benissimo nella barra laterale o alla fine di un articolo, chiede comunque ai visitatori di scansionare i titoli e sceglierne uno. Nei primi tempi del web, ci piaceva molto usare Stumbleupon, che rendeva facile scoprire nuovi contenuti con un clic.
Puoi aggiungere una funzionalità simile sul tuo sito web dove, invece di visualizzare un elenco, crei un pulsante "Post Casuale" o un link "Sorprendimi" che porta istantaneamente i visitatori a un articolo casuale sul tuo sito. È un modo divertente per incoraggiare l'esplorazione e funziona particolarmente bene sulla tua pagina 404 o nel menu di navigazione.
Consigliamo di utilizzare il plugin gratuito Random Post Plugin. Funziona aggiungendo un parametro URL ?redirect_to=random al tuo sito.
Installa e attiva semplicemente il plugin, quindi aggiungi un link al tuo menu di navigazione, widget della barra laterale, pulsante o ovunque altro sul tuo sito. Un visitatore potrà quindi fare clic su di esso per visitare un post casuale.
Per creare il tuo link, dovrai sostituire www.example.com con il tuo nome di dominio.
Ecco le varianti che puoi utilizzare:
- www.example.com/?redirect_to=random&each_once=rewind. Assicura che i visitatori non vedano lo stesso post due volte. Questo link si resetta automaticamente una volta visti tutti i post sul tuo sito.
- www.example.com/?redirect_to=random&count=10. Mostra solo post casuali dai tuoi 10 articoli pubblicati più di recente.
- www.example.com/?redirect_to=random&after=1 month ago. Mostra solo post casuali pubblicati nell'ultimo mese.
- &cache=120. Aggiungi questo alla fine del tuo URL per salvare temporaneamente (mettere in cache) il risultato per 120 secondi. Questo aiuta il tuo sito WordPress a caricarsi più velocemente.
Ad esempio, puoi creare un pulsante che mostra un post casuale, selezionato tra i tuoi 20 post più recenti:

Se preferisci un pulsante "Post Casuale" già pronto, il plugin include anche uno shortcode utile.
Puoi facilmente aggiungere lo shortcode [redirect_to_post_button] a qualsiasi post, pagina o area widget. Se hai bisogno di aiuto, consulta la nostra guida per principianti su come aggiungere uno shortcode in WordPress.

Come reindirizzare gli utenti a un post casuale in WordPress (con codice)
Se preferisci non installare un altro plugin monouso, puoi impostare lo stesso reindirizzamento "Post Casuale" con uno snippet di codice.
Questo snippet crea un URL completamente nuovo sul tuo sito web, che apparirà simile a example.com/random.
Ciò non interferirà con nessuna delle tue pagine esistenti e non influenzerà i lettori che stanno navigando i tuoi post. Il reindirizzamento avviene solo quando qualcuno visita manualmente questo nuovo indirizzo /random, ad esempio quando clicca su un pulsante o un link del menu 'Post Casuale' che hai impostato.
Quindi, ogni volta che un lettore visita example.com/random, WordPress prenderà automaticamente uno dei tuoi post pubblicati in modo completamente casuale e lo reindirizzerà direttamente ad esso.
Per mantenere il tuo sito sicuro, aggiungeremo il codice utilizzando il plugin WPCode che abbiamo configurato in precedenza. Questo assicura che un singolo carattere digitato in modo errato non possa danneggiare il tuo sito web o bloccarti l'accesso all'area amministratore.
Puoi semplicemente incollarlo come un nuovo snippet PHP in WPCode, seguendo gli stessi passaggi che abbiamo trattato in precedenza:
<?php
function wpb_random_post_rewrite() {
add_rewrite_rule( '^random/?$', 'index.php?random_redirect=1', 'top' );
}
add_action( 'init', 'wpb_random_post_rewrite' );
function wpb_random_post_query_var( $vars ) {
$vars[] = 'random_redirect';
return $vars;
}
add_filter( 'query_vars', 'wpb_random_post_query_var' );
function wpb_do_random_post_redirect() {
if ( get_query_var( 'random_redirect' ) ) {
$random = get_posts( array(
'post_type' => 'post',
'orderby' => 'rand',
'posts_per_page' => 1,
) );
if ( $random ) {
wp_redirect( get_permalink( $random[0]->ID ), 307 );
exit;
}
}
}
add_action( 'template_redirect', 'wpb_do_random_post_redirect' );
Potresti aver notato che questo snippet utilizza un reindirizzamento 307, che indica al browser che la destinazione è temporanea.
Questo perché i browser web memorizzano nella cache i reindirizzamenti permanenti 301 per velocizzare i tempi di caricamento. Di conseguenza, il browser continuerebbe a inviare un visitatore allo stesso post, rompendo completamente la casualità.
Una volta salvato e attivato lo snippet, vai semplicemente su Impostazioni » Permalink nella tua bacheca di WordPress e fai clic sul pulsante ‘Salva Modifiche’.
Questo rapido passaggio è noto come 'svuotare i tuoi permalink'. Forza WordPress ad aggiornare la struttura dei suoi link in modo che possa riconoscere istantaneamente il tuo nuovo URL /random.
Se stai utilizzando un plugin di caching di WordPress per velocizzare il tuo sito, assicurati di aggiungere /random al suo elenco di URL esclusi. Ciò garantisce che il reindirizzamento venga eseguito ogni volta invece di servire una pagina memorizzata nella cache ai tuoi visitatori.
Il tuo reindirizzamento casuale è ora pronto per l'uso. Puoi puntare qualsiasi link a example.com/random, che si tratti di un pulsante, di una voce di menu di navigazione, di un widget della barra laterale o di un link di testo all'interno di un post.
Ricorda solo di sostituire example.com con il nome del tuo dominio.
Speriamo che questo articolo ti abbia aiutato a imparare come visualizzare post casuali in WordPress. Potresti anche voler consultare la nostra guida per principianti su come riordinare facilmente i post in WordPress e il nostro tutorial su come creare un post privato in WordPress.
Se ti è piaciuto questo articolo, iscriviti al nostro Canale YouTube per tutorial video su WordPress. Puoi trovarci anche su Twitter e Facebook.

Dayo Olobayo
Ho provato diversi metodi per visualizzare post casuali ma nessuno ha funzionato bene come questo metodo di query personalizzata. Questo tutorial è facile da capire e mi piace come hai fornito esempi e snippet di codice per aiutare a illustrare il processo. La tua competenza mi ha risparmiato così tanto tempo e frustrazione. Continua a condividere la tua conoscenza con noi!
Jiří Vaněk
Per quanto ho capito, il codice è senza immagini in evidenza dei post. Ci sono opzioni con codice per visualizzare anche i post con immagini in evidenza?
Supporto WPBeginner
Potresti voler dare un'occhiata agli ultimi post del blog nell'editor a blocchi per questo.
Amministratore
Jiří Vaněk
Grazie per il consiglio. Sì, va bene per me. Uso Elementor e occasionalmente Seed Prod. Dato che non uso mai Gutenberg, questa opzione non mi è mai venuta in mente. Semplicemente non sapevo che Gutenberg avesse un blocco del genere. Grazie per il suggerimento.
Chris Smith
I miei post in evidenza compaiono sempre nei miei post casuali. C'è un modo per escludere i post in evidenza da questo codice?
Supporto WPBeginner
Per ottenere ciò, raccomandiamo di utilizzare il plugin del secondo metodo anziché modificare il codice.
Amministratore
Michael
Esiste un modo semplice per memorizzare nella cache i risultati per un certo periodo di tempo invece di randomizzare ogni volta? Magari aggiornare una volta ogni 24 ore per ridurre il carico sulle chiamate al database ogni volta?
Supporto WPBeginner
Per quella funzionalità, dovresti verificare con il supporto del plugin se è disponibile.
Amministratore
Marvin Duru
Per favore, ho provato ad aggiungere lo shortcode in una posizione specifica del mio sito web, non all'interno del post in PHP, ma la sezione Post Casuali non è stata visualizzata, mostrando solo il mio testo "[wpb-random-posts]".
Cosa dovrei fare?
Supporto WPBeginner
Quando si utilizza l'editor a blocchi, è necessario assicurarsi di aggiungerlo utilizzando un blocco shortcode.
Amministratore
Zeynep
Grazie, il codice funziona perfettamente. Ho cambiato la prima pagina del mio sito WordPress in index.html, cosa devo fare per eseguire [wpb-random-posts] sulla mia pagina HTML? Il mio inglese è un po' debole, spero mi capiate.
Supporto WPBeginner
La pagina dovrebbe essere una pagina WordPress affinché uno shortcode WordPress funzioni.
Amministratore
Elle
Come si potrebbe stilizzare questo? Mi confondo su come controllare il design di questo, non ho mai lavorato con lo styling PHP.
Supporto WPBeginner
Dipenderebbe dallo stile che si desidera aggiungere per ciò che deve essere fatto. È possibile aggiungere una classe nel codice HTML per avere qualcosa da cui partire.
Amministratore
Maria Cristhiane Amorim
Ciao! Posso farlo in un elenco?
Supporto WPBeginner
Dovresti chiarire cosa intendi con questo
Amministratore
Rob Packenham
Grazie per l'utile articolo.
Ho una domanda: le pagine del mio sito Wordpress includono una barra laterale con un widget di post casuali (estratti).
Il problema è che Google indicizza le pagine e 'vede' gli estratti dei post casuali come contenuto della pagina. Quindi, nella ricerca di Google, una pagina può apparire come corrispondente a un termine di ricerca solo perché uno degli estratti dei post casuali sulla pagina ha corrisposto al termine (non il contenuto principale della pagina).
Ma, quando un utente fa clic sul link nei risultati di ricerca di Google, vedrà la pagina con un set diverso di estratti di post casuali nella barra laterale, non l'estratto del post con il testo corrispondente. Quindi, per loro sembrerà una ricerca errata.
Idealmente, vorrei escludere gli estratti dei post casuali dall'indice di Google, ovvero nasconderli a Google, ma non sembra possibile (?).
Se hai qualche suggerimento, lo apprezzerei! Grazie.
Jun Enriquez
Ho provato questo e ha distrutto il mio sito, come posso resettarlo?
Errore http 500
Aiuto per favore
Grazie
Jun
Yin
Grazie mille per aver condiviso questo. Ho usato un altro plugin per post casuali che non funziona più. Poi ho trovato il tuo sito e ho installato il plugin. Funziona alla grande.
Lisa
Ciao e grazie per questo utile tutorial!
Puoi dirmi quale sarebbe il pezzo di codice da aggiungere per visualizzare post casuali che si trovano in una categoria specifica? Il mio tema non visualizza una barra laterale, quindi non posso usare il plugin e ha già una visualizzazione di post casuali sotto ogni articolo, ma vengono inclusi e visualizzati post di tutte le categorie. Ho provato a controllare il codice del tema e ad aggiungere 'post_category' => 'nome-della-categoria', ma non funziona. Qualche idea?
Raff
Ciao! Vorrei solo chiedere cosa succede se voglio cambiare i post casuali ogni settimana o in qualsiasi momento. Ad esempio, visualizzo un set di post casuali, non cambierà fino a 7 giorni o in qualsiasi momento. Grazie!
Abhimanyu Kashyap
Grazie mille, sono riuscito a visualizzare post casuali. Ho cambiato il numero di post a 1 per visualizzare 1 post casuale. C'è un modo migliore per farlo?
Vorrei anche sapere come posso usare una variabile invece del tipo di post e inserirne una dove inserisco lo shortcode, ad esempio – [wpb-random-posts(‘post’)].
Come posso ottenere questo??
devender
grazie per aver condiviso questo codice, è molto utile……..
Nate
Impostare i post su ordinati => ‘rand’ è una soluzione parziale. Certo, il post viene visualizzato ‘casualmente’, ma come menzionato sopra da DI SEKITAR, a cosa serve visualizzare un singolo post casuale se sarà sempre lo stesso post casuale ogni volta che qualcuno visita il sito?
Nate
Volevo dire ‘orderby’… sono stato corretto dall'ortografia
smehsan
Mi dispiace, ma la stringa non funzionava e l'ho resa globale e ora funziona bene.
global $string;
Marléne Rose Shaw
Grazie per questo ottimo tutorial. C'è un modo per ottenere lo shortcode e poi visualizzare i post casuali sotto il contenuto in una pagina invece della barra laterale?
Katherine
JAYKAY
Per escludere il post corrente aggiungi
‘post__not_in’ => array(get_the_id())
alla query.
Quindi i tuoi argomenti saranno ora:
$args = array( 'post_type' => 'post', 'orderby' => 'rand', 'posts_per_page' => 5, 'post__not_in' => array(get_the_id()), );
JAYKAY
Funziona bene con questo pezzo di codice.
Grazie KATHERINE
di sekitar
informazioni davvero interessanti, ho provato a usare il plugin che hai menzionato, ma ho una domanda importante.
Come rendere i post casuali diversi per ogni visitatore o dispositivo che visita il mio sito?
perché ho provato a visitare il mio sito usando un altro notebook e uno smartphone, ma i post casuali da quei 2 dispositivi sono gli stessi.
JayKay
Ciao,
Advanced Random Posts Widget è un plugin davvero valido, ma ho un problema. Come potresti escludere il post corrente/attivo quando visualizzi un post casuale? È possibile risolvere questo problema?
Il problema è lo stesso con il codice del metodo 2.
Harry Stoddart
Usa la variabile “Offset” per saltare gli ultimi X post.
Khalil Sillah
Come principiante, quale lista di materiali mi servirebbe per imparare WordPress
Ahm Clex
Un PC, WiFi e dedizione. Questo è tutto ciò di cui hai bisogno per imparare qualsiasi cosa in questi giorni.
Gaurav Khurana
grazie per questo. Ci stavo sempre pensando, dato che per impostazione predefinita i post più recenti sono visibili sulla home page stessa. Grazie per questo, userò sicuramente questo plugin