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

Comment afficher les articles récents sous forme de liste déroulante dans WordPress

Vous connaissez probablement le widget Catégories dans WordPress. Récemment, l'un de nos lecteurs nous a demandé s'il était possible d'afficher également les articles récents dans une liste déroulante. Dans cet article, nous vous montrerons comment afficher les articles récents sous forme de liste déroulante dans WordPress.

Ajouter les articles récents sous forme de menu déroulant

Pourquoi et qui a besoin des articles récents dans une liste déroulante ?

WordPress est livré avec un widget d'articles récents intégré que vous pouvez ajouter à n'importe quelle barre latérale ou zone prête pour les widgets.

Ce widget affiche simplement une liste des articles récents, et vous pouvez choisir le nombre d'articles que vous souhaitez afficher. Mais si vous souhaitez afficher plus de 5 à 10 articles, la liste prendra beaucoup de place dans votre barre latérale.

Certains utilisateurs de WordPress peuvent avoir besoin d'un moyen compact d'afficher les articles récents. Dans ce cas, l'utilisation de listes déroulantes ou de listes rétractables peut vous aider à gagner de la place.

Examinons quelques méthodes différentes pour afficher les articles récents sous forme de menu déroulant dans WordPress.

Afficher les articles récents de WordPress dans un menu déroulant simple (code manuel)

Cette méthode utilise la fonction intégrée wp_get_recent_posts. Tout ce que vous avez à faire est de copier et coller le code suivant dans le fichier functions.php de votre thème ou dans un plugin spécifique au site.

function wpb_recentposts_dropdown() { 
$string .= '<select id="rpdropdown">
			<option  value="" selected>Select a Post</option>';

$args = array( 'numberposts' => '5', 'post_status' => 'publish' );

$recent_posts = wp_get_recent_posts($args);
	foreach( $recent_posts as $recent ){
		$string .= '<option value="' . get_permalink($recent["ID"]) . '">' .   $recent["post_title"].'</option> ';
	}

$string .= '</select>
			<script type="text/javascript"> var urlmenu = document.getElementById( "rpdropdown" ); urlmenu.onchange = function() {
      		window.open( this.options[ this.selectedIndex ].value, "_self" );
 			};
			</script>';

return $string;
} 
add_shortcode('rp_dropdown', 'wpb_recentposts_dropdown');
add_filter('widget_text','do_shortcode');

Vous pouvez maintenant utiliser le shortcode [rp_dropdown] dans vos articles, pages et widgets texte WordPress. Il ressemblera à ceci :

Articles récents dans un menu déroulant sur un site WordPress

Ajout d'articles récents rétractables à l'aide d'un plugin

La méthode ci-dessus liste simplement vos publications récentes dans un menu déroulant. Une autre façon de gagner de la place est d'ajouter une liste déroulante de publications récentes qui s'étend lorsque les utilisateurs cliquent dessus.

La première chose à faire est d'installer et d'activer le plugin Collapse-O-Matic. Il fonctionne dès l'installation, et il n'y a aucun réglage à configurer.

Le plugin vous permet simplement d'afficher n'importe quoi dans un menu déroulant à l'aide d'un shortcode.

Avant d'utiliser ce plugin, nous avons besoin d'un moyen d'afficher facilement les publications récentes partout où nous le souhaitons. Ajoutez simplement ce code au fichier functions.php de votre thème ou à un plugin spécifique au site.

function wpb_recentposts() { 

$string .= '<ul>';
$args = array( 'numberposts' => '5', 'post_status' => 'publish' );
$recent_posts = wp_get_recent_posts($args);
	foreach( $recent_posts as $recent ){
		$string .= '<li><a href="' . get_permalink($recent["ID"]) . '">' .   $recent["post_title"].'</a></li> ';
	}
$string .= '</ul>';
return $string;
} 
add_shortcode('recentposts', 'wpb_recentposts');
add_filter('widget_text','do_shortcode');

Ce code vous permet simplement d'afficher une liste de publications récentes en utilisant le shortcode [recentposts].

Nous allons maintenant ajouter notre shortcode dans le shortcode Collapse-O-Matic pour créer une liste déroulante de publications récentes.

Ajoutez simplement le shortcode comme ceci :

[expand title="Publications récentes"][recentposts][/expand]

Vous pouvez ajouter ce shortcode dans un widget de texte, des publications ou des pages de votre site WordPress. Voici à quoi cela ressemblait sur notre site de test.

Liste déroulante des articles récents

C'est tout, nous espérons que cet article vous a aidé à afficher les publications récentes sous forme de menu déroulant dans WordPress. Vous voudrez peut-être aussi consulter ces 6 conseils pour créer un calendrier éditorial percutant dans WordPress.

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

Avis : Notre contenu est financé par nos lecteurs. Cela signifie que si vous cliquez sur certains de nos liens, nous pouvons percevoir une commission. Voir 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

18 CommentsLeave a Reply

  1. Cher auteur,
    il y a une faute de frappe à la ligne 2 de votre fonction wpb_recentposts_dropdown() :
    ce devrait être " $string = … " au lieu de " $string .= … "

    • .= et = ont des utilisations légèrement différentes. Dans ce cas d'utilisation, ce n'est pas une faute de frappe.

      Admin

  2. Bonjour,

    J'ai installé le collapse-o-mattic et collé le code dans le fichier functions.php.
    Après cela, j'ai collé le shortcode [expand title=”Recent Posts”][recentposts][/expand] dans un textwidget, mais rien ne s'est passé.
    Il me manque quelque chose ?

    Cordialement, Yvonne

    • Vous voudrez placer le shortcode dans l'éditeur de texte plutôt que dans l'éditeur visuel pour vous assurer que le style ne bloque pas le fonctionnement du shortcode.

      Admin

  3. La ligne 3 contient une erreur. L'option de fermeture manque son "/". Cela génère une option vide dans le menu.

  4. Bonjour. J'ai utilisé le code ci-dessus pour afficher tous mes articles dans une liste déroulante, mais ils ne sont pas triés. J'ai deux questions ici :
    1. Comment puis-je trier les articles par titre ?
    2. Comment puis-je afficher les articles d'une catégorie spécifique dans une liste déroulante au lieu d'afficher tous les articles ?

  5. Bon article ! Comment peut-on le faire par une catégorie spécifique et pas seulement par toutes vos catégories ? De plus, peut-on le faire par ordre alphabétique ?

  6. Merci beaucoup pour votre aide précieuse. Je voudrais aussi afficher les catégories dans une liste déroulante, si vous pouvez m'aider avec ça... Mais maintenant, si je mets à jour mon Wordpress, est-ce même possible ? J'ai vu quelque part qu'ils parlaient de défis lors de la mise à jour de Wordpress et du risque de perdre des données en codant en dur les fonctions PHP.

  7. Excellent outil, merci pour cela !
    Est-il possible de trier la sortie des articles dans la liste par ordre alphabétique ?
    Merci d'avance pour votre réponse !

    Cordialement,
    Robert

  8. Est-il possible d'afficher la liste déroulante des articles avec un bouton pour soumettre ?

    ‘function wpb_recentposts_dropdown() { $string .= ‘ Sélectionnez votre école’

    $args = array( ‘numberposts’ => ‘5’, ‘post_status’ => ‘publish’ );

    $recent_posts = wp_get_recent_posts($args); foreach( $recent_posts as $recent ){ $string .= ” . $recent[“post_title”].’ ‘; }

    $string .= ‘ TROUVER UNE ÉCOLE MAINTENANT var urlmenu = document.getElementById( “submitschool” ); urlmenu.onclick = function() { window.open( this.options[ this.selectedIndex ].value, “_self” ); }; ‘;

    return $string; } add_shortcode(‘rp_dropdown’, ‘wpb_recentposts_dropdown’); add_filter(‘widget_text’,’do_shortcode’);

  9. C'est un excellent article. Les débutants comme moi peuvent comprendre la puissance de WordPress et de ses plugins grâce à de tels articles.

    Je serais éclairé si certains articles étaient écrits pour afficher un message sur une page spécifique et non sur tous les articles et pages.

    Cela aidera également les débutants si quelques articles sont écrits pour afficher un formulaire de saisie utilisateur qui peut être enregistré dans la base de données

  10. J'aime beaucoup le menu déroulant des articles récents. Comment puis-je contrôler la largeur de ce menu déroulant ? Il est par défaut trop long pour ma barre latérale.

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. Veuillez NE PAS utiliser de mots-clés dans le champ du nom. Ayons une conversation personnelle et significative.