The rest_convert_error_to_response() WordPress PHP function converts an error to a response object.
Usage
$result = rest_convert_error_to_response( $error );
Parameters
$error
(WP_Error) – Required. The WP_Error instance to be converted.
More information
See WordPress Developer Resources: rest_convert_error_to_response()
Examples
Converting a WP_Error instance to a WP_REST_Response
This example demonstrates how to convert a WP_Error instance to a WP_REST_Response using rest_convert_error_to_response().
$error = new WP_Error( 'invalid_request', 'Invalid request' ); $response = rest_convert_error_to_response( $error );
Handling a REST API request error
This example demonstrates how to handle an error in a REST API request by converting it to a response using rest_convert_error_to_response().
function handle_rest_request( WP_REST_Request $request ) { if ( empty( $request['param'] ) ) { $error = new WP_Error( 'missing_param', 'Missing required parameter' ); return rest_convert_error_to_response( $error ); } // Process the request and return the response }
Custom REST API endpoint with error handling
This example shows how to create a custom REST API endpoint that handles errors using rest_convert_error_to_response().
function custom_rest_endpoint( WP_REST_Request $request ) { if ( ! user_can( get_current_user_id(), 'manage_options' ) ) { $error = new WP_Error( 'permission_denied', 'You do not have permission to access this resource' ); return rest_convert_error_to_response( $error ); } // Process the request and return the response } add_action( 'rest_api_init', function () { register_rest_route( 'custom/v1', '/resource', array( 'methods' => 'GET', 'callback' => 'custom_rest_endpoint', ) ); } );
Converting a custom error to a response
This example demonstrates how to convert a custom error to a WP_REST_Response using rest_convert_error_to_response().
function custom_error_handler() { $custom_error = new WP_Error( 'custom_error', 'A custom error occurred' ); $response = rest_convert_error_to_response( $custom_error ); // Handle the response }
Handling a form submission error with REST API
This example demonstrates how to handle a form submission error with the REST API using rest_convert_error_to_response().
function process_form_submission( WP_REST_Request $request ) { if ( empty( $request['form_data'] ) ) { $error = new WP_Error( 'empty_form_data', 'Form data is empty' ); return rest_convert_error_to_response( $error ); } // Process the form submission and return the response } add_action( 'rest_api_init', function () { register_rest_route( 'custom/v1', '/submit-form', array( 'methods' => 'POST', 'callback' => 'process_form_submission', ) ); } );