wp_privacy_process_personal_data_erasure_page()
Mark erasure requests as completed after processing is finished.
This intercepts the Ajax responses to personal data eraser page requests, and monitors the status of a request. Once all of the processing has finished, the request is marked as completed.
Хуки из функции
Возвращает
Массив
. The filtered response.
Использование
wp_privacy_process_personal_data_erasure_page( $response, $eraser_index, $email_address, $page, $request_id );
- $response(массив) (обязательный)
- The response from the personal data eraser for the given page.
- $eraser_index(int) (обязательный)
- The index of the personal data eraser. Begins at 1.
- $email_address(строка) (обязательный)
- The email address of the user whose personal data this is.
- $page(int) (обязательный)
- The page of personal data for this eraser. Begins at 1.
- $request_id(int) (обязательный)
- The request ID for this personal data erasure.
Заметки
- Смотрите: wp_privacy_personal_data_erasure_page
Список изменений
С версии 4.9.6 | Введена. |
Код wp_privacy_process_personal_data_erasure_page() wp privacy process personal data erasure page WP 6.4.3
function wp_privacy_process_personal_data_erasure_page( $response, $eraser_index, $email_address, $page, $request_id ) { /* * If the eraser response is malformed, don't attempt to consume it; let it * pass through, so that the default Ajax processing will generate a warning * to the user. */ if ( ! is_array( $response ) ) { return $response; } if ( ! array_key_exists( 'done', $response ) ) { return $response; } if ( ! array_key_exists( 'items_removed', $response ) ) { return $response; } if ( ! array_key_exists( 'items_retained', $response ) ) { return $response; } if ( ! array_key_exists( 'messages', $response ) ) { return $response; } // Get the request. $request = wp_get_user_request( $request_id ); if ( ! $request || 'remove_personal_data' !== $request->action_name ) { wp_send_json_error( __( 'Invalid request ID when processing personal data to erase.' ) ); } /** This filter is documented in wp-admin/includes/ajax-actions.php */ $erasers = apply_filters( 'wp_privacy_personal_data_erasers', array() ); $is_last_eraser = count( $erasers ) === $eraser_index; $eraser_done = $response['done']; if ( ! $is_last_eraser || ! $eraser_done ) { return $response; } _wp_privacy_completed_request( $request_id ); /** * Fires immediately after a personal data erasure request has been marked completed. * * @since 4.9.6 * * @param int $request_id The privacy request post ID associated with this request. */ do_action( 'wp_privacy_personal_data_erased', $request_id ); return $response; }