Voulez-vous afficher les articles dans un ordre aléatoire tout en conservant l'ordre de pagination ? Cet extrait vous permettra d'afficher une liste aléatoire d'articles aléatoires qui resteront dans le même ordre tant que la session existera. Cela garantit que la pagination sera cohérente.
Instructions :
Il vous suffit d'ajouter ce code au fichier functions.php de votre thème ou dans un plugin spécifique au site :
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;
}
Remarque : Si c'est la première fois que vous ajoutez des extraits de code dans WordPress, veuillez consulter notre guide sur la manière de copier / coller correctement des extraits de code dans WordPress, afin de ne pas casser accidentellement votre site.
Si vous avez aimé cet extrait de code, n'hésitez pas à consulter nos autres articles sur le site tels que : Comparaison des 7 meilleurs constructeurs de pages WordPress par glisser-déposer.
Merci !
Ça marche à merveille... mais cela crée 9 pages d'articles supplémentaires à la fin, menant à "Page introuvable 404".
Des idées ?
Merci d'avance.
Josh
Merci ! ça marche à merveille... mais qu'en est-il lorsque vous utilisez un plugin de cache ? J'ai purgé tout le cache et cela ne fonctionne toujours pas sur la première page uniquement.
Toute idée est appréciée.
Merci encore.
Josh.
exactement ce que je cherchais, merci !!
Salut, ce code fonctionne très bien. Le seul problème est que sur la page d'accueil, il affiche également le widget "articles récents" dans un ordre aléatoire. Une idée pour changer cela ?
Je ne l'avais pas remarqué avant que vous ne le mentionniez, mais nous avons exactement le même problème, content que vous l'ayez signalé.
Avez-vous réussi à le résoudre d'une manière ou d'une autre ?
J'ai inséré l'extrait en utilisant le plugin d'extraits. Je suis en train de configurer ce site localement et je n'ai que 4 articles de test. Je ne remarque pas que les articles se mélangent... à quel moment le mélange se produit-il ?
MERCI !!
MERCI BEAUCOUP !!! VOUS M'AVEZ TELLEMENT AIDÉ !!!
Heureux que l'extrait ait été utile
Est-ce censé corriger le problème des "articles aléatoires de la deuxième page" ? Ou est-ce pour illustrer le problème ? Je l'ai utilisé pour générer des articles ordonnés aléatoirement, mais lorsque je vais à la deuxième page, la randomisation recommence évidemment, car je peux ou non obtenir les mêmes articles.
Merci beaucoup. Je cherchais un code comme celui-ci pour partager plus d'articles avec le lecteur à la fin de mon site.