sanitize_hex_color( string $color ): string|void

Sanitizes a hex color.

Description

Returns either '', a 3 or 6 digit hex color (with #), or nothing.
For sanitizing values without a #, see sanitize_hex_color_no_hash() .

Parameters

$colorstringrequired

Return

string|void

Source

function sanitize_hex_color( $color ) {
	if ( '' === $color ) {
		return '';
	}

	// 3 or 6 hex digits, or the empty string.
	if ( preg_match( '|^#([A-Fa-f0-9]{3}){1,2}$|', $color ) ) {
		return $color;
	}
}

Changelog

VersionDescription
3.4.0Introduced.

User Contributed Notes

  1. Skip to note 3 content

    It is usually most important to set the default value of the setting as well as its sanitization callback, which will ensure that no unsafe data is stored in the database.

    $wp_customize->add_setting( 'accent_color', array(
      'default' => '#f72525',
      'sanitize_callback' => 'sanitize_hex_color',
    ) );

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