This is a default feature which by default is set not to show the post date. Here is the part of the code responsible to show/hide the post date
<?php if ( $show_date ) : ?>
<span class="post-date"><?php echo get_the_date(); ?></span>
<?php endif; ?>
To enable the post date, just check the Display post date? checkbox
EDIT
Here is an idea how to change the post date format (or for that matter changing the post date to anything) for only the recent post widget
Here we will run a filter function on the get_the_date
filter inside the widget_display_callback
filter. We will use the parameters passed to the widget_display_callback
filter to target only the recent post widget only when the show_date
instance is set to true
add_filter( \'widget_display_callback\', function ( $instance, $widget_instance )
{
if ( $widget_instance->id_base === \'recent-posts\'
&& $instance[\'show_date\'] === true
) {
add_filter( \'get_the_date\', function ( $the_date, $d, $post )
{
// Set new date format
$d = \'Y-m-d\';
// Set new value format to $the_date
$the_date = mysql2date( $d, $post->post_date );
return $the_date;
}, 10, 3 );
}
return $instance;
}, 10, 2 );
You can use the idea above to target the post title and permalink of the post via the the_title
and the post_link
filters respectively in the recent posts widget. The above idea is also not just restricted to the recent post widget.
If you need anymore control over the output, I would suggest that you copy the recent posts widget to your custom plugin and then modifying it as necessary