LLMS_AJAX_Handler::llms_update_access_plans( array $request )
AJAX handler for creating and updating access plans via the metabox on courses & memberships
Parameters Parameters
- $request
-
(array) (Required) $_POST data.
Return Return
(array)
Source Source
File: includes/class.llms.ajax.handler.php
$metabox = new LLMS_Meta_Box_Product(); $post_id = absint( $request['post_id'] ); $metabox->post = get_post( $post_id ); $errors = array(); foreach ( $request['plans'] as $raw_plan_data ) { if ( empty( $raw_plan_data ) ) { continue; } $raw_plan_data = wp_unslash( $raw_plan_data ); // Ensure we can switch plans that used to be paid to free. if ( isset( $raw_plan_data['is_free'] ) && llms_parse_bool( $raw_plan_data['is_free'] ) && ! isset( $raw_plan_data['price'] ) ) { $raw_plan_data['price'] = 0; } $raw_plan_data['product_id'] = $post_id; // retained filter for backwards compat. $raw_plan_data = apply_filters( 'llms_access_before_save_plan', $raw_plan_data, $metabox ); $plan = llms_insert_access_plan( $raw_plan_data ); if ( is_wp_error( $plan ) ) { $errors[ $raw_plan_data['menu_order'] ] = $plan; } else { // retained hook for backwards compat. do_action( 'llms_access_plan_saved', $plan, $raw_plan_data, $metabox ); } } return array( 'errors' => $errors, 'html' => $metabox->get_html(), ); } /** * AJAX handler for persisting tracking events. * * @since 3.37.14
Expand full source code Collapse full source code View on GitHub
Changelog Changelog
Version | Description |
---|---|
3.33.1 | Use wp_unslash() before inserting access plan data. |
3.29.0 | Introduced. |