/**
* Check if a given request has access to delete meta for a post.
*
* @param WP_REST_Request $request Full details about the request.
* @return WP_Error|boolean
*/
public function delete_item_permissions_check($request)
{
$parent = get_post((int) $request['parent_id']);
if (empty($parent) || empty($parent->ID)) {
return new WP_Error('rest_post_invalid_id', __('Invalid post id.'), array('status' => 404));
}
if (!$this->parent_controller->check_read_permission($parent)) {
return new WP_Error('rest_forbidden', __('Sorry, you cannot view this post.'), array('status' => rest_authorization_required_code()));
}
$post_type = get_post_type_object($parent->post_type);
if (!current_user_can($post_type->cap->delete_post, $parent->ID)) {
return new WP_Error('rest_forbidden', __('Sorry, you cannot delete the meta for this post.'), array('status' => rest_authorization_required_code()));
}
return true;
}