Tutoriels WordPress de confiance, quand vous en avez le plus besoin.
Guide du débutant pour WordPress
WPB Cup
30 Millions+
Sites web utilisant nos plugins
20+
Années d'expérience WordPress
3000+
Tutoriels WordPress par des experts

Comment afficher des articles aléatoires dans WordPress (Tutoriel rapide)

Votre blog WordPress a probablement des dizaines de bons anciens articles, mais les nouveaux visiteurs ne voient que vos articles les plus récents, tandis que tout le reste reste enfoui dans vos archives.

Afficher des articles aléatoires est un moyen simple de résoudre ce problème. Chaque chargement de page présente un contenu différent, ce qui donne une nouvelle exposition aux anciens articles et maintient les visiteurs plus longtemps sur votre site. Vous pouvez même ajouter un bouton « Article aléatoire » qui permet aux lecteurs de sauter vers un article surprise, dans le style classique de StumbleUpon.

Dans ce tutoriel, nous vous montrerons comment afficher des articles aléatoires dans WordPress, ainsi que comment rediriger les visiteurs vers un article aléatoire avec un seul lien.

Afficher des posts aléatoires dans WordPress

Utilisez simplement les liens rapides ci-dessous pour accéder à la méthode que vous souhaitez utiliser :

Comment afficher des articles aléatoires dans WordPress

Vous cherchez un moyen amusant de faire en sorte que les visiteurs continuent à cliquer sur votre site ? Vous pouvez facilement ajouter une liste d'articles aléatoires directement dans votre barre latérale, vos pages ou à l'intérieur de vos articles de blog.

Bien que certains tutoriels puissent suggérer d'ajouter du code personnalisé au fichier functions.php de votre thème, nous vous recommandons d'utiliser WPCode, le plugin gratuit d'extraits de code pour WordPress.

WPCode est livré avec une validation intelligente des extraits de code pour empêcher les erreurs de code courantes de casser votre site. Il rend également vos personnalisations pérennes, ce qui signifie que vous pouvez mettre à jour ou passer à un thème différent sans craindre de perdre toutes les fonctions de code personnalisées.

Tout d'abord, vous devez installer et activer le plugin gratuit WPCode. Pour des instructions détaillées, veuillez consulter notre guide pour débutants sur comment installer un plugin WordPress.

Après l'activation du plugin, rendez-vous sur la page Extraits de code » + Ajouter un extrait depuis la barre latérale d'administration de WordPress.

Une fois que vous y êtes, cliquez sur le bouton « + Ajouter un extrait de code personnalisé » sous l'option « Ajouter votre code personnalisé (Nouvel extrait) ».

Choisissez l'option « Ajouter votre code personnalisé (nouvel extrait) »

Ensuite, sélectionnez « Extrait PHP » comme type de code.

Vous serez ensuite dirigé vers la page « Créer un extrait personnalisé », où vous pourrez commencer par taper un nom pour l'extrait de code.

Ce titre est uniquement pour votre référence et n'apparaîtra nulle part sur votre site.

Créer un extrait de code personnalisé dans WordPress

Ensuite, copiez et collez simplement le code suivant dans la zone « Aperçu du code » :

<?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();

Cet extrait affiche 5 articles aléatoires partout où vous placez son shortcode, et il exclut automatiquement l'article que le visiteur est déjà en train de lire.

Pour afficher un nombre différent, modifiez la valeur de $number_of_posts en haut de l'extrait. La ligne $title contrôle l'en-tête « Vous aimerez peut-être aussi : » qui apparaît au-dessus de la liste, alors modifiez ce texte ou définissez-le sur '' si vous préférez ne pas avoir d'en-tête du tout.

Après cela, vous devrez enregistrer l'extrait afin de générer un shortcode unique, alors cliquez sur le bouton « Enregistrer l'extrait ».

Comment enregistrer un extrait de code sur votre blog ou site Web WordPress

Après cela, faites défiler jusqu'à la section « Insertion » et choisissez l'option « Shortcode ».

Vous verrez maintenant le shortcode que WPCode a généré automatiquement. Cliquez sur son bouton « Copier » car vous utiliserez ce shortcode à l'étape suivante.

Comment copier un shortcode sur votre blog ou site Web WordPress

Enfin, faites défiler vers le haut et basculez le commutateur « Inactif » sur « Actif ».

Après cela, cliquez simplement sur le bouton « Mettre à jour » pour enregistrer vos modifications.

Publier un extrait de code personnalisé sur votre site Web WordPress

Après avoir enregistré l'extrait de code, vous pouvez afficher des articles aléatoires sur votre site en utilisant le shortcode que nous avons copié précédemment.

Ajout d&apos;un bloc de shortcode à votre site WordPress

Pour plus de détails sur la façon de procéder, consultez notre guide sur comment ajouter des shortcodes WordPress.

Si les mêmes articles aléatoires continuent de s'afficher au lieu de changer, c'est généralement votre cache de page qui sert une copie enregistrée de la page. Commencez par vider votre cache et recharger la page.

S'ils ne changent toujours pas, excluez cette page du cache complet de votre plugin de mise en cache.

Comment rediriger les utilisateurs vers un article aléatoire (avec un plugin)

Bien que l'affichage d'une liste d'articles aléatoires fonctionne très bien dans votre barre latérale ou à la fin d'un article, il demande toujours aux visiteurs de scanner les titres et d'en choisir un. Aux débuts du web, nous aimions beaucoup utiliser Stumbleupon, qui permettait de découvrir facilement de nouveaux contenus en un clic.

Vous pouvez ajouter une fonctionnalité similaire sur votre site Web où, au lieu d'afficher une liste, vous créez un bouton « Article aléatoire » ou un lien « Surprise-moi » qui emmène instantanément les visiteurs vers un article aléatoire sur votre site. C'est une façon amusante d'encourager l'exploration, et cela fonctionne particulièrement bien sur votre page 404 ou dans votre menu de navigation.

Nous recommandons d'utiliser le plugin gratuit Random Post Plugin. Il fonctionne en ajoutant un paramètre d'URL ?redirect_to=random à votre site.

Installez et activez simplement le plugin, puis ajoutez un lien à votre menu de navigation, widget de barre latérale, bouton ou n'importe où ailleurs sur votre site. Un visiteur pourra alors cliquer dessus pour accéder à un article aléatoire.

Pour créer votre propre lien, vous devrez remplacer www.example.com par votre propre nom de domaine.

Voici les variations que vous pouvez utiliser :

  • www.example.com/?redirect_to=random&each_once=rewind. Garantit que les visiteurs ne verront pas le même article deux fois. Ce lien se réinitialise automatiquement une fois qu'ils ont vu tous les articles de votre site.
  • www.example.com/?redirect_to=random&count=10. N'affiche que les articles aléatoires parmi vos 10 articles les plus récemment publiés.
  • www.example.com/?redirect_to=random&after=1 month ago. N'affiche que les articles aléatoires publiés au cours du dernier mois.
  • &cache=120. Ajoutez ceci à la toute fin de votre URL pour enregistrer temporairement (mettre en cache) le résultat pendant 120 secondes. Cela aide votre site WordPress à se charger plus rapidement.

Par exemple, vous pouvez créer un bouton qui affiche un article aléatoire, sélectionné parmi vos 20 articles les plus récents :

Ajouter un lien d&apos;articles aléatoires à WordPress

Si vous préférez un bouton « Article aléatoire » prêt à l'emploi, le plugin inclut également un shortcode pratique.

Vous pouvez facilement ajouter le shortcode [redirect_to_post_button] à n'importe quel article, page ou zone de widget. Si vous avez besoin d'aide, consultez notre guide pour débutants sur comment ajouter un shortcode dans WordPress.

Créer un bouton « Articles aléatoires »

Comment rediriger les utilisateurs vers un article aléatoire dans WordPress (avec du code)

Si vous préférez ne pas installer un autre plugin à usage unique, vous pouvez configurer la même redirection « Article aléatoire » avec un extrait de code à la place.

Cet extrait crée une toute nouvelle URL sur votre site Web, qui ressemblera à example.com/random.

Cela n'affectera aucune de vos pages existantes, ni les lecteurs qui parcourent vos articles. La redirection ne se produit que lorsque quelqu'un visite manuellement cette nouvelle adresse /random, par exemple lorsqu'il clique sur un bouton ou un lien de menu « Article aléatoire » que vous avez configuré.

Ainsi, chaque fois qu'un lecteur visite example.com/random, WordPress sélectionnera automatiquement l'un de vos articles publiés de manière totalement aléatoire et le redirigera directement vers celui-ci.

Pour assurer la sécurité de votre site, nous allons ajouter le code à l'aide du plugin WPCode que nous avons configuré précédemment. Cela garantit qu'un seul caractère mal saisi ne cassera pas votre site Web ou ne vous empêchera pas d'accéder à votre zone d'administration.

Vous pouvez simplement le coller comme nouvel extrait PHP dans WPCode, en suivant les mêmes étapes que nous avons vues précédemment :

<?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' );

Vous avez peut-être remarqué que cet extrait utilise une redirection 307, qui indique au navigateur que la destination est temporaire.

C'est parce que les navigateurs Web mettent en cache les redirections permanentes 301 pour accélérer les temps de chargement. Par conséquent, le navigateur continuerait d'envoyer un visiteur vers le même article, rompant ainsi complètement la randomisation.

Une fois que vous avez enregistré et activé l'extrait, accédez simplement à Paramètres » Permaliens dans votre tableau de bord WordPress et cliquez sur le bouton « Enregistrer les modifications ».

Cette étape rapide est connue sous le nom de « vidage de vos permaliens ». Elle oblige WordPress à actualiser sa structure de liens afin qu'il puisse reconnaître instantanément votre nouvelle URL /random.

Si vous utilisez un plugin de mise en cache WordPress pour accélérer votre site, assurez-vous d'ajouter /random à sa liste d'URL exclues. Cela garantit que la redirection s'exécute à chaque fois au lieu de servir une page mise en cache à vos visiteurs.

Votre redirection aléatoire est maintenant prête à être utilisée. Vous pouvez pointer n'importe quel lien vers example.com/random, qu'il s'agisse d'un bouton, d'un élément de menu de navigation, d'un widget de barre latérale ou d'un lien texte dans un article.

N'oubliez pas de remplacer example.com par le nom de votre propre domaine.

Nous espérons que cet article vous a aidé à apprendre comment afficher des articles aléatoires dans WordPress. Vous voudrez peut-être aussi consulter notre guide pour débutants sur la façon de réorganiser facilement les articles dans WordPress et notre tutoriel sur la création d'un article privé dans WordPress.

Si vous avez aimé cet article, abonnez-vous à notre Chaîne YouTube pour des tutoriels vidéo WordPress. Vous pouvez également nous trouver sur Twitter et Facebook.

Divulgation : Notre contenu est soutenu par nos lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons gagner une commission. Consultez comment WPBeginner est financé, pourquoi c'est important et comment vous pouvez nous soutenir. Voici notre processus éditorial.

La boîte à outils WordPress ultime

Accédez GRATUITEMENT à notre boîte à outils - une collection de produits et de ressources liés à WordPress que tout professionnel devrait posséder !

Interactions des lecteurs

35 CommentairesLaisser une r action

  1. J'ai essayé plusieurs méthodes pour afficher des publications aléatoires, mais aucune n'a aussi bien fonctionné que cette méthode de requête personnalisée. Ce tutoriel est facile à comprendre et j'adore la façon dont vous avez fourni des exemples et des extraits de code pour illustrer le processus. Votre expertise m'a fait gagner tellement de temps et m'a épargné beaucoup de frustration. Continuez à partager vos connaissances avec nous !

  2. Si je comprends bien, le code est sans les images mises en avant des publications. Y a-t-il des options avec le code pour afficher également les publications avec des images mises en avant ?

    • Vous pourriez vouloir jeter un œil aux dernières publications du blog dans l'éditeur de blocs pour cela.

      Admin

      • Merci pour le conseil. Oui, cela me convient. J'utilise Elementor et occasionnellement Seed Prod. Comme je n'utilise jamais Gutenberg, cette option ne m'est jamais venue à l'esprit. Je ne savais tout simplement pas que Gutenberg avait un tel bloc. Merci pour l'astuce.

  3. Mes publications épinglées apparaissent toujours dans mes publications aléatoires. Y a-t-il un moyen d'exclure les publications épinglées de ce code ?

    • Pour y parvenir, nous vous recommandons d'utiliser le plugin de la deuxième méthode plutôt que de modifier le code.

      Admin

  4. Existe-t-il un moyen simple de mettre en cache les résultats pendant une certaine période au lieu de les randomiser à chaque fois ? Peut-être comme rafraîchir une fois toutes les 24 heures pour réduire la charge sur les appels à la base de données à chaque fois ?

    • Pour cette fonctionnalité, vous devriez vérifier auprès du support du plugin si elle est disponible.

      Admin

  5. S'il vous plaît, j'ai essayé d'ajouter le shortcode à un endroit spécifique de mon site web, pas à l'intérieur de la publication en PHP, mais la section de publication aléatoire ne s'est pas affichée, seulement mon texte « [wpb-random-posts] ».

    Que dois-je faire ?

    • Lorsque vous utilisez l'éditeur de blocs, vous devez vous assurer que vous l'ajoutez à l'aide d'un bloc de shortcode.

      Admin

  6. Merci, le code fonctionne très bien. J'ai changé la première page de mon site WordPress en index.html, que dois-je faire pour exécuter [wpb-random-posts] sur ma page html ? Mon anglais est un peu faible, j'espère que vous me comprenez.

    • Vous auriez besoin que la page soit une page WordPress pour qu'un shortcode WordPress fonctionne.

      Admin

  7. Comment vous y prendriez-vous pour styliser cela ? Je suis confus quant à la façon dont je contrôlerais la conception de ceci, je n'ai jamais travaillé avec le style PHP.

    • Cela dépendrait du style que vous souhaitez ajouter pour savoir ce qui doit être fait. Vous pouvez ajouter une classe dans le code HTML pour avoir quelque chose à cibler.

      Admin

  8. Merci pour cet article utile.

    J'ai une question : les pages de mon site WordPress incluent une barre latérale avec un widget d'extraits de publication aléatoire.

    Le problème est que Google indexe les pages et « voit » les extraits de publication aléatoires comme du contenu pour la page. Ainsi, dans la recherche Google, une page peut apparaître comme correspondant à un terme de recherche uniquement parce qu'un des extraits de publication aléatoires sur la page correspondait au terme (et non au contenu principal de la page).

    Mais, lorsqu'un utilisateur clique sur le lien dans les résultats de recherche Google, il verra la page avec un ensemble différent d'extraits de publication aléatoires dans la barre latérale, et non l'extrait de publication avec le texte correspondant. Cela leur semblera donc une mauvaise recherche.

    Idéalement, j'aimerais exclure les extraits de publication aléatoires de l'index Google, c'est-à-dire les masquer à Google, mais cela ne semble pas possible (?).

    Si vous avez des suggestions, je vous en serais reconnaissant ! Merci.

  9. J'ai essayé ceci et cela a détruit mon site, comment puis-je réinitialiser cela ?
    Erreur http 500
    S'il vous plaît, aidez-moi
    Merci

    Jun

  10. Merci mille fois pour le partage. J'utilisais un autre plugin pour les publications aléatoires qui ne fonctionne plus. Puis j'ai trouvé votre site et j'ai installé le plugin. Il fonctionne à merveille.

  11. Bonjour, et merci pour ce tutoriel utile !
    Pouvez-vous me dire quel serait le morceau de code à ajouter pour afficher des articles aléatoires d'une catégorie spécifique ? Mon thème n'affiche pas de barre latérale, je ne peux donc pas utiliser le plugin et il affiche déjà des articles aléatoires sous chaque article, mais des articles de toutes les catégories y sont inclus et affichés. J'ai essayé de vérifier le code du thème et d'ajouter 'post_category' => 'nom-de-la-catégorie', mais cela ne fonctionne pas. Une idée ?

  12. Salut ! Je voulais juste demander ce qu'il adviendrait si je voulais changer un article aléatoire chaque semaine ou à tout moment. Par exemple, j'affiche un ensemble d'articles aléatoires, il ne changera pas avant 7 jours ou à tout moment. Merci !

  13. Merci beaucoup, j'ai pu afficher des publications aléatoires. J'ai changé le nombre de publications à 1 pour afficher 1 publication aléatoire. Y a-t-il une meilleure façon de faire ?
    Je voudrais également savoir comment utiliser une variable au lieu du type de publication et en saisir une là où je place le shortcode, par exemple – [wpb-random-posts(‘post’)].
    Comment puis-je y parvenir ??

  14. Définir les articles sur `orderby` => ‘rand’ est une demi-mesure. Bien sûr, l'article s'affiche ‘aléatoirement’, mais comme DI SEKITAR l'a mentionné ci-dessus, à quoi sert d'afficher un article aléatoire s'il s'agit toujours du même article aléatoire chaque fois que quelqu'un visite le site ?

  15. Désolé, mais la chaîne ne fonctionnait pas et je l'ai juste rendue globale et maintenant ça marche bien.

    global $string;

  16. Merci pour ce super tutoriel. Y a-t-il un moyen d'obtenir le shortcode puis d'afficher les articles aléatoires sous le contenu d'une page au lieu de la barre latérale ??

  17. JAYKAY

    Pour exclure l'article actuel, ajoutez

    ‘post__not_in’ => array(get_the_id())

    à la requête.

    Vos arguments seront donc maintenant :

    $args = array( 'post_type' => 'post', 'orderby' => 'rand', 'posts_per_page' => 5, 'post__not_in' => array(get_the_id()), );

  18. des informations vraiment cool, j'ai essayé d'utiliser le plugin que vous avez mentionné, mais j'ai une grosse question.

    Comment faire en sorte que les articles aléatoires soient différents pour chaque visiteur ou appareil qui visite mon site ?

    parce que j'essaie de visiter mon site en utilisant un autre ordinateur portable et un smartphone, mais la publication aléatoire de ces 2 appareils est la même.

  19. Bonjour,

    Advanced Random Posts Widget est un très bon plugin, mais j'ai un problème.
    Comment pourriez-vous exclure le message actuel/actif lorsque vous affichez un message aléatoire ?
    Est-il possible de corriger cela ?

    Le problème est le même avec le code de la méthode 2.

    • Un PC, le WiFi et de la détermination. C'est tout ce dont vous avez besoin pour apprendre n'importe quoi de nos jours.

  20. merci pour ça. j'y pensais toujours, puisque par défaut les derniers posts sont visibles sur la page d'accueil elle-même. Merci pour ça, j'utiliserai certainement ce plugin

Laisser un commentaire

Merci d'avoir choisi de laisser un commentaire. N'oubliez pas que tous les commentaires sont modérés conformément à notre politique de commentaires, et votre adresse e-mail ne sera PAS publiée. N'utilisez PAS de mots-clés dans le champ nom. Ayons une conversation personnelle et significative.