add_settings_error( string $setting, string $code, string $message, string $type = ‘error’ )

Registers a settings error to be displayed to the user.

Description

Part of the Settings API. Use this to show messages to users about settings validation problems, missing settings or anything else.

Settings errors should be added inside the $sanitize_callback function defined in register_setting() for a given setting to give feedback about the submission.

By default messages will show immediately after the submission that generated the error.
Additional calls to settings_errors() can be used to show errors even when the settings page is first accessed.

Parameters

$settingstringrequired
Slug title of the setting to which this error applies.
$codestringrequired
Slug-name to identify the error. Used as part of 'id' attribute in HTML output.
$messagestringrequired
The formatted message text to display to the user (will be shown inside styled <div> and <p> tags).
$typestringoptional
Message type, controls HTML class. Possible values include 'error', 'success', 'warning', 'info'. Default 'error'.

Default:'error'

Source

function add_settings_error( $setting, $code, $message, $type = 'error' ) {
	global $wp_settings_errors;

	$wp_settings_errors[] = array(
		'setting' => $setting,
		'code'    => $code,
		'message' => $message,
		'type'    => $type,
	);
}

Changelog

VersionDescription
5.3.0Added warning and info as possible values for $type.
3.0.0Introduced.

User Contributed Notes

  1. Skip to note 2 content

    Basic Example

    function change( $data ) {
    
        $message = null;
        $type = null;
    
        if ( null != $data ) {
    
            if ( false === get_option( 'myOption' ) ) {
    
                add_option( 'myOption', $data );
                $type = 'updated';
                $message = __( 'Successfully saved', 'my-text-domain' );
    
            } else {
    
                update_option( 'myOption', $data );
                $type = 'updated';
                $message = __( 'Successfully updated', 'my-text-domain' );
    
            }
    
        } else {
    
            $type = 'error';
            $message = __( 'Data can not be empty', 'my-text-domain' );
    
        }
    
        add_settings_error(
            'myUniqueIdentifyer',
            esc_attr( 'settings_updated' ),
            $message,
            $type
        );
    
    }

You must log in before being able to contribute a note or feedback.