LLMS_REST_Access_Plans_Controller::prepare_object_for_response( LLMS_Access_Plan $access_plan, WP_REST_Request $request )
Prepare a single object output for response.
Parameters Parameters
- $access_plan
-
(LLMS_Access_Plan) (Required) LLMS Access Plan instance.
- $request
-
(WP_REST_Request) (Required) Full details about the request.
Return Return
(array)
Source Source
File: libraries/lifterlms-rest/includes/server/class-llms-rest-access-plans-controller.php
// Price. $data['price'] = $access_plan->is_free() ? 0 : $access_plan->get_price( 'price', array(), 'float' ); // Access expiration. $data['access_expiration'] = $access_plan->get( 'access_expiration' ); // Access expires date. if ( 'limited-date' === $data['access_expiration'] || 'edit' === $context ) { $data['access_expires'] = $access_plan->get_date( 'access_expires', 'Y-m-d H:i:s' ); } // Access length and period. if ( 'limited-period' === $data['access_expiration'] || 'edit' === $context ) { $data['access_length'] = $access_plan->get( 'access_length' ); $data['access_period'] = $access_plan->get( 'access_period' ); } // Availability restrictions, only returned for courses. if ( 'course' === $access_plan->get_product_type() ) { $data['availability_restrictions'] = $access_plan->has_availability_restrictions() ? array_map( 'absint', $access_plan->get_array( 'availability_restrictions' ) ) : array(); } // Enroll text. $data['enroll_text'] = $access_plan->get_enroll_text(); // Frequency. $data['frequency'] = $access_plan->get( 'frequency' ); // Length and period. if ( 0 < $data['frequency'] || 'edit' === $context ) { $data['length'] = $access_plan->get( 'length' ); $data['period'] = $access_plan->get( 'period' ); } // Post ID. $data['post_id'] = $access_plan->get( 'product_id' ); // Redirect forced. if ( ! empty( $data['availability_restrictions'] ) || 'edit' === $context ) { $data['redirect_forced'] = llms_parse_bool( $access_plan->get( 'checkout_redirect_forced' ) ); } // Redirect type. $data['redirect_type'] = $access_plan->get( 'checkout_redirect_type' ); // Redirect page. if ( 'page' === $data['redirect_type'] || 'edit' === $context ) { $data['redirect_page'] = $access_plan->get( 'checkout_redirect_page' ); } // Redirect url. if ( 'url' === $data['redirect_type'] || 'edit' === $context ) { $data['redirect_url'] = $access_plan->get( 'checkout_redirect_url' ); } // Permalink. $data['permalink'] = $access_plan->get_checkout_url( false ); // Sale enabled. $data['sale_enabled'] = llms_parse_bool( $access_plan->get( 'on_sale' ) ); // Sale start/end and price. if ( $data['sale_enabled'] || 'edit' === $context ) { $data['sale_date_start'] = $access_plan->get_date( 'sale_start', 'Y-m-d H:i:s' ); $data['sale_date_end'] = $access_plan->get_date( 'sale_end', 'Y-m-d H:i:s' ); $data['sale_price'] = $access_plan->get_price( 'sale_price', array(), 'float' ); } // SKU. $data['sku'] = $access_plan->get( 'sku' ); // Trial. $data['trial_enabled'] = $access_plan->has_trial(); if ( $data['trial_enabled'] || 'edit' === $context ) { $data['trial_length'] = $access_plan->get( 'trial_length' ); $data['trial_period'] = $access_plan->get( 'trial_period' ); $data['trial_price'] = $access_plan->get_price( 'trial_price', array(), 'float' ); } // Visibility. $data['visibility'] = $access_plan->get_visibility(); /** * Filters the access plan data for a response. * * @since 1.0.0-beta.18 * * @param array $data Array of lesson properties prepared for response. * @param LLMS_Access_Plan $access_plan LLMS Access Plan instance. * @param WP_REST_Request $request Full details about the request. */ $data = apply_filters( 'llms_rest_prepare_access_plan_object_response', $data, $access_plan, $request ); return $data; } /** * Format query arguments to retrieve a collection of objects * * @since 1.0.0-beta.18
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
1.0.0-beta.20 | Fixed return format of the access_expires property. Fixed sale date properties. |
1.0.0-beta.18 | |
1.0.0-beta-24 | Introduced. |