The dashboard_recent_posts_query_args WordPress PHP filter allows you to modify the query arguments used for the Recent Posts widget on the dashboard.
Usage
add_filter('dashboard_recent_posts_query_args', 'custom_dashboard_recent_posts_query_args'); function custom_dashboard_recent_posts_query_args($query_args) { // your custom code here return $query_args; }
Parameters
$query_args
(array): The arguments passed to WP_Query to produce the list of posts.
More information
See WordPress Developer Resources: dashboard_recent_posts_query_args
Examples
Change the number of recent posts displayed
Modify the number of posts displayed in the Recent Posts widget to 10.
add_filter('dashboard_recent_posts_query_args', 'custom_post_count_recent_posts_widget'); function custom_post_count_recent_posts_widget($query_args) { $query_args['posts_per_page'] = 10; return $query_args; }
Display only posts from a specific category
Display only posts from the category with the slug “news” in the Recent Posts widget.
add_filter('dashboard_recent_posts_query_args', 'custom_category_recent_posts_widget'); function custom_category_recent_posts_widget($query_args) { $query_args['category_name'] = 'news'; return $query_args; }
Exclude posts from a specific category
Exclude posts from the category with the slug “internal” in the Recent Posts widget.
add_filter('dashboard_recent_posts_query_args', 'exclude_category_recent_posts_widget'); function exclude_category_recent_posts_widget($query_args) { $query_args['category__not_in'] = array(get_cat_ID('internal')); return $query_args; }
Order recent posts by title
Order the posts in the Recent Posts widget by their title in ascending order.
add_filter('dashboard_recent_posts_query_args', 'order_title_recent_posts_widget'); function order_title_recent_posts_widget($query_args) { $query_args['orderby'] = 'title'; $query_args['order'] = 'ASC'; return $query_args; }
Show only published posts
Display only published posts in the Recent Posts widget.
add_filter('dashboard_recent_posts_query_args', 'published_posts_recent_posts_widget'); function published_posts_recent_posts_widget($query_args) { $query_args['post_status'] = 'publish'; return $query_args; }