[wp-trac] [WordPress Trac] #31331: $post->post_date displays current time if status is pending or draft

WordPress Trac noreply at wordpress.org
Sat Feb 14 17:11:47 UTC 2015


#31331: $post->post_date displays current time if status is pending or draft
-------------------------------+-----------------------------
 Reporter:  danbrellis         |      Owner:
     Type:  defect (bug)       |     Status:  new
 Priority:  normal             |  Milestone:  Awaiting Review
Component:  Posts, Post Types  |    Version:  4.1
 Severity:  normal             |   Keywords:
  Focuses:                     |
-------------------------------+-----------------------------
 Create a new post and save as a draft or save as 'pending'. On single.php
 enter these lines of code:


 {{{
 global $post;
 var_dump(date("Y-m-d H:i:s")); //current time
 var_dump($post);
 }}}

 If you wait about 5 minutes to refresh the front-end page after saving the
 post as draft/pending, you'll notice that the current time and the
 $post->post_date are the same (accounting for timezone differences).
 Further more, if you refresh the page after another 5 minutes, the
 $post->post_date will change. However, the $post->post_date and
 $post->post_modified are different. When comparing to the database values,
 the $post->post_modified matches its database value, but $post->post_date
 will continue to match the current time and '''not''' what is in the
 database for `post_date`.

 It seems to me that the post object should reflect what is in the database
 regardless of the post_status. If a post is draft/pending, it is
 inconsistent to use post_date to note when the post was originally
 created.

 I can see the code that is responsible for this is on wp-
 includes/query.php on line 3527-3528:
 {{{
 if ( 'future' != $status )
 $this->posts[0]->post_date = current_time('mysql');
 }}}

 I apologize if I'm thinking about this wrongly.

--
Ticket URL: <https://core.trac.wordpress.org/ticket/31331>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list