Astra_API_Init::save_learn_progress( WP_REST_Request $request )
Save learn progress.
Description
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: admin/includes/class-astra-api-init.php
public function save_learn_progress( $request ) {
$chapter_id = $request->get_param( 'chapterId' );
$step_id = $request->get_param( 'stepId' );
$completed = $request->get_param( 'completed' );
// Get current progress.
$user_id = get_current_user_id();
$saved_progress = get_user_meta( $user_id, 'astra_learn_progress', true );
if ( ! is_array( $saved_progress ) ) {
$saved_progress = array();
}
// Initialize chapter array if it doesn't exist.
if ( ! isset( $saved_progress[ $chapter_id ] ) || ! is_array( $saved_progress[ $chapter_id ] ) ) {
$saved_progress[ $chapter_id ] = array();
}
// Update progress for this step in nested format.
$saved_progress[ $chapter_id ][ $step_id ] = (bool) $completed;
// Save to user meta.
update_user_meta( $user_id, 'astra_learn_progress', $saved_progress );
return new WP_REST_Response(
array(
'success' => true,
'message' => __( 'Progress saved successfully.', 'astra' ),
),
200
);
}
Expand full source code Collapse full source code View on Trac
Changelog
| Version | Description |
|---|---|
| 4.8.7 | Introduced. |