WP_REST_Templates_Controller::create_item( WP_REST_Request $request )
Creates a single template.
Parameters
- $request
-
(WP_REST_Request) (Required) Full details about the request.
Return
(WP_REST_Response|WP_Error) Response object on success, or WP_Error object on failure.
Source
File: wp-includes/rest-api/endpoints/class-wp-rest-templates-controller.php
public function create_item( $request ) {
$changes = $this->prepare_item_for_database( $request );
$changes->post_name = $request['slug'];
$result = wp_insert_post( wp_slash( (array) $changes ), true );
if ( is_wp_error( $result ) ) {
return $result;
}
$posts = get_block_templates( array( 'wp_id' => $result ), $this->post_type );
if ( ! count( $posts ) ) {
return new WP_Error( 'rest_template_insert_error', __( 'No templates exist with that id.' ) );
}
$id = $posts[0]->id;
$template = get_block_template( $id, $this->post_type );
$fields_update = $this->update_additional_fields_for_object( $template, $request );
if ( is_wp_error( $fields_update ) ) {
return $fields_update;
}
return $this->prepare_item_for_response(
get_block_template( $id, $this->post_type ),
$request
);
} Changelog
| Version | Description |
|---|---|
| 5.8.0 | Introduced. |
© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_rest_templates_controller/create_item