Vuoi visualizzare i post in ordine casuale mantenendo l'ordine di paginazione? Questo snippet ti permetterà di visualizzare un elenco casuale di post casuali che rimangono nello stesso ordine per tutta la durata della sessione. Questo assicura che la paginazione sia coerente.
Istruzioni:
Tutto quello che devi fare è aggiungere questo codice al file functions.php del tuo tema o in un plugin specifico per il sito:
session_start();
add_filter( 'posts_orderby', 'randomise_with_pagination' );
function randomise_with_pagination( $orderby ) {
if( is_front_page() ) {
// Reset seed on load of initial archive page
if( ! get_query_var( 'paged' ) || get_query_var( 'paged' ) == 0 || get_query_var( 'paged' ) == 1 ) {
if( isset( $_SESSION['seed'] ) ) {
unset( $_SESSION['seed'] );
}
}
// Get seed from session variable if it exists
$seed = false;
if( isset( $_SESSION['seed'] ) ) {
$seed = $_SESSION['seed'];
}
// Set new seed if none exists
if ( ! $seed ) {
$seed = rand();
$_SESSION['seed'] = $seed;
}
// Update ORDER BY clause to use seed
$orderby = 'RAND(' . $seed . ')';
}
return $orderby;
}
Nota: Se questa è la prima volta che aggiungi snippet di codice in WordPress, consulta la nostra guida su come copiare / incollare correttamente snippet di codice in WordPress, in modo da non rompere accidentalmente il tuo sito.
Se ti è piaciuto questo snippet di codice, prendi in considerazione la lettura dei nostri altri articoli sul sito come: Confronto tra i 7 migliori page builder WordPress drag and drop.
Grazie!
Funziona a meraviglia... ma crea 9 pagine di post aggiuntive alla fine, che portano a "Pagina non trovata 404"
Qualche idea?
Grazie in anticipo.
Josh
Grazie! Funziona a meraviglia... ma che dire quando si usa un plugin di cache? Ho svuotato tutta la cache e ancora non funziona solo nella prima pagina.
Qualsiasi pensiero è apprezzato.
Grazie ancora.
Josh.
esattamente quello che stavo cercando, grazie!!
Ciao, questo codice funziona molto bene. L'unico problema è che anche nella pagina principale mostra il widget "post recenti" in ordine casuale. Qualche idea su come cambiarlo?
Non l'avevo notato finché non l'hai menzionato, ma abbiamo esattamente lo stesso problema, sono contento che tu l'abbia fatto notare.
Sei riuscito a risolverlo in qualche modo?
Ho inserito lo snippet usando il plugin per snippet. Sto solo configurando questo sito localmente e ho solo 4 post di prova. Non noto che i post si randomizzino... a che punto avviene la randomizzazione?
GRAZIE!!
GRAZIE MILLE!!! MI HAI AIUTATO TANTISSIMO!!!
Sono contento che lo snippet sia stato utile
Questo dovrebbe risolvere il problema dei 'post casuali nella seconda pagina'? O serve a illustrare il problema? L'ho usato per generare alcuni post in ordine casuale, ma quando vado alla seconda pagina, la casualità ovviamente ricomincia, perché potrei ottenere gli stessi post o meno.
Grazie mille. Stavo cercando un codice come questo per condividere più articoli con il lettore alla fine del mio sito.