apply_filters( "sanitize_option_{$option}", string $value, string $option, string $original_value )

Filters an option value following sanitization.


$value string
The sanitized option value.
$option string
The option name.
$original_value string
The original value passed to the function.

Top ↑

More Information

There is one filter per option name; the $option in the filter name stands for the name (e.g. ‘sanitize_option_blogname‘, ‘sanitize_option_siteurl‘). You can use this filter to define a sanitizer for your own options. See the notes for sanitize_option() for a list of existing options.

Filter existing options

add_filter('sanitize_option_admin_email', 'sanitize_builtin_option', 10, 2);
add_filter('sanitize_option_new_admin_email', 'sanitize_builtin_option', 10, 2);

function sanitize_builtin_option($value, $option) {

Filter your own options

add_filter('sanitize_option_feed_url', 'sanitize_url', 10, 2);
add_filter('sanitize_option_wpi_endpoint', 'sanitize_url', 10, 2);
add_filter('sanitize_option_contact_email', 'sanitize_email');

function sanitize_url($value, $option) {

function sanitize_email($value, $option) {

Top ↑


File: wp-includes/formatting.php. View all references

return apply_filters( "sanitize_option_{$option}", $value, $option, $original_value );

Top ↑


Version Description
4.3.0 Added the $original_value parameter.
2.3.0 Introduced.

Top ↑

User Contributed Notes

  1. Skip to note 1 content
    Contributed by Steven Lin

    Example Migrated from Codex:

    add_option('blocksize', 200); # 256 gets stored for blocksize
    add_filter('sanitize_option_blocksize', 'sanitize_blocksize');
    if (! function_exists('lg')) {
        function lg($x) {
            return log($x) / log(2);
    function sanitize_blocksize($value) {
        return pow(2, ceil(lg($value)));

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