The get_settings_errors() WordPress PHP function fetches settings errors registered by add_settings_error() during the current page load.
Usage
get_settings_errors( string $setting = '', bool $sanitize = false );
Example:
Input:
get_settings_errors( 'my_custom_setting', true );
Output:
Array of settings errors.
Parameters
$setting(string, optional): Slug title of a specific setting whose errors you want. Default: ”.$sanitize(bool, optional): Whether to re-sanitize the setting value before returning errors. Default: false.
More information
See WordPress Developer Resources: get_settings_errors()
Examples
Display Errors for All Settings
Display settings errors for all settings registered.
What the code does:
function display_all_settings_errors() {
$settings_errors = get_settings_errors();
if ( ! empty( $settings_errors ) ) {
foreach ( $settings_errors as $error ) {
echo '<div class="' . $error['type'] . '"><p><strong>' . $error['message'] . '</strong></p></div>';
}
}
}
add_action( 'admin_notices', 'display_all_settings_errors' );
Display Errors for a Specific Setting
Display settings errors for a specific setting called ‘my_custom_setting’.
What the code does:
function display_specific_setting_errors() {
$setting = 'my_custom_setting';
$settings_errors = get_settings_errors( $setting );
if ( ! empty( $settings_errors ) ) {
foreach ( $settings_errors as $error ) {
echo '<div class="' . $error['type'] . '"><p><strong>' . $error['message'] . '</strong></p></div>';
}
}
}
add_action( 'admin_notices', 'display_specific_setting_errors' );
Add and Display a Custom Error
Add a custom error and display it using get_settings_errors().
What the code does:
function add_and_display_custom_error() {
add_settings_error( 'my_custom_setting', 'custom_error', 'This is a custom error!', 'error' );
$settings_errors = get_settings_errors( 'my_custom_setting' );
if ( ! empty( $settings_errors ) ) {
foreach ( $settings_errors as $error ) {
echo '<div class="' . $error['type'] . '"><p><strong>' . $error['message'] . '</strong></p></div>';
}
}
}
add_action( 'admin_notices', 'add_and_display_custom_error' );
Add and Display a Custom Notice
Add a custom notice and display it using get_settings_errors().
What the code does:
function add_and_display_custom_notice() {
add_settings_error( 'my_custom_setting', 'custom_notice', 'This is a custom notice!', 'updated' );
$settings_errors = get_settings_errors( 'my_custom_setting' );
if ( ! empty( $settings_errors ) ) {
foreach ( $settings_errors as $error ) {
echo '<div class="' . $error['type'] . '"><p><strong>' . $error['message'] . '</strong></p></div>';
}
}
}
add_action( 'admin_notices', 'add_and_display_custom_notice' );