Ticket #4489 (closed defect (bug): fixed)
WordPress 2.2 broke default comment and ping status for XML-RPC
| Reported by: |
|
Owned by: |
|
|---|---|---|---|
| Priority: | normal | Milestone: | 2.2.1 |
| Component: | Administration | Version: | 2.2 |
| Severity: | normal | Keywords: | |
| Cc: | redsweater |
Description
Some good changes that went into xmlrpc.php for the 2.2 milestone inadvertently broke the behavior of WordPress for comment and ping status. I don't have time to put together a patch right now, but the summary of the problem is observed by searching on
if(isset($content_structmt_allow_comments?)) {
and
if(isset($content_structmt_allow_pings?)) {
In xlmrpc.php. Note that the new structure of this logic (new to 2.2) causes the default_comment_status and default_ping_status values never to be used unless the client attempted to supply a value.
The fix is to make sure that the default status values are used when the content structs are NOT set.
I think this should be considered a higher priority than 2.3, since it's a regression in 2.2 from previous releases.
Thanks! Daniel Jalkut Red Sweater Software
(NOTE: This bug is still present in trunk and with the latest changes proposed by http://trac.wordpress.org/ticket/4469. I'm writing a separate bug because that issue is not scheduled until 2.3. I'll also add some comments to that issue, however.)
Change History
comment:1
redsweater — 5 years ago
comment:4
josephscott — 5 years ago
I've updated http://trac.wordpress.org/ticket/4469 with a new patch that addresses this issue as well.
comment:5
markjaquith — 5 years ago
Thanks for the report, Daniel!
Does [5730] fix it?
comment:6
redsweater — 5 years ago
Hi Mark - yes the fix for [5730] looks good to me, and in my quick tests on wordpress.com it seemed to be behaving as desired.
comment:7
foolswisdom — 5 years ago
- Status changed from new to closed
- Resolution set to fixed
- Milestone changed from 2.2.2 to 2.2.1
Confirmed in 2.2.1 rc.

I should have been more explicit about the end-user behavior. With the bug in 2.2, users of clients which by default do not set any value for the comments or pings status, find that the posts acquire the value of whatever an uninitialized variable is in PHP. It seems to be 0 - that is, comments and pings are forced to OFF.
This is frustrating to users who have been used to the behavior of comments "just working."