LLMS_REST_Posts_Controller::prepare_item_for_database( WP_REST_Request $request )
Prepares a single post for create or update.
Parameters Parameters
- $request
-
(WP_REST_Request) (Required) Request object.
Return Return
(array|WP_Error) Array of llms post args or WP_Error.
Source Source
File: libraries/lifterlms-rest/includes/abstracts/class-llms-rest-posts-controller.php
return $query_args;
}
/**
* Prepares a single post for create or update.
*
* @since 1.0.0-beta.1
* @since 1.0.0-beta.8 Initialize `$prepared_item` array before adding values to it.
*
* @param WP_REST_Request $request Request object.
* @return array|WP_Error Array of llms post args or WP_Error.
*/
protected function prepare_item_for_database( $request ) {
$prepared_item = array();
// LLMS Post ID.
if ( isset( $request['id'] ) ) {
$existing_object = $this->get_object( absint( $request['id'] ) );
if ( is_wp_error( $existing_object ) ) {
return $existing_object;
}
$prepared_item['id'] = absint( $request['id'] );
}
$schema = $this->get_item_schema();
// LLMS Post title.
if ( ! empty( $schema['properties']['title'] ) && isset( $request['title'] ) ) {
if ( is_string( $request['title'] ) ) {
$prepared_item['post_title'] = $request['title'];
} elseif ( ! empty( $request['title']['raw'] ) ) {
$prepared_item['post_title'] = $request['title']['raw'];
}
}
// LLMS Post content.
if ( ! empty( $schema['properties']['content'] ) && isset( $request['content'] ) ) {
if ( is_string( $request['content'] ) ) {
$prepared_item['post_content'] = $request['content'];
} elseif ( isset( $request['content']['raw'] ) ) {
$prepared_item['post_content'] = $request['content']['raw'];
}
}
// LLMS Post excerpt.
if ( ! empty( $schema['properties']['excerpt'] ) && isset( $request['excerpt'] ) ) {
if ( is_string( $request['excerpt'] ) ) {
$prepared_item['post_excerpt'] = $request['excerpt'];
} elseif ( isset( $request['excerpt']['raw'] ) ) {
$prepared_item['post_excerpt'] = $request['excerpt']['raw'];
}
}
// LLMS Post status.
if ( ! empty( $schema['properties']['status'] ) && isset( $request['status'] ) ) {
$status = $this->handle_status_param( $request['status'] );
if ( is_wp_error( $status ) ) {
return $status;
}
$prepared_item['post_status'] = $status;
}
// LLMS Post date.
if ( ! empty( $schema['properties']['date_created'] ) && ! empty( $request['date_created'] ) ) {
$date_data = rest_get_date_with_gmt( $request['date_created'] );
if ( ! empty( $date_data ) ) {
list( $prepared_item['post_date'], $prepared_item['post_date_gmt'] ) = $date_data;
$prepared_item['edit_date'] = true;
}
} elseif ( ! empty( $schema['properties']['date_gmt'] ) && ! empty( $request['date_gmt'] ) ) {
$date_data = rest_get_date_with_gmt( $request['date_created_gmt'], true );
if ( ! empty( $date_data ) ) {
list( $prepared_item['post_date'], $prepared_item['post_date_gmt'] ) = $date_data;
$prepared_item['edit_date'] = true;
}
}
// LLMS Post slug.
if ( ! empty( $schema['properties']['slug'] ) && isset( $request['slug'] ) ) {
$prepared_item['post_name'] = $request['slug'];
}
// LLMS Post password.
if ( ! empty( $schema['properties']['password'] ) && isset( $request['password'] ) ) {
$prepared_item['post_password'] = $request['password'];
}
// LLMS Post Menu order.
if ( ! empty( $schema['properties']['menu_order'] ) && isset( $request['menu_order'] ) ) {
$prepared_item['menu_order'] = (int) $request['menu_order'];
}
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 1.0.0-beta.8 | Initialize $prepared_item array before adding values to it. |
| 1.0.0-beta.1 | Introduced. |