[wp-trac] [WordPress Trac] #40399: Post Status Inherited not Supported with REST API
WordPress Trac
noreply at wordpress.org
Tue Jul 9 19:00:54 UTC 2019
#40399: Post Status Inherited not Supported with REST API
--------------------------+------------------------------
Reporter: dfenton | Owner: (none)
Type: defect (bug) | Status: new
Priority: normal | Milestone: Awaiting Review
Component: REST API | Version: 4.7.3
Severity: normal | Resolution:
Keywords: | Focuses:
--------------------------+------------------------------
Old description:
> I'm trying to use the REST API to update a post_meta field on an an image
> of post_type="attachment", which is itself attached to an existing post
> of post_type="post" that is published and password protected.
>
> Since the image is an attachment that is attached to another post,
> Wordpress has set the post_status of the attachment to "inherit".
>
> When I try to update the attachment from the REST API endpoint I'm
> getting the following error:
>
> {{{
> Uncaught Error: Syntax error, unrecognized expression:
> {"code":"rest_invalid_param","message":"Invalid parameter(s):
> status","data":{"status":400,"params":{"status":"status is not one of
> publish, future, draft, pending, private."}}}
> }}}
>
> It's clear in the documentation that post_status="inherit" isn't
> supported by the REST API for Media endpoints but I'm not sure if this is
> a bug or merely an oversight. My feeling is that since Wordpress supports
> and sets attachments to "inherit" as a post_status, that the API should
> accept that, particularly when it's perfectly happy to deliver that
> status to me on a GET request.
New description:
I'm trying to use the REST API to update a post_meta field on an an image
of post_type="attachment", which is itself attached to an existing post of
post_type="post" that is published and password protected.
Since the image is an attachment that is attached to another post,
WordPress has set the post_status of the attachment to "inherit".
When I try to update the attachment from the REST API endpoint I'm getting
the following error:
{{{
Uncaught Error: Syntax error, unrecognized expression:
{"code":"rest_invalid_param","message":"Invalid parameter(s):
status","data":{"status":400,"params":{"status":"status is not one of
publish, future, draft, pending, private."}}}
}}}
It's clear in the documentation that post_status="inherit" isn't supported
by the REST API for Media endpoints but I'm not sure if this is a bug or
merely an oversight. My feeling is that since Wordpress supports and sets
attachments to "inherit" as a post_status, that the API should accept
that, particularly when it's perfectly happy to deliver that status to me
on a GET request.
--
Comment (by TimothyBlynJacobs):
You should absolutely be able to `PUT` back the response from a `GET`
request. Perhaps we need to add a custom `validate_callback` the same way
we did for templates in #39996.
In the meantime, to work around this you should be able to omit the
`status` field from your request and WordPress will ignore it.
--
Ticket URL: <https://core.trac.wordpress.org/ticket/40399#comment:3>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform
More information about the wp-trac
mailing list