How to Create a Most Recent Posts Dashboard Widget in WordPress

Home » Snippets » How to Create a Most Recent Posts Dashboard Widget in WordPress
0

Created with:

Visibility: 

public

Creator: WPTurbo Team

Customize with WPTurbo AI
X

Add Snippet To Project

New Project
Add To Existing Project

Are you tired of having to navigate through multiple screens just to see the most recent posts on your WordPress site? Wish there was an easier way to stay updated on your content without the hassle? You’re in luck! In this article, we’ll show you how to create a customized dashboard widget that will display your most recent posts, allowing you to conveniently keep track of your latest content in one place. Say goodbye to wasted time and hello to a more efficient workflow with this helpful tutorial. Let’s dive in!

					function wpturbo_recent_posts_dashboard_widget() {
    // Get the most recent posts
    $args = array(
        'post_type'      => 'post',
        'posts_per_page' => 5,
        'orderby'        => 'date',
        'order'          => 'DESC',
    );
    $recent_posts = new WP_Query( $args );

    // Display the widget content
    if ( $recent_posts->have_posts() ) {
        echo '<ul>';
        while ( $recent_posts->have_posts() ) {
            $recent_posts->the_post();
            echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
        }
        echo '</ul>';
    } else {
        echo 'No recent posts found.';
    }

    // Reset post data
    wp_reset_postdata();
}
 
function wpturbo_add_recent_posts_dashboard_widget() {
    wp_add_dashboard_widget(
        'wpturbo_recent_posts_dashboard_widget',
        'Recent Posts',
        'wpturbo_recent_posts_dashboard_widget'
    );
}
add_action( 'wp_dashboard_setup', 'wpturbo_add_recent_posts_dashboard_widget' );
				

The code snippet provided above allows you to create a custom dashboard widget in WordPress that displays the most recent posts on your site.

Let’s break down how the code works.

First, we define a function called wpturbo_recent_posts_dashboard_widget(). This function will be responsible for retrieving the most recent posts and displaying them in the dashboard widget.

// Get the most recent posts
$args = array(
    'post_type'      => 'post',
    'posts_per_page' => 5,
    'orderby'        => 'date',
    'order'          => 'DESC',
);
$recent_posts = new WP_Query( $args );

In this section, we use the WP_Query class to query the database and retrieve the most recent posts. We specify the arguments for the query, including the post type (post), the number of posts to retrieve (posts_per_page), and the order in which to display them (orderby and order).

Next, we check if there are any recent posts to display.

// Display the widget content
if ( $recent_posts->have_posts() ) {
    echo '<ul>';
    while ( $recent_posts->have_posts() ) {
        $recent_posts->the_post();
        echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
    }
    echo '</ul>';
} else {
    echo 'No recent posts found.';
}

If there are recent posts, we use a while loop to iterate through each post and display its title as a clickable link. We use the get_permalink() function to get the URL of the post and the get_the_title() function to get the title.

If there are no recent posts, we display a message saying "No recent posts found."

After displaying the widget content, we need to reset the global $post variable.

// Reset post data
wp_reset_postdata();

Finally, we define another function called wpturbo_add_recent_posts_dashboard_widget() that adds the custom widget to the dashboard.

function wpturbo_add_recent_posts_dashboard_widget() {
    wp_add_dashboard_widget(
        'wpturbo_recent_posts_dashboard_widget',
        'Recent Posts',
        'wpturbo_recent_posts_dashboard_widget'
    );
}
add_action( 'wp_dashboard_setup', 'wpturbo_add_recent_posts_dashboard_widget' );

We use the wp_add_dashboard_widget() function to add a new widget to the dashboard. We pass in a unique ID for the widget, a title for the widget ("Recent Posts" in this case), and the name of the function that will render the widget content (wpturbo_recent_posts_dashboard_widget).

Finally, we use the add_action() function to hook the wpturbo_add_recent_posts_dashboard_widget() function to the wp_dashboard_setup action, which ensures that the widget is added to the dashboard.

Register an account to save your snippets or go Pro to get more features.