#40399 closed defect (bug) (fixed)
Post Status Inherited not Supported with REST API
| Reported by: | dfenton | Owned by: | TimothyBlynJacobs |
|---|---|---|---|
| Priority: | normal | Milestone: | 5.6 |
| Component: | REST API | Version: | 4.7.3 |
| Severity: | normal | Keywords: | has-patch has-unit-tests |
| Cc: | Focuses: |
Description (last modified by )
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.
Change History (9)
This ticket was mentioned in Slack in #core-restapi by timothybjacobs. View the logs.
7 years ago
#3
@
7 years ago
- Description modified (diff)
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.
This ticket was mentioned in Slack in #core-restapi by timothybjacobs. View the logs.
7 years ago
#5
@
7 years ago
- Description modified (diff)
- Milestone Awaiting Review → Future Release
You should absolutely be able to PUT back the response from a GET request.
Agreed; assigning to Future Release, if anybody's keen to own this one it'd be a good thing to sort out in the next couple releases.
This ticket was mentioned in PR #653 on WordPress/wordpress-develop by TimothyBJacobs.
6 years ago
#7
- Keywords has-patch has-unit-tests added
Trac ticket: https://core.trac.wordpress.org/ticket/40399
TimothyBJacobs commented on PR #653:
6 years ago
#9
Fixed in e66f459435eb8ee2bad083a9e8703a5151fdc0b3.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)
Still valid as of 5.1-nightly. I just stumbled upon this while trying to reduce the maintenance load of a plugin by switching from AJAX to the REST API. A pity that the PostMeta models were removed from the API in the beta stage :(