public function create_item_permissions_check($request)
{
$post_type = get_post_type_object($this->post_type);
if (!empty($request['author']) && get_current_user_id() !== $request['author'] && !current_user_can($post_type->cap->edit_others_posts)) {
return new WP_Error('rest_cannot_edit_others', __('Sorry, you are not allowed to create posts as this user.'), array('status' => rest_authorization_required_code()));
}
if (!empty($request['sticky']) && !current_user_can($post_type->cap->edit_others_posts)) {
return new WP_Error('rest_cannot_assign_sticky', __('Sorry, you are not allowed to make posts sticky.'), array('status' => rest_authorization_required_code()));
}
if (!current_user_can($post_type->cap->create_posts)) {
return new WP_Error('rest_cannot_create', __('Sorry, you are not allowed to create posts as this user.'), array('status' => rest_authorization_required_code()));
}
if (!$this->check_assign_terms_permission($request)) {
return new WP_Error('rest_cannot_assign_term', __('Sorry, you are not allowed to assign the provided terms.'), array('status' => rest_authorization_required_code()));
}
return true;
}