You’re probably familiar with the Category widget in WordPress. Recently, one of our readers asked us if it was possible to display recent posts in a drop down as well. In this article, we will show you how to show recent posts as a drop down in WordPress.
Why and Who Needs Recent Posts in Drop Down?
WordPress comes with a built-in recent posts widget that you can add to any sidebar or widget ready area.
This widget simply displays a list of recent posts, and you can choose the number of posts you want to show. But if you want to show more than 5-10 posts, then the list will take a lot of space in your sidebar.
Some WordPress users may need a compact way to display recent posts. In that case, using drop downs or collapsible lists can help you save space.
Let’s take a look at couple of different ways to show recent posts as a drop down menu in WordPress.
Showing WordPress Recent Posts in a Plain Drop Down Menu (Manual Code)
This method uses the built-in wp_get_recent_posts function. All you need to do is copy and paste the following code in your theme’s functions.php file or a site-specific plugin.
Now you can use the shortcode [rp_dropdown] in your WordPress post, pages, and text widgets. It will look like this:
Adding Collapsible Recent Posts Using Plugin
The above method simply lists your recent posts in a drop down form. Another way to save space is by adding a collapsible list of recent posts which expands when users click on it.
First thing you need to do is install and activate the Collapse-O-Matic plugin. It works out of the box, and there are no settings for you to configure.
The plugin simply allows you to show anything in a collapsible menu using a shortcode.
Before we use this plugin, we need a way to easily show recent posts anywhere we want. Simply add this code to your theme’s functions.php file or a site-specific plugin.
$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’);
That’s all, we hope this article helped you show recent posts as drop down in WordPress. You may also want to see these 6 tips to create a killer editorial calendar in WordPress.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.