LLMS_REST_Memberships_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/server/class-llms-rest-memberships-controller.php
protected function prepare_item_for_database( $request ) {
$prepared_item = parent::prepare_item_for_database( $request );
$schema = $this->get_item_schema();
// Restriction action.
if ( ! empty( $schema['properties']['restriction_action'] ) && isset( $request['restriction_action'] ) ) {
$prepared_item['restriction_redirect_type'] = $request['restriction_action'];
}
// Restriction page id.
if ( ! empty( $schema['properties']['restriction_page_id'] ) && isset( $request['restriction_page_id'] ) ) {
$page = get_post( $request['restriction_page_id'] );
if ( $page && is_a( $page, 'WP_Post' ) ) {
$prepared_item['redirect_page_id'] = $request['restriction_page_id'];
} else {
$prepared_item['redirect_page_id'] = 0;
}
}
// Restriction URL.
if ( ! empty( $schema['properties']['restriction_url'] ) && isset( $request['restriction_url'] ) ) {
$prepared_item['redirect_custom_url'] = $request['restriction_url'];
}
// Sales page id.
if ( ! empty( $schema['properties']['sales_page_page_id'] ) && isset( $request['sales_page_page_id'] ) ) {
$page = get_post( $request['sales_page_page_id'] );
if ( $page && is_a( $page, 'WP_Post' ) ) {
$prepared_item['sales_page_content_page_id'] = $request['sales_page_page_id'];
} else {
$prepared_item['sales_page_content_page_id'] = 0;
}
}
// Sales page type.
if ( ! empty( $schema['properties']['sales_page_type'] ) && isset( $request['sales_page_type'] ) ) {
$prepared_item['sales_page_content_type'] = $request['sales_page_type'];
}
// Sales page URL.
if ( ! empty( $schema['properties']['sales_page_url'] ) && isset( $request['sales_page_url'] ) ) {
$prepared_item['sales_page_content_url'] = $request['sales_page_url'];
}
/**
* Filters the membership data for a response.
*
* @since 1.0.0-beta.9
*
* @param array $prepared_item Array of membership item properties prepared for database.
* @param WP_REST_Request $request Full details about the request.
* @param array $schema The item schema.
*/
$prepared_item = apply_filters( 'llms_rest_pre_insert_membership', $prepared_item, $request, $schema );
return $prepared_item;
}
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
| Version | Description |
|---|---|
| 1.0.0-beta.9 | Introduced. |