The rest_application_password_check_errors() WordPress PHP function checks for errors when using application password-based authentication.
Usage
$result = rest_application_password_check_errors($result);
Parameters
$result(WP_Error|null|true): Required. Error from another authentication handler, null if we should handle it, or another value if not.
More information
See WordPress Developer Resources: rest_application_password_check_errors
Examples
Basic error checking with application password
// In this example, we'll check if there are any errors when using application password authentication.
add_filter('rest_authentication_errors', 'check_application_password_errors', 10, 1);
function check_application_password_errors($result) {
if (is_wp_error($result)) {
$result = **rest_application_password_check_errors**($result);
}
return $result;
}
Handling authentication error
// In this example, we'll handle an authentication error when using application password authentication.
add_filter('rest_authentication_errors', 'handle_authentication_error', 10, 1);
function handle_authentication_error($result) {
if (is_wp_error($result)) {
$result = **rest_application_password_check_errors**($result);
if (is_wp_error($result)) {
// Handle the error, e.g., show a custom error message
$result->add('custom_error', 'There was an error with application password authentication.');
}
}
return $result;
}
Customizing authentication error message
// In this example, we'll customize the error message for application password authentication.
add_filter('rest_authentication_errors', 'customize_authentication_error', 10, 1);
function customize_authentication_error($result) {
if (is_wp_error($result)) {
$result = **rest_application_password_check_errors**($result);
if (is_wp_error($result)) {
// Remove the default error message
$result->remove('rest_application_password_invalid');
// Add a custom error message
$result->add('custom_error', 'Please check your application password and try again.');
}
}
return $result;
}
Bypassing application password error
// In this example, we'll bypass the application password error for specific user roles.
add_filter('rest_authentication_errors', 'bypass_application_password_error', 10, 1);
function bypass_application_password_error($result) {
if (is_wp_error($result)) {
$user = wp_get_current_user();
if (in_array('administrator', $user->roles)) {
// Bypass the error for administrators
$result = null;
} else {
$result = **rest_application_password_check_errors**($result);
}
}
return $result;
}
Logging application password errors
// In this example, we'll log application password errors to a custom log file.
add_filter('rest_authentication_errors', 'log_application_password_errors', 10, 1);
function log_application_password_errors($result) {
if (is_wp_error($result)) {
$result = **rest_application_password_check_errors**($result);
if (is_wp_error($result)) {
// Log the error to a custom log file
error_log('Application password error: ' . $result->get_error_message(), 3, 'app_password_errors.log');
}
}
return $result;
}