The is_wp_error() WordPress PHP function checks whether the given variable is a WordPress Error.
Usage
is_wp_error( $thing );
Example:
Input: $result
Output: true
or false
Parameters
$thing
(mixed) – The variable to check if it’s an instance of the WP_Error class.
More information
See WordPress Developer Resources: is_wp_error()
Related resource: The WP_Error class
Examples
Basic usage
Checking if a variable is a WordPress error and displaying an error message if it is.
$result = some_function_that_might_return_error(); if ( is_wp_error( $result ) ) { $error_string = $result->get_error_message(); echo '<div id="message" class="error"><p>' . $error_string . '</p></div>'; }
Inserting a user and handling errors
Creating a new user with wp_insert_user()
and handling errors using is_wp_error()
.
$email = '[email protected]'; $userdata = array( 'user_login' => $email, 'user_email' => $email, ); $user_id = wp_insert_user( $userdata ); if ( is_wp_error( $user_id ) ) { $error_code = array_key_first( $user_id->errors ); $error_message = $user_id->errors[$error_code][0]; echo '<div class="error">' . $error_message . '</div>'; }
Retrieving a post and handling errors
Getting a post by its ID and checking if the result is an error.
$post_id = 42; $post = get_post( $post_id ); if ( is_wp_error( $post ) ) { $error_message = $post->get_error_message(); echo '<div class="error">' . $error_message . '</div>'; } else { echo '<h1>' . $post->post_title . '</h1>'; }
Adding a custom taxonomy term and handling errors
Adding a new custom taxonomy term and checking for errors.
$term = 'New Term'; $taxonomy = 'custom_taxonomy'; $result = wp_insert_term( $term, $taxonomy ); if ( is_wp_error( $result ) ) { $error_message = $result->get_error_message(); echo '<div class="error">' . $error_message . '</div>'; } else { echo 'Term added successfully!'; }
Updating post meta data and handling errors
Updating a post’s metadata and checking for errors.
$post_id = 42; $meta_key = 'custom_meta_key'; $new_meta_value = 'New Value'; $result = update_post_meta( $post_id, $meta_key, $new_meta_value ); if ( is_wp_error( $result ) ) { $error_message = $result->get_error_message(); echo '<div class="error">' . $error_message . '</div>'; } else { echo 'Post meta updated successfully!'; }