Ticket #10244 (closed defect (bug): fixed)
metaWeblog.getPost XML-RPC method should return the correct date/time for the date_created_gmt field for draft posts
| Reported by: |
|
Owned by: |
|
|---|---|---|---|
| Priority: | normal | Milestone: | 2.8.5 |
| Component: | XML-RPC | Version: | 2.8 |
| Severity: | normal | Keywords: | has-patch |
| Cc: | josephscott |
Description
Because WP uses post_date_gmt database field internally to trigger certain events draft posts don't get a valid date/time (it uses 0000-00-00 00:00:00), but they do get a valid post_date entry in the DB.
XML-RPC clients run into problems when calling metaWeblog.getPost on drafts because of this. The dateCreated field uses the DB post_date field for the draft and the date_created_gmt uses the post_date_gmt DB field. So the response has dateCreated with a valid date and date_created_gmt with some screwy date (usually 1969 or 1999).
Seems the more correct thing to do would be to provide the right GMT date/time in the date_created_gmt field for drafts. I'm including a patch that will populate the date_created_gmt field when metaWeblog.getPost is called on a draft by calling get_gmt_from_date() and then tweaking the result to be correctly formatted for the XML-RPC response.
I consider this a bug and would like to see it get into the 2.8.1 release.
Attachments
Change History
- Status changed from new to closed
- Resolution set to fixed
comment:3
josephscott — 2 years ago
- Status changed from closed to reopened
- Resolution fixed deleted
I'm re-opening this ticket because there are other methods that return an invalid date/time for the date_created_gmt field for drafts. I've gone through and updated all of these locations to provide a valid value based post_date, but only if the post_status is draft.
comment:4
josephscott — 2 years ago
This should also go into the 2.8 branch, if there's another release from there it will be good to get these included.
Can we not extend get_gmt_from_date to take a format string as a second parameter rather than having all that copy&paste code!
- Status changed from reopened to closed
- Resolution set to fixed
- Status changed from closed to reopened
- Resolution fixed deleted
- Milestone changed from 2.8.1 to 2.8.5
Reopen for 2.8 branch

