Opened 13 years ago
Closed 13 years ago
#21110 closed defect (bug) (invalid)
Post Dates in wp_get_recent_posts list
Reported by: |
|
Owned by: |
|
---|---|---|---|
Milestone: | Priority: | normal | |
Severity: | normal | Version: | 3.4 |
Component: | General | Keywords: | |
Focuses: | Cc: |
Description (last modified by )
Using WP 3.3.2, the following statement worked perfectly:
<?php $args = array( 'numberposts' => '3', 'post_status' => 'publish' ); $recent_posts = wp_get_recent_posts( $args ); foreach( $recent_posts as $recent ){ echo '<li id="date"><a href="' . get_permalink($recent["ID"]) . '" title="'.esc_attr($recent["post_title"]).'" >' . get_the_date('M d') . '</a></li><li><a href="' . get_permalink($recent["ID"]) . '" title="'.esc_attr($recent["post_title"]).'" >' . $recent["post_title"].'</a> - '.esc_attr($recent["post_excerpt"]).'</li><li id="breaker"></li>'; } ?>
However, since upgrading to 3.4 -- and subsequently to 3.4.1 -- the output contains the date on which the list appears vs. the individual post dates. For example,
- Apr 13 - Post Title - Post Summary
- Apr 13 - Post Title - Post Summary
- Apr 13 - Post Title - Post Summary
vs.
- Jun 13 - Post Title - Post Summary
- May 10 - Post Title - Post Summary
- Mar 01 - Post Title - Post Summary
Change History (6)
Note: See
TracTickets for help on using
tickets.
This code works the same way for me on both 3.3.2 and 3.4.1.
As stated in Codex,
get_the_date()
relies on$post
global, which this code doesn't set. This results in the date of the first or the last post in the main (or some other) loop being displayed, depending on where the code is called from.Setting
$post
inside theforeach()
loop makes it work as expected: